Des FPGA chez AWS

Le 30 novembre 2016, AWS a lancé en preview ses premières instances F1 intégrant des FPGA Xilinx UltraScale+ VU9P (1 FPGA pour les instances f1.2xlarge et 8 FPGA pour les instances f1.16xlarge).

Mais à quoi peuvent bien servir ces types d’instances ?

En gros et pour faire très simple, il y’a trois types de circuits électroniques :

  • Les microprocesseurs CISC et RISC, ce sont les CPU classiques, permettant de faire de tas de choses différentes et adjoints de circuits spécifiques pour améliorer les traitements de sécurité (chiffrement) et le multimédia (MMX à AVX512 en passant par SSE) ;
  • Les ASIC, circuits dédiés à des usages spécifiques, très rapides, mais demandant des années de développement, donc très peu souples. Historiquement, on trouve ces circuits dans les équipements dédiés à un usage simple comme les commutateurs et les routeurs.
  • Les FPGA (Field-Programmable Gate Array), circuits ASIC reprogrammables avec un langage spécifique qui revient à une forme de fichier de configuration gérant les flux de bits. Quasiment aussi rapide que les ASIC et permettant les traitements parallèles par nature.

Pour les curieux, vous pouvez lire le rapport suivant qui détaille le fonctionnement des FPGA en français :
Rapport Enssat

L’intérêt des FPGA est donc d’être capable de réaliser des tâches répétitives très rapidement, tout en ayant la possibilité d’être reprogrammés pour changer de traitement : Recherche en génomique, analyses financières, traitement vidéo en temps réel, recherche et analyse de données Big Data et sécurité.
C’est d’ailleurs pour cette raison que les FPGA sont très appréciés pour les calculs de cryptanalyse, pour casser les algorithmes de chiffrement ou construire des systèmes de minage de bitcoins.

Xilinx, le constructeur des circuits FPGA utilisés par AWS est d’ailleurs utilisé pour construire des systèmes de minage de bitcoins et vous pouvez facilement trouver des exemples d’implémentations sur internet.
Un exemple de code source pour minage de Bitcoin avec des FPGA Xilinx.

A quand les premiers essais de cassage de condensat ou de mots de passe avec des instances AWS F1 ? 😉