CunoFS accroche un accès NAS accéléré aux stockages objets
L'éditeur PetaGene décline son logiciel de compression de données génomiques pour le cloud en une bibliothèque installable sur des serveurs d'entreprises. Pour qu'ils enregistrent leurs fichiers sur S3, sans modifier aucune de leurs applications.
La capacité sans fin d’un service de stockage objet en cloud, conjugué à la facilité d’accès d’un mode fichier compatible Posix. Telle est la promesse de CunoFS, le système de stockage mis au point par l’éditeur britannique PetaGene, dans le but de résoudre un problème qui s’est récemment répandu dans les entreprises : faire du calcul hautes performances sur de très grandes quantités de données.
La problématique concerne l’intelligence artificielle, mais aussi la production vidéo, la recherche pharmaceutique ou encore la détection de fraude qui, pour être plus efficaces, se nourrissent le plus rapidement possible d’informations venues des quatre coins du monde. Une tendance qui se serait accélérée dans les entreprises depuis 2020. Or, lire/écrire rapidement et le faire sur un espace de stockage gigantesque sont deux utilisations extrêmes qui, mises ensemble, font d’ordinaire exploser les coûts.
« Pour économiser sur les coûts de la capacité, la solution est de passer par du stockage objet, en local ou en cloud. Problème, vos applications de calcul ne sont pas faites pour ça. Elles n’ouvrent et n’enregistrent que des fichiers, typiquement sur un NAS. Elles n’envoient pas de requêtes HTTP comme il faut le faire en S3 », résume Dan Greenfield (au centre sur la photo), cofondateur et PDG de PetaGene. LeMagIT a pu le rencontrer lors d’un événement IT Press Tour organisé au début de l’été, à Berlin, consacré aux entreprises européennes qui innovent dans le domaine du stockage.
Mettre un accès NAS aux buckets S3
Dan Greenfield illustre son propos d’exemples : « sur AWS, un stockage S3 de 1 To auquel vous accédez fréquemment coûte 276 dollars par mois. Avec un NAS standard, telle que leur offre EFS, la facture grimpe à 3600 $/mois. Et si vous souhaitez disposer des mêmes accès parallèles que ceux que vous offre S3, il faut alors opter pour leur service FSx Lustre, dont la facture pour 1 To peut s’élever à 7200 $/mois ! »
Par ailleurs, les entreprises excluraient de convertir leurs applications pour qu’elles travaillent en S3 plutôt qu’en mode fichiers. Au-delà du protocole de communication (des API REST à écrire alors qu’il suffit de passer par l’OS hôte pour accéder à des fichiers), il faudrait changer aussi la logique des algorithmes et les habitudes des utilisateurs. En mode objet, il n’y a pas de notion de répertoires, pas de gestion des étiquettes Posix (droits par utilisateur et/ou groupe d’utilisateurs), pas de modification, mais la création d’une nouvelle version, etc. La migration serait trop longue, trop coûteuse.
Pour contourner le problème du coût de stockage plus élevé en NAS, l’approche traditionnelle consiste à ajouter une passerelle frontale qui dispose d’un accès en mode fichier (un NAS qui partage son contenu en NFS ou SMB) et qui convertit à la volée les fichiers en objets. Un exemple de passerelle est le logiciel Open source s3fs.
« Le problème de ce type d’architecture est que la passerelle crée un goulet d’étranglement, qui met en file indienne tous les accès que des serveurs peuvent faire en parallèle », dit Dan Greenfield. Et de préciser que ces accès se feraient en parallèle s’ils étaient communiqués avec le protocole S3.
« Notre solution consiste donc à installer une passerelle fichier/objet sur chaque serveur qui exécute les applications : c’est CunoFS », enchaîne-t-il.
Et de faire la démonstration du produit : CunoFS monte sur chaque serveur où il est installé un volume fichiers dont le chemin Posix est « /cuno/s3 » et qui pointe vers le bucket indiqué dans les préférences. Dès lors, il devient possible sur ce serveur Linux de naviguer dans des répertoires avec la commande « cd », d’y extraire les fichiers d’une archive avec la commande « tar », de changer les droits d’accès avec « chmod », de filtrer des contenus avec « grep », etc.
Beaucoup plus rapide que des NAS traditionnels
Manifestement, CunoFS ne sert pas qu’à éviter le goulet d’étranglement d’une passerelle unique : il permet aussi d’accélérer les accès au-delà de la vitesse offerte par des NAS traditionnels.
Selon des chiffres de performances montrés par PetaGene, CunoFS installé sur un serveur virtuel d’AWS permet d’écrire le code source du noyau Linux en 128 secondes vers un stockage S3 et de le relire en 21 secondes.
Faire les mêmes opérations depuis un serveur applicatif vers le service NAS EFS prend respectivement 6 et 10,5 minutes. Ici, l’écriture est plus rapide que la lecture, car EFS utilise des caches.
En passant par une passerelle NAS/objet externe comme s3fs, l’écriture de ce même code depuis le même serveur, vers le même stockage objet S3 prend un peu plus de deux heures. Tandis que la relecture prend environ un quart d’heure.
Autre exemple, qui parlera plus aux entreprises utilisatrices de frameworks d’IA, un serveur PyTorch hébergé sur GCP écrira à la vitesse de 260 Mbit/s vers un service de stockage objet en passant par la passerelle s3fs, à la vitesse de 350 Mbit/s vers un NAS qui ne nécessite pas de conversion et à la vitesse de 20 Gbit/s si le serveur PyTorch est équipé de CunoFS.
Comment CunoFS parvient-il à lire/écrire plus rapidement des fichiers qu’un accès NAS qui n’a même pas besoin de convertir les accès en requêtes HTPP ? Tout simplement parce que CunoFS n’est pas qu’une passerelle locale, c’est aussi un outil de compression à la volée particulièrement efficace. Il est plus rapide, car il transfère beaucoup moins de données.
Une déclinaison de PetaSuite
En vérité, CunoFS n’est pas le produit qui a inspiré la création de PetaGene en 2014. L’activité initiale de cet éditeur britannique consistait à fournir aux laboratoires de recherche un outil de compression pour leurs fichiers de données génomiques. Baptisé PetaSuite, celui-ci atteint des taux de compression de 60 à 91%.
PetaSuite s’est rapidement accompagné d’une bibliothèque PetaLink à installer sur chaque serveur applicatif et qui permet de compresser/décompresser les fichiers à la volée, c’est-à-dire présenter aux applications ces fichiers comme s’ils n’étaient pas compressés. L’ensemble sert notamment à accélérer singulièrement l’écriture et la relecture des fichiers sur des NAS.
En 2018, la plateforme s’est enrichie d’une fonction pour stocker ces fichiers sur des buckets S3, avec conversion à la volée du mode fichier en mode objet. Le module mettra encore quatre ans avant de servir à autre chose qu’aux fichiers de données génomiques.
« Initialement, PetaSuite Cloud Edition était très efficace sur l’enregistrement en cloud de très gros fichiers, mais nos performances étaient très décevantes sur les fichiers de taille plus conventionnelle. Nous avons compris que résoudre ce problème nous permettrait d’élargir notre clientèle à toutes les entreprises désormais concernées par le calcul sur une grande quantité de fichiers », raconte Dan Greenfield.
En l’occurrence, PetaGene a compris qu’il avait fait l’erreur de stocker les métadonnées Posix (répertoires, droits d’accès, etc.) avec les autres métadonnées stockées en S3 (nom de l’auteur, type de contenu, etc.). « Les métadonnées Posix sont en fait beaucoup plus simples que les autres métadonnées S3, elles sont très facilement compressibles, on peut les fédérer entre plusieurs fichiers. Il était donc pertinent de les traiter à part. Et c’est ainsi que le module cloud de PetaSuite Cloud Edition est devenu CunoSF », ajoute notre interlocuteur.
Depuis 2022, CunoFS séduit les fournisseurs de stockage traditionnels, notamment Dell et NetApp, qui y voient un moyen d’accélérer leurs solutions de stockage. Des bundles pourraient bientôt voir le jour. D’ici là, PetaGene compte étendre la compatibilité de CunoFS au-delà des serveurs Linux. D’ici à la rentrée prochaine, des versions clientes devraient arriver pour Windows et macOS, ainsi qu’un pilote CSI pour les clusters Kubernetes. Une version compatible avec les serveurs ARM pourrait même paraître d’ici à la fin de cette année.