Stockage : Hammerspace accélère l’IA avec les SSD des serveurs de calcul

Les serveurs qui contiennent les GPU disposent d’emplacement pour des SSD qui étaient jusque-là inutilisés. L’éditeur a trouvé un moyen de les exploiter pour que les accès se fassent à la vitesse du bus PCIe 5.0 plutôt qu’à celle du réseau Ethernet.

Hammerspace, l’éditeur d’un système Global Data Platform qui fédère plusieurs systèmes de stockage en un seul – initialement à travers Internet pour le cloud hybride, puis sur un même site pour agglomérer les données destinées à une IA –, vient d’élargir son champ d’action aux SSD qui peuplent les serveurs de GPU Nvidia. Baptisée « Tier-0 », cette nouvelle fonctionnalité permettrait d’accélérer les traitements en intelligence artificielle au-delà de tous les efforts jusqu’ici fournis par les fabricants de baies de disques.

« Les modèles actuels de serveurs DGX et HGX intègrent quatre SSD NVMe par nœud de calcul et bientôt seize. Si vous mettez seize SSD de 60 To chacun dans un tel serveur, c’est plus de 900 To de données que vous pouvez donner à vos GPU à la vitesse maximale, sans passer par le goulet d’étranglement du réseau », lance David Flynn (en photo en haut de cet article), PDG d’Hammerspace, lors d’un événement IT Press Tour consacré aux acteurs de la Silicon Valley qui innovent en matière de stockage.

« Si vous mettez seize SSD de 60 To chacun dans un tel serveur, c’est plus de 900 To de données que vous pouvez donner à vos GPU à la vitesse maximale, sans passer par le goulet d’étranglement du réseau. »
David FlynnPDG, Hammerspace

« J’ignore si Nvidia avait prévu d’utiliser les SSD NVMe présents dans le design des configurations DGX et HGX qu’ils communiquent aux fabricants de serveurs. Pour l’instant, ce n’est pas le cas. Ces designs comprennent des emplacements de SSD qui ne servent qu’à rien. Nous proposons de les exploiter », précise-t-il.

Plus rapide que Weka et DDN, les champions de la vitesse 

En première approche, un SSD NVMe peut communiquer via le bus PCIe 5.0 à une vitesse d’environ 14 Go/s, tandis qu’une connexion réseau, sans perte de paquet (RoCE) plafonne à 100 Gbit/s, soit un peu moins de 10 Go/s en rafale. La latence est aussi beaucoup plus lente sur un stockage réseau du fait des équipements que doivent traverser les données : contrôleur de la baie de SSD, cartes réseau, etc.

Hammerspace publie pour sa part des benchmarks réalisés sous MLPerfs, mais non homologués. Pour un seul serveur de calcul, sa solution Tier-0 atteindrait un score de 33, tandis qu’une baie fonctionnant sous le système Weka, solution de stockage externe réputée la plus rapide pour un nœud de calcul, aurait un score de 25.

Dans un fonctionnement en cluster où 18 nœuds de calcul accèdent simultanément au même volume de stockage, la solution Tier-0 d’Hammerspace obtiendrait un score délirant de 594. Le score de la plus rapide des baies de stockage externe dans une telle configuration, à savoir un cluster de stockage DDN AI400X2T fonctionnant sous Lustre, est de 36.

Lors de l’entraînement d’un modèle, la solution Tier-0 n’est pas seulement plus efficace pour lire et écrire des données. Elle réduit aussi les temps des checkpoints (lorsque les GPU vérifient que les données qu’ils ont tous écrites en même temps restent cohérentes, par exemple une fois par heure) de plusieurs minutes à quelques secondes.

Un cache NFS orchestré

La solution Tier-0 n’est ni plus ni moins qu’un cache : toutes les écritures se font en interne et les données ne sont copiées vers les baies de stockage externes – à une vitesse réseau normale – que lorsque le fichier est définitivement fermé. Il reste que cette mise en cache relève de plusieurs subtilités pour être transparente et efficace.

Du point des serveurs de calcul, toutes les données sont juste des fichiers partagés en NFS, c’est-à-dire via un protocole NAS. Pour agglomérer plusieurs NAS en un seul, Hammerspace utilise l’extension pNFS (Parallel NFS) désormais standard sur les noyaux Linux. Elle consiste à laisser le serveur de calcul envoyer des requêtes vers un serveur de partage de fichiers (comme dans NFS) et à recevoir en retour, non pas les données du fichier via le réseau (cas de NFS), mais l’adresse réseau du nœud de stockage qui contient ces données.

Le serveur de calcul lit ensuite les blocs du fichier directement depuis le nœud de stockage qui les possède. Ce transfert est plus rapide, car la communication en mode bloc n’est pas alourdie par les en-têtes inhérents au mode fichier. Pour que le nœud de stockage en question pointe vers les SSD internes du serveur de calcul, il suffit d’installer sur celui-ci un serveur NFS dans un container LXC, le format privilégié du noyau Linux.

Normalement, le fait de passer par un container provoque de la latence. Mais depuis les dernières itérations de la version 6.12 du noyau Linux, NFS supporte un mode passthrough qui abolit cette latence quand il se rend compte que les blocs de données sont sur des SSD NVMe directement accessibles par les GPU, via leur bus PCIe 5.0.

« Ça, c’est pour la partie basse de l’accélération. Mais ce système ne fonctionne véritablement dans un cluster de calcul et un cluster de stockage qu’avec l’orchestration apportée par Hammerspace », tient à faire savoir David Flynn. « Tel quel, chaque nœud de calcul créerait des copies physiques différentes d’un même fichier d’origine. Pour que l’entraînement fonctionne, il doit s’agir de copies logiques d’un même fichier physique. C’est tout le travail que fait Hammerspace », dit-il.

Et d’insister : aucun administrateur de stockage ne doit ici intervenir pour mettre manuellement à jour le contenu des fichiers accédés par les différents GPUs ni pour recopier in fine les données dans un fichier unique stocké sur une baie externe. Le système d’Hammerspace s’occupe de maintenir automatiquement la cohérence entre toutes les écritures.

« Nous travaillons à standardiser ce fonctionnement dans NFS. […] Nous sommes une locomotive en matière de pNFS, quand nous voyons que Dell et Vast cherchent à imiter notre fonctionnement. »
David FlynnPDG, Hammerspace

De plus, le système d’Hammerspace crée des blocs redondants de données parmi tous les NAS qu’il fédère, via un système d’Erasure Coding que l’on trouve d’ordinaire dans le stockage objet, mais qui n’existe pas encore dans NFS.

« Nous travaillons à standardiser ce fonctionnement dans NFS. Nous avons bon espoir. Nous sommes une locomotive en matière de pNFS, quand nous voyons que Dell et Vast cherchent à imiter notre fonctionnement », lance David Flynn.

Un acteur du stockage en forte croissance

Encore considéré il y a peu comme un acteur de niche, Hammerspace connaît un succès insolent sur le marché du stockage de données. Selon David Flynn, le dernier chiffre d’affaires aurait connu une progression dix fois plus importante entre 2023 et 2024 qu’entre 2022 et 2023. Le nombre de ses clients aurait dans le même temps augmenté d’un tiers. Dans une note de blog, Meta, la maison mère de Facebook, se félicite d’en faire partie.

Selon le PDG, ce succès serait dû à la capacité d’Hammerspace à avoir su adapter radicalement sa solution d’un produit de cloud hybride à une plateforme de simplification du stockage pour l’IA.

Dans les faits, les entreprises ont vocation à soumettre toutes leurs données aux capacités analytiques d’une intelligence artificielle, mais ces données sont généralement réparties sur plusieurs systèmes de stockage qui ne communiquent pas entre eux. Les interconnecter est particulièrement difficile et c’est cette difficulté que résout Global Data Platform. Il suffirait d’une heure, pour installer le système sur chaque NAS, définir globalement les droits d’accès et obtenir un stockage aggloméré. L’opération manuelle prendrait des semaines, si ce n’est des mois.

Dernièrement, Hammerspace a séduit le fournisseur de baies de stockage haut de gamme Hitachi Vantara. Ce dernier revend à présent sa solution pour mieux se positionner sur le segment du stockage de données dédié à l’IA.

Pour approfondir sur SAN et NAS