ARM : avec le Centriq 2400, Qualcomm défie Intel sur le marché des serveurs
Après s'être fait un nom dans les télécoms et les mobiles, Qualcomm s'attaque au marché des serveurs. La firme vient de dévoiler sa puce ARM 64 bit Centriq 2400 dont l'objectif est de défier les puces Xeon d'Intel dans le monde de l'entreprise et du cloud. Microsoft, Google, Alibaba et HPE figurent parmi les partenaires du lancement.
Actuellement la cible d’une offre d’achat de la part de Broadcom (qu'il a pour l'instant repoussée), Qualcomm a officiellement profité d’un événement organisé à San José, pour dévoiler ses premières puces serveurs.
Les Centriq 2400 (nom de code « Amberwing ») sont des processeurs multicœurs ARM 64 bit (compatibles ARM v8), dont l’objectif est de concurrencer à la fois les Xeon d’Intel et Epyc d’AMD, et les Thunder X2 de Cavium ou les X-Gene 3 de Project Denver Holdings (ex-Macom, ex-Applied Micro).
Le développement des Centriq 2400 intéresse notamment Microsoft, qui n’a pas caché son intention de les utiliser pour motoriser une partie de l’infrastructure de son cloud, mais aussi Hewlett-Packard Enterprise, qui entend livrer ses premiers serveurs Centriq 2400 au début 2018. Les puces pourraient également être mises en oeuvre par Google et Alibaba dans leurs clouds respectifs.
Les Centriq 2400 sont les premières puces serveur gravées en 10 nm. Qualcomm a confié leur production à Samsung Electronics qui utilise déjà cette technologie pour ses puces mobiles. En s’appuyant sur le processus 10LPE du Coréen, Qualcomm prend une longueur d’avance en matière de gravure sur Intel, dont les puces Xeon les plus récentes sont gravées en 14 nm. C’est la première fois depuis plus de vingt ans, qu’un concurrent d’Intel sur le marché des serveurs utilise un processus de gravure plus avancé que celui du fondeur américain.
Qualcomm s’appuie là à plein sur les avancées réalisées par des fondeurs comme Samsung ou TSMC dans la fabrication des processeurs pour mobiles. Produites en quantités massives, ces puces requièrent la mise en oeuvre des processus de gravure les plus sophistiqués. Comme le note Qualcomm, l’industrie dans son ensemble produit aujourd’hui environ 1,5 milliard de processeurs ARM 64 bit pour smartphones (un marché dont Intel s'est retiré), contre 280 millions de puces x86 pour PC. C’est sur l’infrastructure massive construite pour assembler ces composants que Qualcomm s’appuie aujourd’hui pour aller défier Intel et ses Xeon Scalable Platform.
Selon Qualcomm, le Centriq 2400 incorpore 18 millions de transistors sur une surface de 398 mm2, contre 19,2 millions de transistors sur 852 mm2 pour les EPYC d’AMD à 32 cœurs en 14 nm (la taille est massive du fait de l’utilisation de modules « multi-chip »). Un Xeon Skylake SP Platinum avec 28 cœurs a, quant à lui, une surface d’environ 700 mm2 (mais Intel ne fournit plus le nombre de transistors).
Selon Qualcomm, la densité du Centriq lui donne un avantage compétitif. Le processus de gravure utilisé par Samsung lui permet en effet de graver 50 millions de transistors par mm2 contre 37,5 millions pour le processus en 14 nm d’Intel. On le verra plus loin cet avantage en matière de processus se traduit par de vrais bénéfices en matière de rapport performance/consommation/prix.
Centriq 2400 : un SOC ambitieux
Pour créer le Centriq 2400, Qualcomm s’est appuyé sur le savoir faire processeur de ses équipes afin de concevoir un cœur ARM 64 bit optimisé pour un usage serveur. Baptisé Falkor, ce cœur est 100 % 64 bit, puisque les ingénieurs de Qualcomm ont éliminé le support de la compatibilité avec le jeu ARM 32 bit.
Ce choix a permis de simplifier le cœur et de gagner de l’espace sur la puce. L’élimination de la compatibilité 32 bit paraît d’autant plus logique, que le monde ARM a le luxe de ne pas avoir d’historique dans le monde serveur (alors qu’Intel se doit encore de maintenir la compatibilité avec les applications x86 16 et 32 bit).
Au sein de la puce Centriq, les cœurs sont organisés par paire et chacun est capable de gérer un unique thread. Au total 24 paires de cœurs sont agrégées dans chaque Centriq 2400, soit un total de 48 cœurs (ou 48 threads en parrallèle).
Chaque cœur dispose d’un cache de niveau 0 de 24 Ko et de 64 Ko de cache de niveau 1. Chaque paire de cœurs a de plus accès à 512 Ko de mémoire cache partagé et à 5 Mo de mémoire cache de niveau 3 (pour un total de 60 Mo de cache cohérent de niveau 3).
Les paires de cœurs sont reliées par un bus cohérent en double anneau capable de délivrer une bande passante mémoire de 256 Go/s (2x 64 Go/s en bidirectionnel). Cette architecture en anneau rappelle celle utilisée par Intel pour ses Xeon v4.
Chaque puce Centriq 2400 dispose également de six contrôleurs mémoire DDR4 capable chacun de piloter 2 barrettes DDR à 2,67 GHz (pour un total de 768 Go de RAM par système). Ces contrôleurs supportent une bande passante agrégée de 128 Go/s et embarquent des fonctions de compression mémoire en temps réel.
Chaque puce inclut également six contrôleurs PCIe 3.0 pour un total de 32 lignes PCIe. La puce embarque également un contrôleur SATA, des contrôleurs USB et 8 Serdes.
Contrairement à AMD et Intel qui disposent de bus d’interconnexion locaux (Infinity Fabric et UPI) pour assembler des machines multi-processeur, Qualcomm a choisi de se concentrer sur le marché des serveurs mono-socket avec la première génération de ses puces. Un choix qui semble raisonnable au vu du marché initial visé par le constructeur, celui des applications massivement distribuées et des acteurs du monde « hyperscale ».
Une famille composée de 3 processeurs
Qualcomm devrait initialement commercialiser trois déclinaisons de sa puce Centriq 2400. En haut de gamme, le Centriq 2460 disposera de 48 cœurs fonctionnels cadences à 2,2 GHz et associés à 60 Mo de cache de niveau 3.
En milieu de gamme, le Centriq 2452 disposera de 46 cœurs à 2,2 GHz associés à 57,5 Mo de cache. Enfin, en entrée de gamme, le Centriq 2434 proposera 40 cœurs à 2,3 GHz associés à 50 Mo de cache. Ces processeurs auront un TDP max de 120W pour les deux premiers modèles et de 110W pour le dernier.
Performances : Qualcomm optimiste face à Intel
Côté performances, un Centriq 2460 devrait afficher un score Specint_rate 2006 d’environ 657 et un score Specfp_rate 2006 de 607. Selon Qualcomm ces chiffres sont respectivement 7 % et 13 % meilleurs — à nombre de threads égaux — que ceux d’un Xeon Platinum 8160 testé avec le compilateur GCC.
Ces données sont toutefois à prendre avec une pincée de sel : un serveur Lenovo ThinkSystem SR650 équipé d’une puce Xeon Platinum 8180 a en effet obtenu des scores de 1350 et 836 aux deux mêmes benchmarks en utilisant les compilateurs Intel, ces scores sont respectivement 105 % et 37 % plus élevés que ceux obtenus par la puce de Qualcomm (et respectivement 90 % et 31 % meilleurs à nombre de threads équivalents).
De même, le Xeon Gold 6152 à 22 cœurs affiche des scores proches de 1000 en specInt_rate et de 700 en Specfp_rate avec les compilateurs Intel. Il faudra donc voir fonctionner les puces Qualcomm en conditions réelles pour avoir une meilleure idée de leurs capacités.
Mais en étant confiant, il est vraisemblable que ces puces afficheront des performances comprises entre 70 et 100 % de celles de puces Intel comparables avec des applications déjà optimisées pour la plate-forme ARM.
Cela pourrait être largement suffisant pour ouvrir une brèche à Qualcomm sur ce marché. Car le constructeur a un net avantage en matière de consommation. Un Xeon Platinum 8180 affiche un TDP de 205W contre 120W pour le Centriq 2460 tandis qu’un Xeon Gold 6152 a un TDP de 140W contre 120W pour le Centriq 2452. Qualcomm dispose aussi d’un gros avantage en matière tarifaire. Le prix public du Centriq 2460 est ainsi de 1995 $, celui du Centriq 2452 de 1383 $ et celui du Centriq 2434 de 888 $.
Ces prix sont à mettre en regard des 10 000 $ demandés par Intel pour un Xeon 8180 Platinum à 28 cœurs ou des 3655 $ requis pour un Xeon Gold 6152 à 22 cœurs (que Qualcomm positionne face au Centriq 2434). Notons qu’en entrée de gamme Qualcomm positionne le Centriq 2434 et ses 40 cœurs face au Xeon Silver 4116 et ses 12 cœurs physiques (1002 $).
Les plates-formes motorisées par les Centriq 2400 sont conformes aux spécifications SBSA (Server Base System Architecture) d’ARM et sont donc supportées par les principaux OS Linux (SUSE Linux 12 SP3, Red Hat Enterprise Linux 7.4 et Ubuntu Server). La plupart des grands frameworks, runtime, langages et outils open source modernes sont aussi optimisés pour ARM dont Memcached, MongoDB, Cassandra, Redis, Apache Spark, MySQL, Hadoop, Kubernetes, OpenStack, Mesos, Cloud Foundry, Java, Tomcat, Python, PHP, Node.js ou Golang.
Microsoft travaille aussi officiellement au portage de Windows Server 2016 pour ses besoins internes afin de déployer les puces de Qualcomm dans son cloud. Il est à noter que la plate-forme de Qualcomm est également supportée par la dernière mouture de la distribution Stockage Ceph de Suse (SES 5.0).
Un successeur déjà en développement
Notons pour terminer que Qualcomm travaille déjà au développement de la seconde génération de ses puces ARM, qui porte le nom de code FireTail. Le constructeur est pour l’instant resté discret sur les évolutions qu’il entend apporter avec cette seconde famille de puces, mais parmi les améliorations évidentes, il pourrait ajouter le support du multithreading ou le support d’un bus d’interconnexion pour la conception de serveurs à plusieurs sockets.
Afin de mieux rivaliser avec ses concurrents dans le monde ARM, et en particulier Cavium, Qualcomm pourrait aussi être tenté de doper les capacités de son SOC en ajoutant des capacités de communications accrues (contrôleurs Ethernet intégrés) ou le support de jeux d’instructions optimisés pour le monde HPC, un secteur qui lorgne de plus en plus sur la plate-forme ARM…