Depuis cette semaine, les serveurs PowerEdge R640, R740 et R740XD de Dell et les serveurs Primergy RX2540 M4 de Fujitsu sont livrés avec des circuits intégrés reprogrammables FPGA Arria 10 GX d’Intel. Pour répondre aux exigences de performance des charges de travail des environnements informatiques intensifs, les FPGA doivent fonctionner avec des processeurs Intel Xeon. L’évolution est importante, car jusqu'à présent, ces circuits intégrés reprogrammables FPGA étaient rarement proposés en option dans les serveurs destinés aux datacenters d'entreprise. « Plus largement, l’objectif est d’encourager l'adoption et de faciliter l'accessibilité à l'accélération basée sur le FPGA à un plus grand nombre d'utilisateurs », a déclaré Reynette Au, vice-présidente du marketing, Programmable Solutions Group, d’Intel.
Des FPGA personnalisables pour des charges de travail spécifiques
Les FPGA peuvent être programmés, après fabrication, pour accélérer diverses charges de travail. Ces types de circuits sont de plus en plus utilisés dans des domaines comme l'apprentissage machine, les applications financières spécialisées, le transcodage vidéo et la génomique, généralement pour des charges de travail pouvant tirer parti du traitement parallèle. Ce n'est pas un hasard si ces charges de travail concernent des marchés marqués par l’explosion des données. Pour les entreprises qui peuvent exploiter ces données, ces marchés sont aussi de plus en plus lucratifs. Les GPU, également capables de faire du traitement parallèle, servent aussi pour ces charges de travail, mais à la différence des FPGA, les GPU ne sont pas personnalisables pour répondre à des workloads spécifiques. Par ailleurs, sur les FPGA, les développeurs ont la possibilité de fermer des accès qui ne sont pas utilisés, et donc de réduire la consommation d'énergie nécessaire à l’exécution d’une tâche spécifique.
Associés à une puce Xeon, les circuits FPGA d'Altera viennent accélérer les calculs dédiés.
Jusqu’à présent, les FPGA ont été essentiellement utilisés par des organismes gouvernementaux, des institutions scientifiques, de gros fabricants et des entreprises technologiques comme Microsoft, soit parce qu’ils ont des exigences particulières en matière de traitement des données soit parce qu’ils occupent une position suffisamment dominante sur le marché, et d'argent comptant, pour justifier l’usage de serveurs personnalisés avec des capacités d’accélération intégrées.
Les FPGA ont également mis les programmeurs face à des défis d’apprentissage considérables. Pendant des années, la personnalisation des FPGA s'est faite via les Hardware Description Languages (HDL), plutôt qu’avec les langages de niveau supérieur comme c’est le cas pour les autres puces.
L’obstacle de la programmation
« Parce que les circuits FPGA sont plus difficiles à programmer qu'un CPU et que les outils de programmation disponibles ne sont pas aussi matures que ceux des GPU, il a fallu beaucoup de temps pour que les FPGA se démocratisent », a déclaré Patrick Moorhead, fondateur de Moor Insights & Strategy. Mais ces dernières années, les fabricants de circuits intégrés reprogrammables ont investi dans le développement de piles logicielles en support des puces. Par exemple, pour les cartes Arria 10 GX, Intel a fourni aux développeurs un SDK FPGA pour OpenCL, le logiciel Quartus Prime Pro Edition et un Stack d’Acceleration pour processeur Intel Xeon intégrant des circuits FPGA. « La mise à disposition d’une pile logicielle et la simplification de la programmation d'un FPGA nous permet de cibler une communauté de développeurs beaucoup plus large », a expliqué Reynette Au. « Nous pensons que nous avons supprimé l’un des obstacles à l'adoption des FPGA pour les applications grand public à haut volume », a-t-elle ajouté. Néanmoins, les développeurs ont besoin de compétences plus spécifiques pour programmer les FPGA qu’il n’en faut pour les CPU.
Afin d’encourager l’adoption des FPGA par des entreprises qui ne disposent peut-être pas de cette expertise en interne, Intel a développé avec des tiers des piles d’accélération logicielle pré-construites permettant de répondre à des charges de travail particulières. La sortie des cartes d'accélération pour serveurs Fujitsu et Dell permet à Intel de montrer le travail réalisé avec ses partenaires. Par exemple, Levyx, qui développe des applications big data, affirme qu’avec le serveur Dell R640 équipé des cartes FPGA Arria 10 FX et tournant sous système d'exploitation CentOS 7.4, elle a accéléré de plus de deux fois des simulations boursières par rapport aux implémentations Spark traditionnelles. Swarm64, un éditeur qui développe des systèmes de bases de données relationnelles, utilise également le serveur Dell R640 avec des FPGA Arria 10 GX et CentOS 7.4 pour accélérer l'analyse des données, même si son implémentation utilise un CPU Xeon différent du système testé par Levyx. Les serveurs Fujitsu et Dell intégrant les cartes Arria 10 GX ont été validés pour Red Hat Enterprise Linux 7.4 et CentOS 7.4.
Autre circuit FPGA issu du rachat d'Altera, le Stratix 10 est gravé en 14 nm par Intel.
Intel a acquis la ligne Arria FPGA lors du rachat d’Altera en décembre 2015 pour 16,7 milliards de dollars. L'équipe d'Altera a aussi développé la gamme de FPGA Stratix, entre autres choses. Intel a indiqué que des cartes Stratix équiperont de futurs serveurs d'entreprise. Stratix 10 est fabriqué selon le procédé Tri-Gate à 14 nm d'Intel, alors que l’Arria 10 (comme Cyclone 10) sont fabriqués selon le procédé planaire à 20 nm du fabricant taïwanais TSMC.
Attention à la concurrence de Xilinx
Xilinx, le concurrent d'Altera, a également développé une pile logicielle pour ses propres familles de produits FPGA. L’entreprise a récemment annoncé une plate-forme d'accélération de calcul adaptatif (Adaptive Compute Acceleration Platform ou ACAP) qu’elle qualifie de « nouvelle catégorie de puces programmables ». Xilinx affirme que les développeurs peuvent travailler avec les ACAPS en utilisant des outils standard C/C++, OpenCL et Python. Au final, après avoir déterminé si les FPGA ou les GPU sont plus adaptés à une tâche de travail particulière et après avoir choisi entre les FPGA d’Intel et ceux de Xilinx, les ingénieurs systèmes regarderont surtout très attentivement quels outils logiciels sont disponibles pour assurer leurs charges de travail.
« Tous ces produits sont potentiellement bons pour une charge de travail donnée », a déclaré Patrick Moorhead. Ajoutant : « C’est une course et nous verrons lequel arrivera à construire le plus grand écosystème le plus vite ». Le prix de base des serveurs PowerEdge de Dell se situe généralement autour de 2 000 dollars HT et le tarif augmente selon la configuration. Le prix des serveurs Fujitsu est fourni sur demande. À noter que, pour commencer, Fujitsu réservera en priorité l’accès de ces serveurs à ses clients.