Accélérer avec des FPGA, une nouvelle tendance ?

Parmi les éléments constitutifs des prochaines infrastructures de Big Data et de Machine Learning nous pourrions bientôt trouver en bonne place les FPGA. Des composants reprogrammables qui se sont fait un nom dans le trading haute fréquence, et qui sont maintenant prêts à passer à la vitesse supérieure.

Les FPGA sont des composants reprogrammables. Il est ainsi possible de redéfinir leur configuration avec du code. Un FPGA – Field-programmable gate array – est constitué d’une matrice reliant divers blocs fonctionnels. En reconfigurant cette matrice, il est littéralement permis de se créer un composant sur mesure.

« La reprogrammabilité hardware est apportée par le FPGA, résume Jacques Cesbron, South EMEA PSG Sales Director, Intel. Elle permet de reconfigurer le hardware à la volée, en fonction du workload. Tout en ayant un rapport performance/consommation optimal. Nous disposons de différentes gammes de FPGA chez Intel : entrée de gamme Cyclone, milieu de gamme Arria et haut de gamme Stratix. »

Pour des tâches spécifiques et répétitives

Ce type de composant est idéal pour des tâches répétitives devant être réalisées un grand nombre de fois. Une offre hardware définie sur mesure se montre alors bien plus efficace qu’un processeur classique, ou même qu’un accélérateur comme un Xeon Phi ou un GPU.

L’utilisation qui a fait connaître les FPGA dans le monde de l’entreprise, c’est le trading haute fréquence, bien connu des milieux financiers (HFT, pour high-frequency trading). Mais les FPGA sont adaptés à d’autres utilisations : « Recherche pétrolière, médicale, astronomique, nucléaire, réseaux neuronaux… Tous les domaines qui ont besoin de traiter de la data et d’en extraire de la valeur ont intérêt à utiliser des FPGA, » explique Jacques Cesbron.

Le Big Data et le Machine Learning, qui manipulent tous deux des masses importantes de données, sont des candidats de choix pour une accélération par les FPGA. Nous pouvons également trouver cette technologie à d’autres niveaux. Par exemple sur la couche réseau, où elle permet de l’inspection avancée de paquets en temps réel. Mais aussi dans le secteur du chiffrement des données. Différents usages qui nécessiteront des FPGA de capacités diverses.

‘Programmabilité’ : le talon d’Achille des FPGA

Configurer un composant pour le transformer en outil hardware spécialisé n’est pas aussi aisé que d’écrire du code afin de développer un outil logiciel. La souplesse des FPGA se veut ainsi moins grande que celle de coprocesseurs comme les Xeon Phi.

Fort heureusement, le support OpenCL s’invite maintenant dans le monde des FPGA et facilite ainsi grandement la mise au point de solutions, en ajoutant aux FPGA une couche d’abstraction bienvenue. Une aubaine.

Le Cloud est une solution efficace et simple pour s’essayer au monde des FPGA sans investir dans du matériel spécifique. Le Cloud Microsoft Azure intègre ainsi des FPGA Altera Stratix V. En France, OVH propose des serveurs équipés de FPGA Altera Arria 10, dans le cadre de ses services d’innovation RunAbove.