Stockage : Dell évoque un mystérieux projet « Lightning »
Le projet Lightning doit permettre à la gamme des baies NAS PowerScale de soutenir les accès massivement parallélisés de milliers de GPU, lors de l’entraînement d’un modèle d’IA. Mais Dell ne dit pas comment il y parviendrait.
Lors de son salon Dell World 2024 qui s’est tenu la semaine dernière à Las Vegas, le PDG Michael Dell (en photo) a eu son moment « One more thing », en référence à l’annonce sensationnelle de dernière minute que Steve Jobs aimait placer à la fin de ses keynotes. Sur scène, il a évoqué une évolution mystérieuse de ses baies de stockage PowerScale, le Project Lightning, en promettant une technologie qui devrait hisser Dell au premier rang des fournisseurs de stockage pour l’IA.
Mais, pour l’heure, aucune date n’est annoncée et les informations sont distillées au compte-gouttes.
« PowerScale est un NAS super élastique, initialement conçu pour partager des fichiers dans les entreprises qui ont besoin de pouvoir augmenter leur capacité de stockage à l’envi, pour héberger toujours plus de textes, de vidéos, d’audio, sans jamais devoir souffrir de baisses de performances. Mais au-delà de ce contexte, il apparaît aujourd’hui un nouveau cas d’usage pour ces fichiers : l’intelligence artificielle » contextualise Travis Vigil, le patron des solutions d’infrastructures chez Dell, lors d’une interview avec LeMagIT.
« La baie PowerScale F910 que nous venons de lancer fonctionne très bien pour l’inférence, pour le RAG. Mais l’entraînement de l’IA est plus efficace si vous le parallélisez sur une très grande quantité de GPUs. Et ces GPUs fonctionnent mieux ensemble s’ils accèdent à leurs données depuis un système de fichiers parallélisé. »
Travis VigilResponsable des solutions d’infrastructures, Dell
« Nous voulons fournir à nos clients la possibilité d’utiliser une seule plateforme qui fonctionne aussi bien pour l’entraînement de grands modèles, de petits modèles, pour l’inférence, pour le RAG. Le projet Lightning consiste donc à proposer sur nos baies PowerScale un nouveau système de fichiers parallélisé », finit-il par révéler.
Il ajoute que tous les détails devraient être officiellement dévoilés dans le courant de l’été. Mais il concède à en partager quelques-uns : « cela s’apparentera à un module d’accélération que vous ajouterez à votre baie PowerScale existante. Il ne s’agit pas d’un système que nous rachetons à quelqu’un d’autre, mais d’un développement interne à Dell », résume-t-il.
Ailleurs sur le salon, LeMagIT entendra que cette nouvelle version de PowerScale permettra d’alimenter en données des « milliers » de GPUs montés en parallèle, avec un taux d’utilisation des liens Ethernet de « 97 % ».
Vers un modèle à la NFSv4.2 et pNFS ?
Les accès parallèles entre un NAS et des serveurs ont déjà été normalisés par le marché. D’une part, via le protocole NFSv4.2 qui permet à une machine applicative du réseau de consulter un partage de fichiers NFS classique depuis un serveur frontal et ensuite d’aller charger directement le fichier voulu depuis le nœud qui possède ce fichier sur ses disques, via un second lien réseau.
Cette méthode présente l’avantage de ne plus souffrir d’une latence au niveau du serveur frontal, car, sur un NAS ordinaire, celui-ci fonctionne comme un goulet d’étranglement pour les opérations de lecture et d’écriture. Il devient dès lors possible, au prix d’une multiplication des liens réseau, de favoriser les trafics parallèles entre serveurs applicatifs (ou de calcul) et nœuds de disques.
Travis VigilResponsable des solutions d’infrastructures, Dell
NFSv4.2 est théoriquement d’autant plus efficace qu’il permet à la machine cliente d’accéder au nœud de stockage en mode bloc. C’est-à-dire avec un protocole de type iSCSI ou, mieux, NVMe/RoCE, bien plus rapide que le mode fichier NFS qui traîne dans ses paquets toute une cascade d’authentifications et de négociations.
D’autre part, le protocole NFSv4 prend en charge une extension pNFS (Parallel NFS) qui permet à la machine cliente de charger un fichier, non pas intégralement depuis un seul nœud de stockage, mais par morceaux récupérés via des flux parallèles, depuis plusieurs nœuds de stockage. L’avantage de cette technique est qu’elle évite la situation où deux serveurs applicatifs veulent accéder en même temps au même fichier et où l’un doit attendre que l’autre ait terminé.
Pour peu que le nœud de stockage soit capable d’envoyer deux flux deux fois moins rapides par deux ports Ethernet (plutôt qu’un seul à pleine vitesse sur un seul port Ethernet), alors deux serveurs applicatifs connectés à ce nœud peuvent utiliser l’autre moitié de leur bande passante réseau pour communiquer avec un autre nœud de stockage. À la fin, chaque serveur aura chargé son fichier aussi rapidement que s’il était tout seul à communiquer avec un NAS. Voilà pour la théorie.
Des standards pas vraiment généralisés
Sur le papier, OneFS, le système des baies PowerScale, est supposé supporter NFSv4.2 et pNFS. En tout cas, OneFS supporte d’installer ces dispositifs, car ce système est basé sur FreeBSD et que FreeBSD est compatible avec eux. Pour autant, personne chez Dell n’a pu confirmer au MagIT, lors du salon Dell World 2024, que OneFS tolérerait un accès bloc ni qu’il resterait toujours aussi fiable avec ce genre d’accès par morceaux parallèles pilotés depuis une machine externe. Qui plus est, avec un client pNFS/NFSv4.2 qui ne comprend rien au propre système de morcellement intégré à OneFS.
Sur les NAS d’entreprises, le seul fournisseur qui revendique des déploiements de NFSv4.1 et pNFS en production depuis plusieurs années est NetApp. Son système OnTap ne permet pas aux machines clientes d’accéder en mode bloc aux nœuds de stockage, seulement en mode fichiers. Et la manière dont pNFS y fonctionne semble plus servir des besoins de haute disponibilité (tolérance aux pannes) que d’accélération des accès simultanés.
Quant aux solutions NAS qui offrent des accès parallèles aux supercalculateurs, elles préfèrent opter pour des systèmes de fichiers distribués qui ont réinventé la roue à leur manière. Lustre, Ceph, IBM StorageScale et autres Vast Data formatent les disques sur les nœuds de stockage, exécutent leurs propres serveurs frontaux, pour indexer et orchestrer les nœuds de stockage, et fournissent même leur client dédié à installer sur les serveurs de calcul pour qu’ils accèdent au NAS. Toutes ces technologies revendiquent des développements qui ont pris des années.
PowerScale déjà parallélisé, mais uniquement pour sa cuisine interne
Sur PowerScale, il n’y a actuellement rien de tout cela. Comme tous les NAS d’entreprises du moment, les accès en lecture et écriture aux fichiers passent par les nœuds frontaux. Ceux-ci partagent le volume global sur le réseau en NFSv3 (plutôt pour les machines Linux) et en SMB (plutôt pour les machines Windows). Ces deux protocoles ont le mérite de fonctionner avec la même architecture réseau, c’est-à-dire en se contentant (au-delà de la redondance) d’un seul lien Ethernet entre un serveur applicatif et le NAS.
Une baie PowerScale est idéalement constituée de plusieurs nœuds qui stockent chacun, sur leurs propres disques, une partie du volume logique global. En théorie, chacun de ces nœuds peut exposer sur le réseau le partage NFS ou SMB du volume global, via le même nom de domaine, celui de la baie PowerScale. Un nœud qui expose ainsi le partage global est donc ce que l’on appelle un frontal.
Ici, la répartition de charge fonctionne au niveau d’un serveur DNS installé en amont sur le réseau, entre les machines clientes (postes ou serveurs applicatifs) et la baie NAS. Ce serveur DNS est fourni par Dell sous le nom de SmartConnect. Il dispose de la liste complète des adresses IP des frontaux et leur assigne à tour de rôle le nom de domaine de la baie. Ainsi, chaque machine cliente est censée toujours trouver un frontal suffisamment disponible pour répondre dans les plus brefs délais à sa requête.
Si Dell revendique de paralléliser les accès avec ce dispositif, le parallélisme s’arrête là. Soit le nœud qui a reçu la requête possède sur ses propres disques le fichier demandé et il l’envoie directement à la machine cliente qui en a fait la demande. Soit, il ne l’a pas, télécharge ce fichier depuis le nœud qui le possède, puis, sans forcément enregistrer ce fichier sur ses disques durs, reroute le flux entrant vers la machine cliente.
En l’occurrence, pour des questions de performances, il est possible que OneFS juge utile d’enregistrer tout de même une copie du dit-fichier sur ce frontal, à des fins de cache.
Le fonctionnement d’une baie PowerScale actuelle génère in fine beaucoup de trafic entre ses nœuds, donc de la latence pour les machines clientes qui attendent leurs fichiers à lire. Ce trafic est d’autant plus important que OneFS fait circuler en permanence sur le réseau interne de la baie des morceaux de fichiers redondants (Erasure coding), à des fins de sécurité et de mises en cache.
Certes, Dell explique que ces morceaux redondants sont censés contribuer à réduire les temps de réponse, car OneFS peut choisir de recomposer un fichier à partir des nœuds les plus disponibles de son cluster. Ce fonctionnement, similaire à celui que l’on trouve dans les systèmes de fichiers distribués et que l’on voit dans le morcellement de pNFS, est censé apporter au commun des entreprises une puissance digne d’un centre de calcul.
Sauf que, dans les centres de calcul, le trafic entre les nœuds du NAS est décorrélé du trafic entre la machine cliente et l’emplacement du fichier qu’elle veut lire ou écrire. Sur PowerScale, en revanche, plus la quantité des requêtes augmente sur les frontaux, plus la latence augmente. Rappelons que Dell parle de supporter des milliers de GPUs, qui veulent avaler des données tous en même temps, en permanence. Cela n’a plus rien à voir avec des stations de travail qui fonctionnent au rythme de leurs utilisateurs et pour lesquelles les baies PowerScale ont été conçues.
Une solution : passer par HyperScale NAS d’Hammerspace ?
Reste donc à savoir comment Dell va parvenir à transformer ses baies PowerScale d’une architecture où tous les accès transitent par les frontaux, à une architecture qui sépare les requêtes des flux de lecture/écriture. Parmi les acteurs que LeMagIT a récemment interviewés, il en est un qui aurait une solution : Hammerspace.
Ce spécialiste des NAS qui fonctionnent à cheval entre plusieurs sites distants a récemment étendu son catalogue avec une implémentation maison de pNFS, HyperScale NAS. Elle utilise un système, baptisé Flex-Files, qui permet de découper les fichiers en morceaux accessibles en parallèle, indépendamment de la cuisine interne d’un système de stockage, du moment que ce système partage ses contenus en NFSv3. C’est-à-dire que la solution d’Hammerspace resterait compatible avec le morcellement des fichiers entre plusieurs nœuds, propre à OneFS.
Par ailleurs, la fonction Flex-Files d’HammerSpace est désormais intégrée à Linux.
L’autre approche serait que Dell développe, comme Vast Data et IBM, un système d’accès parallèles similaire dans le principe au fonctionnement de NFSv4.2/pNFS, mais adapté au fonctionnement particulier de OneFS au sein de la baie. Un tel développement n’ayant pas été publiquement évoqué avant le salon Dell World 2024, on se demande si une telle solution pourrait réellement être prête pour cette année..