banner
Centre d'Information
Expérience impressionnante en design graphique.

À l'intérieur du futur rack et microserveur de Facebook

Aug 13, 2023

Les hyperscalers et les constructeurs de cloud ont donné le ton à l'innovation dans le domaine des serveurs au cours de la dernière décennie, en particulier et publiquement depuis que Facebook a mis en place le projet Open Compute en avril 2011 et s'est intensifié lorsque Microsoft s'est joint au début de 2014 et a essentiellement créé un tout nouveau flux d'innovation de serveur qui était unique - et largement incompatible avec - les conceptions proposées par Facebook.

Microsoft ne parle pas beaucoup de ses conceptions matérielles lors du dernier sommet virtuel Open Compute cette semaine, mais Facebook l'est. Vijay Rao, directeur de la technologie et de la stratégie chez Facebook, a dévoilé le système de formation en apprentissage automatique "Zion" lors du sommet OCP l'année dernière, avec l'architecture innovante du module d'accélération OCP qui, selon nous, va décoller dans l'industrie en raison de la densité et de la modularité qu'elle offre et de la pléthore d'interconnexions et d'accélérateurs qui peuvent utiliser cette architecture. Rao a fait allusion à la façon dont les moteurs d'inférence M.2 plus petits pourraient être regroupés et déployés dans les conceptions de microserveurs "Yosemite" de Facebook, qui ont fait leurs débuts en mars 2015 et qui a également été le mois où nous avons lancé The Next Platform. Le châssis Yosemite est un traîneau de calcul d'un tiers de largeur qui s'intègre dans les boîtiers Open Rack de 21 pouces défendus par Facebook et avait initialement jusqu'à quatre microserveurs à socket unique plus un réseau et un stockage partagés sur ces nœuds, et jusqu'à 24 de ces traîneaux plus deux étagères d'alimentation et un espace aérien remplissaient un seul rack ouvert pour un total de 96 serveurs.

Lors de notre événement The Next AI Platform l'année dernière, Rao a parlé un peu plus de la façon dont Facebook pourrait aller massivement en parallèle avec des moteurs d'inférence relativement modestes et les déployer à l'intérieur de machines comme Yosemite, et cette année lors du sommet virtuel OCP, les ingénieurs de Facebook ont ​​expliqué précisément comment ils vont le faire ainsi que de parler des futurs serveurs à un et deux sockets basés sur les processeurs Intel "Cooper Lake" Xeon SP, qui effectueront également un travail d'inférence grâce à leur prise en charge de la demi-précision FP16 et formats de données Bfloat16 et traitement dans les unités vectorielles AVX-512 sur ces processeurs.

Le châssis Yosemite est une grande partie de l'infrastructure de Facebook, avec différentes générations de machines à deux sockets. Nous avons décrit comment Facebook configure ses serveurs pour différentes charges de travail en 2016, et les systèmes à deux sockets "Leopard" plus Yosemite représentaient la grande majorité de son infrastructure, les machines compatibles GPU "Big Sur" ayant un volume relativement faible mais une croissance rapide en importance. Mais Facebook a créé plus de deux machines et les a contribuées à l'open source, comme l'a décrit cet aperçu de Katharine Schmidtke, directrice de l'approvisionnement pour les ASIC et le silicium personnalisé sur le réseau social, dans son discours d'ouverture :

Facebook a lancé des conceptions pour les centres de données, les racks, les serveurs, les serveurs de stockage, divers types de cartes d'interface mezzanine et réseau et de modules d'accélération pour les serveurs, les commutateurs modulaires et châssis et les émetteurs-récepteurs optiques, sans parler d'un tas de logiciels. Vous pourriez construire un centre de données assez décent même à partir des anciennes conceptions de Prineville ouvertes en 2011 et le remplir avec du matériel à moindre coût et sans vanité, vous avez eu l'esprit de le faire.

L'année dernière, Facebook a parlé vaguement des modifications qu'il pourrait apporter au châssis Yosemite et de la manière dont il pourrait créer des complexes d'inférence massivement parallèles à l'aide de moteurs d'inférence relativement modestes d'un certain nombre de fournisseurs utilisant une carte de support "Glacier Point" pour les bâtons d'inférence qui s'insère dans l'enceinte Yosemite. Cette année, ils ont fourni des détails sur le châssis Yosemite V2.5 mis à jour et la carte de support Glacier Point V2 actuellement en production. Facebook a un tas de raisons pour lesquelles il veut utiliser des puces d'inférence bébé sur les cartes PCI-Express au format M.2. D'une part, l'entreprise ne veut pas que l'inférence, qui est une partie vitale de sa pile d'applications, ait une énorme zone d'explosion en cas de problème. De plus, l'inférence est une charge de travail assez légère et naturellement massivement parallèle (comme le service Web) et qui se prête naturellement à l'exécution sur de petits appareils. Le rapport prix/performances et les thermiques de ces appareils sont également très attrayants pour exécuter des inférences sur des GPU ou des FPGA – selon les calculs de Facebook, en tout cas. Mais ces appareils ne sont pas vraiment doués pour la formation et vont exactement dans la direction opposée à celle de Nvidia en faisant converger le HPC, la formation à l'IA et l'inférence de l'IA sur le nouveau moteur GPU "Ampere" GA100 annoncé cette semaine. Mais Facebook a d'autres charges de travail à prendre en charge, telles que l'encodage et le décodage vidéo, qui peuvent également fonctionner sur des clés M.2 et être déployées dans des cartes de transport et hébergées dans les serveurs Yosemite. De plus, son compilateur GLOW maison, dont nous avons parlé ici, permet de répartir les modèles d'inférence sur plusieurs appareils relativement petits, de sorte qu'il n'a pas à choisir un calcul plus lourd pour faire de l'inférence simplement parce qu'il a une inférence plus lourde.

Pour mettre à jour le châssis Yosemite afin de prendre en charge les charges de travail plus lourdes de l'inférence parallèle, certaines modifications ont dû être apportées, comme indiqué ici :

Les grands changements sont que la commutation PCI-Express 3.0 entre les modules du châssis Yosemite a été rééquilibrée, avec plus de bande passante allant du CPU à la carte d'interface réseau et moins de voies reliant les modules entre eux. La puissance maximale du boîtier a été augmentée de 20 % à 720 watts, et des ventilateurs à vitesse plus élevée de 15 000 tr/min ont été autorisés à évacuer cette chaleur du calcul. Une carte réseau multihôte de 100 Gbit/s a été ajoutée et elle a reçu une carte réseau dotée de grands tampons de récepteur pour obtenir une faible latence ainsi qu'un support matériel pour le contrôle de la congestion. (Nous sommes à peu près sûrs qu'il s'agit d'une carte ConnectX de Mellanox, maintenant Nvidia, mais Facebook ne le dit pas.)

Voici à quoi ressemble la carte de transport Glacier Point V2, qui a été modifiée :

Et voici à quoi ressemble tout l'assemblage :

Et voici à quoi ressemble le fer fini :

Chaque carte porteuse Glacier Point atteint un maximum de 180 watts et peut avoir une douzaine de cartes M.2 ou une demi-douzaine de cartes M.2 double largeur. Voici les spécifications des deux cartes d'inférence M.2 que Facebook a mises à la disposition de l'industrie afin qu'ils puissent les fabriquer :

Les modules M.2 doivent prendre en charge PCI-Express 3.0 et 4.0 (un emplacement x4) et ils doivent se situer dans la plage de 10 watts à 14 watts, tout compris. Ils sont utiles car ils peuvent se brancher sur des serveurs existants dotés d'emplacements M.2, si nécessaire. Il permet également d'utiliser plusieurs modules au sein de Facebook pour différents types d'accélération et Facebook peut également mélanger et assortir l'accélération locale de nombreux types avec des modules locaux Optane ou flash M.2 s'il le souhaite. Le M.2 double largeur est conçu pour contenir des ASIC plus gros et plus chauds, dans la plage de 15 watts à 25 watts, et la plus grande surface de carte permet également une plus grande mémoire locale sur le boîtier. Le même besoin pour PCI-Express 3.0 et PCI-Express 4.0 (une paire de voies x4, dans les deux sens) est une exigence.

L'équipe d'inférence de Facebook suggère qu'avec le châssis Yosemite V3, dont nous parlerons dans une minute, il faudra une carte réseau autonome pour chaque traîneau dans le boîtier, car la commutation PCI-Express entre les cartes porteuses et l'hôte CPU - en particulier aux vitesses PCI-Express 3.0 - peut être un goulot d'étranglement lorsque vous essayez de créer une inférence à faible latence à l'aide de composants modestes. La liste de souhaits comprend également un contrôleur de gestion de carte de base distinct pour chaque serveur du châssis Yosemite et l'utilisation de commutateurs PCI-Express 4.0 pour relier les cartes de transport aux hôtes.

Ce qui nous amène au design Yosemite V3. Maintenant, Facebook va faire pivoter l'électronique dans l'enceinte de 90 degrés, rendant les choses qui étaient orientées verticalement à l'horizontale. Ce que Facebook a appris de l'expérience M.2 avec Yosemite V2.5, c'est que l'orientation verticale avec le CPU au milieu et les supports avant et arrière n'est pas idéale pour refroidir les supports d'accélérateur thermiquement plus denses. Mais en tournant tout de son côté, la répartition thermique devient plus uniforme sur le même nombre d'appareils, et franchement il est plus facile de refroidir des CPU relativement modestes et les cartes mères accélératrices deviennent les baffles thermiques des systèmes. L'équipe d'inférence de Facebook regarde vers l'avenir, et ils veulent pouvoir avoir de la flexibilité dans la taille, la forme et le nombre de périphériques de stockage et d'accélérateurs dans le châssis Yosemite, ainsi que pouvoir prendre en charge des interconnexions PCI-Express 5.0 plus rapides (et probablement plus chaudes) et des périphériques d'alimentation et de refroidissement qui fonctionnent jusqu'à 30 watts. La pensée d'au moins certains chez Facebook est que les facteurs de forme M.2 simples et doubles ne fonctionneront pas, et c'est, selon nous, principalement dû au fait que les périphériques PCI-Express 5.0 ne seront pas commercialisés assez rapidement dans ces facteurs de forme. De plus, l'avenir a besoin de plus grandes tailles de matrices car elles sont plus efficaces thermiquement. Voici un graphique qui montre une matrice nue de 20 watts sur une carte double M.2 simulée, montrant l'interaction de la température et de la taille de la matrice :

Ainsi, avec Yosemite V3, il y a un nouveau serveur à socket unique Delta Lake, et maintenant vous pouvez entasser quatre monoprocesseurs dans l'unité, mais maintenant ils sont chargés à l'avant au lieu d'être chargés par le haut, ce qui est un vrai problème quand vous devez le faire des centaines de milliers de fois.

Voici à quoi ressemblent les composants de base à l'intérieur du châssis Yosemite V3 :

Et voici à quoi cela ressemble chargé avec quatre cartes de calcul Delta Lake :

Voici la même boîte avec quatre nœuds de serveurs et un stockage flash par nœud :

Voici une configuration de Yosemite V3 avec deux serveurs plus costauds chacun avec deux accélérateurs :

Et voici deux nœuds de serveur costauds avec deux accélérateurs plus lourds et un commutateur les reliant ainsi qu'une interface réseau dédiée par nœud :

Le nœud de serveur Delta Lake est basé sur le futur processeur Cooper Lake qui sortira d'Intel plus tard cette année. Facebook ne peut pas dire grand-chose sur les capacités de ce processeur Xeon SP de troisième génération, mais il prendra apparemment en charge les futures clés de mémoire persistantes "Barlow Pass" Optane et disposera de plus de voies PCI-Express et d'une paire de connecteurs M.2 locaux. Voici le mode serveur Delta Lake :

Et voici le schéma du serveur Delta Lake, dont le nombre de canaux de mémoire a été obscurci. (Peut-être y en a-t-il plus que six ? On peut espérer. . . . )

Et voici quatre configurations possibles de traîneaux à base de Delta Lake :

OK, cela nous amène enfin aux serveurs montés en rack, et nous en avons repéré deux lors du sommet virtuel Open Compute qui étaient basés sur les SP Cooper Lake Xeon.

Celui de Facebook s'appelle "Sonora Pass", et c'est une machine à deux prises, donc :

Les schémas ont été masqués dans la présentation officielle, mais nous avons pris une capture d'écran floue pendant la session qui contient les données :

Mis à part le mystère entourant les contrôleurs de mémoire, nous pouvons voir qu'il s'agit toujours de PCI-Express 3.0 et que peu de voies sont utilisées par cette conception. Une chose intéressante est que de nombreux composants périphériques ont été déplacés de l'intérieur de la boîte vers le panneau avant et que le haut du châssis du rack a un couvercle divisé. Ainsi, lorsqu'il se déploie, vous pouvez retirer le couvercle et remplacer les unités à l'avant - stockage, cartes réseau, etc. La conception arbore également quatre modules de stockage E1.S sur le côté droit et est livrée avec quatre ventilateurs extensibles à huit pour un refroidissement supplémentaire.

L'autre machine de Cooper Lake que nous avons espionnée était le système "Catalina" de Hyve Solutions, qui est un système à huit sockets qui peut être réduit à quatre sockets, et qui n'est pas une conception de Facebook, mais nous le jetons ici. Voici la diapositive qui est apparue dans une présentation Intel :

Une fois de plus, les modules de mémoire ont été bloqués pour créer de la mystique.

Avec les faits saillants, les analyses et les histoires de la semaine directement de nous dans votre boîte de réception, sans rien entre les deux.Inscrivez-vous maintenant