Aller au contenu principal

Supermicro et NVIDIA proposent des systèmes optimisés pour l'IA, la ML et plus encore.

Tirer le meilleur parti de l'accès avancé aux données et de leur transfert pour accroître la productivité

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 bénéficient d'un accès rapide au stockage, quel que soit le modèle hiérarchisé que vous souhaitez 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 basés sur les GPU pour gérer des ensembles de données volumineux et complexes et les charges de travail qui les consomment. Ils sont beaucoup plus capables de gérer ces charges de travail et d'accomplir ces tâches plus rapidement que les serveurs conventionnels avec des configurations de stockage plus typiques (par exemple, RAM locale et disques SSD 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 d'une autre interface) qui relie les dispositifs d'envoi et de réception impliqués dans un transfert de données. Pour PCIe 4.0, c'est 16 gigatransferts/seconde (GT/s), et le double pour PCIe 5.0 (32 GT/s). Les débits de données sont naturellement plus lents en raison des frais généraux d'encodage et d'emballage, mais la bande passante nominale pour ces deux versions PCIe est respectivement de 64 Gbps (4.0) et de 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 les interfaces propriétaires et les technologies de commutation les plus rapides pour accélérer les transferts de données entre les GPU sur un réseau à haut débit. Il affiche actuellement les performances les plus élevées sur les benchmarks MLPerf Training v3.0 standard, toutes technologies confondues. Un seul GPU NVIDIA H100 Tensor Core prend en charge jusqu'à 18 connexions NVLink pour une vitesse de 900 Gbps (7 fois la vitesse effective du PCIe 5.0).
  • InfiniBand est une norme de réseau à grande vitesse supervisée par l'InfiniBand Trade Association (IBTA), largement mise en œuvre dans les réseaux à haute performance. Ses débits de données les plus élevés seront de l'ordre de (1,2 Tbps, ~154 GBps) à partir de 2020.
  • 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.

Les GPU NVIDIA au service des 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).
  • Deuxième niveau : les disques SSD locaux sur le bus PCIe sont les plus rapides, mais restent chers et ont 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 de ML ayant besoin à la fois d'une faible latence et d'une bande passante élevée, RDMA permet d'étendre les avantages locaux de 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 les périphériques (GPU d'un côté, périphérique de stockage de l'autre). Travaillant avec NVLink, InfiniBand ou une variante 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 plate-forme d'accélération de l'IO pour les centres de données afin de prendre en charge l'IO parallèle et intelligente des centres de données pour maximiser 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 utilise les GPU NVIDIA et leurs méthodes d'accès. Celles-ci comprennent le DMA local, le RDMA via son API, ainsi qu'un réseau haute performance via plusieurs NIC et commutateurs qui prennent en charge les trois types de connexion. En outre, les serveurs GPU Supermicro comprennent également un ou deux ASIC spéciaux appelés Data Processing Units (DPU) pour prendre en charge l'accélération de l'IO que les GPU peuvent fournir. Ces unités déchargent les CPU du serveur de toute charge d'E/S supplémentaire. De même, ces serveurs peuvent prendre en charge jusqu'à huit adaptateurs réseau par serveur pour permettre un accès soutenu et étendu à la bande passante du réseau afin de maximiser les transferts entre les périphériques PCIe 5.0 et les périphériques RDMA. Cela garantit l'absence de goulots d'étranglement, même sur le bus PCIe, et permet de maximiser le débit et de 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.