Supermicro et NVIDIA proposent des systèmes optimisés pour l'IA, le ML et plus encore
Les entreprises modernes tirent des avantages concurrentiels considérables de l'utilisation d'applications et de traitements de données avancés dans leurs activités et opérations. Il s'agit notamment de grands modèles linguistiques basés sur l'IA tels que ChatGPT, LLaMa, etc., d'analyses d'apprentissage automatique basées sur d'énormes ensembles de données d'entraînement et de données réelles, de modèles et de simulations complexes en 3D et par éléments finis, ainsi que d'autres applications à forte intensité de données et de calcul.
Toutes ces charges de travail ont au moins un point commun : elles tirent un avantage considérable d’un accès accéléré au stockage, quel que soit le modèle de stockage hiérarchisé que vous choisissez d’utiliser. C'est l'une des principales raisons pour lesquelles tant d'entreprises et de fournisseurs de services se sont tournés vers les serveurs équipés de GPU pour traiter des ensembles de données volumineux et complexes, ainsi que les charges de travail qui les exploitent. Ils sont bien plus performants pour gérer ces charges de travail et peuvent accomplir ces tâches plus rapidement que les serveurs conventionnels dotés de configurations de stockage plus classiques (par exemple, de la mémoire vive locale et NVMe , avec des niveaux de stockage supplémentaires sur le réseau local ou dans le cloud).
Le secret de l'augmentation du débit réside dans la réduction de la latence et l'amélioration de la bande passante de stockage. Cela se traduit directement par une amélioration de la productivité et des capacités, principalement grâce à des techniques intelligentes d'E/S et de mise en réseau qui s'appuient sur l'accès direct et à distance à la mémoire, comme expliqué ci-dessous. L'accélération de la formation des modèles et de l'exécution des tâches signifie que les applications alimentées par l'IA peuvent être déployées plus rapidement et que les choses se font plus vite, ce qui accélère le délai d'obtention de la valeur.
Accès direct à la mémoire et équivalents à distance
L'accès direct à la mémoire (DMA) est utilisé pour accélérer les entrées-sorties depuis les premiers jours de l'informatique. Fondamentalement, le DMA implique des transferts de mémoire à mémoire à travers un bus (ou une autre interface) d'un périphérique à un autre. Il fonctionne en copiant une plage d'adresses mémoire directement de la mémoire de l'expéditeur à la mémoire du destinataire (ou entre deux parties pour les transferts bidirectionnels). Cette fonction permet à l'unité centrale de ne pas intervenir dans le processus et d'accélérer le transfert en réduisant le nombre d'opérations de copie nécessaires (l'unité centrale n'a pas besoin de copier les données de l'expéditeur dans sa mémoire, puis de copier ces données de sa mémoire vers la mémoire du destinataire).
En effet, les performances DMA sur un système unique ne sont limitées que par la vitesse du bus (ou de toute autre interface) reliant les périphériques émetteur et récepteur impliqués dans un transfert de données. Pour PCIe .0, ce débit est de 16 gigatransferts par seconde (GT/s), et il double avec PCIe .0 (32 GT/s). Les débits de données sont naturellement plus lents en raison des surcoûts liés au codage et au conditionnement, mais la bande passante nominale pour ces deux PCIe est respectivement de 64 Gbps (4.0) et 128 Gbps (5.0). C'est rapide !
Le DMA à distance (alias RDMA) étend la capacité du DMA au sein d'un seul ordinateur pour qu'il fonctionne entre deux appareils via une connexion réseau. RDMA est généralement basé sur une interface de programmation d'application (API) unique qui fonctionne avec du matériel et des logiciels de réseau spécialisés afin de fournir autant d'avantages que le DMA local, dans la mesure où la technologie de réseau sous-jacente le permet.
Les GPU NVIDIA prennent en charge trois technologies de mise en réseau de ce type, par ordre décroissant de vitesse et de coût (la plus rapide et la plus chère en premier) :
- NVIDIA NVLink utilise des interfaces propriétaires et des technologies de commutation ultra-rapides pour accélérer les transferts de données entre les GPU sur un réseau haut débit. Il affiche actuellement les meilleures performances parmi toutes les technologies sur les benchmarks standard MLPerf Training v3.0. Un seul GPU NVIDIA H100 Tensor Core prend en charge jusqu'à 18 connexions NVLink, pour un débit pouvant atteindre 900 Gbps (soit 7 fois la vitesse effective du PCIe .0).
- InfiniBand une norme de réseau haut débit supervisée par InfiniBand Association (IBTA) et largement déployée sur les réseaux haute performance. En 2020, les débits de données les plus élevés enregistrés avoisinaient les 1,2 Tbps (environ 154 Gbps).
- Ethernet est une technologie de réseau standard avec de nombreuses variantes, y compris le TbE (~125 GBps) rarement utilisé et le 400 GbE (50 GBps) plus courant. Elle présente l'avantage d'être plus abordable, d'être largement déployée et d'être une technologie familière dans de nombreux centres de données.
Mettre les GPU NVIDIA au travail dans les serveurs Supermicro
Les technologies RDMA de NVIDIA peuvent prendre en charge l'accès aux données basé sur le GPU dans les trois technologies de réseau précédentes. Chacune d'entre elles offre un compromis prix-performance différent, où un coût plus élevé se traduit par une plus grande vitesse et une latence plus faible. Les entreprises peuvent choisir le type de connexion sous-jacente qui correspond le mieux à leur budget et à leurs besoins, sachant que chaque option représente une combinaison spécifique de prix et de performances sur laquelle elles peuvent compter. Lorsque diverses applications basées sur l'IA ou le ML (et d'autres applications à forte intensité de données et de calcul) s'exécutent sur un tel serveur, elles peuvent exploiter l'architecture hiérarchisée du stockage GPU, où les niveaux suivants sont disponibles (par ordre décroissant de performance, croissant par la taille et la capacité) :
- 1er niveau : La mémoire du GPU est la plus rapide, la plus chère et la plus petite réserve de données (par exemple, le GPU Tensor H100 dispose de 188 Go de RAM HBM3).
- 2e niveau : les SSD locaux connectés au PCIe sont les deuxièmes plus rapides, mais restent coûteux et offrent une capacité de 10 à 100 fois supérieure à celle d'un GPU haut de gamme
- 3e niveau : les serveurs de stockage à distance sur le réseau local peuvent supporter plus de 1 000 fois la capacité des GPU qui y accèdent.
Les applications d'IA et d'apprentissage automatique nécessitant à la fois une faible latence et une bande passante élevée, la technologie RDMA permet d'étendre les avantages locaux du DMA aux ressources réseau (sous réserve des connexions sous-jacentes concernées). Cette fonctionnalité permet un accès rapide aux données externes via des transferts de mémoire à mémoire entre appareils (GPU d'un côté, périphérique de stockage de l'autre). En association avec NVLink, InfiniBand ou certaines variantes Ethernet haut débit, l'adaptateur distant transfère les données de la mémoire d'un système distant vers la mémoire d'un GPU local. NVIDIA Magnum IO fournit une plateforme d'accélération des E/S pour les centres de données afin de prendre en charge des E/S parallèles et intelligentes, optimisant ainsi le stockage, le réseau et les communications multi-nœuds et multi-GPU pour les applications exigeantes qui en ont besoin.
Dans ses systèmes de serveurs GPU, Supermicro des GPU NVIDIA et les méthodes d'accès qui les accompagnent. Celles-ci comprennent le DMA local, le RDMA via son API, ainsi qu'une connectivité réseau haute performance via plusieurs cartes réseau et commutateurs prenant en charge les trois types de connexion. De plus, les serveurs Supermicro intègrent également un ou deux circuits intégrés ASIC spécialisés, appelés « Data Processing Units » (DPU), afin de prendre en charge les opérations d'E/S accélérées que les GPU sont capables de fournir. Ces DPU déchargent les processeurs du serveur de la charge supplémentaire liée aux opérations d'E/S. De même, ces serveurs peuvent prendre en charge jusqu'à huit cartes réseau par serveur afin de permettre un accès soutenu et étendu à la bande passante réseau, pour optimiser les transferts entre les périphériques PCIe .0 et les périphériques RDMA. Cela garantit l'absence de goulots d'étranglement, même sur le PCIe , et contribue à maximiser le débit et à minimiser la latence.
Les implications pour les performances sont très positives. Les gains de performances liés à l'utilisation de l'IO accélérée de NVIDIA vont de 20 à 30 % jusqu'à deux fois pour les charges de travail intensives. Il est également essentiel de concevoir des applications qui tirent parti du stockage afin d'éviter les inefficacités. Ainsi, ces applications doivent être configurées pour effectuer des points de contrôle réguliers. Sinon, elles doivent redémarrer depuis le début si un nœud tombe hors du réseau ou est bloqué pendant un certain temps. L'utilisation de points de contrôle signifie que la progression ne revient qu'à l'instantané le plus récent en cas de défaillance d'un nœud ou d'un autre événement bloquant (de telles capacités peuvent être disponibles à partir d'outils de protection des données locales et de réseau et n'ont pas besoin d'être spécifiquement intégrées dans l'application, en fait).
Globalement, le véritable avantage de l'utilisation de serveurs basés sur des DPU et des GPU pour l'IA, la ML et d'autres charges de travail à forte demande (par exemple, des modèles 3D ou d'éléments finis, des simulations, etc. Cela permet d'économiser 20 à 30 % des cycles de l'unité centrale actuellement consacrés à l'accès à l'infrastructure et à sa gestion. Cela libère des ressources et accélère l'accès en poussant les fonctions IO dans le matériel.