Skip to content. | Skip to navigation

Emergences

Lettre d'information n° 21

Image emergences pour impression
Personal tools
You are here: Home 2012 Lettre d'information n° 21 BlobSeer : un système de stockage pour l'ère exaflopique
Document Actions

BlobSeer : un système de stockage pour l'ère exaflopique

La taille des données n'en finit plus de croître. Elle menace l'efficacité des services de cloud computing et des infrastructures de calcul haute performance à usage scientifique. BlobSeer est un système de stockage innovant conçu pour fluidifier les accès massivement parallèles aux données, grâce à des techniques de versioning pour la manipulation concurrente des grands objets binaires qu'on appelle des Blobs. Cette approche suscite l'intérêt de groupes tels que Microsoft, IBM ou SAP, comme l'explique Gabriel Antoniu, chercheur Inria à Rennes.

La taille des données n'en finit plus de croître. Elle menace l'efficacité des services de cloud computing et des infrastructures de calcul haute performance à usage scientifique. BlobSeer est un système de stockage innovant conçu pour fluidifier les accès massivement parallèles aux données, grâce à des techniques de versioning pour la manipulation concurrente des grands objets binaires qu'on appelle des Blobs. Cette approche suscite l'intérêt de groupes tels que Microsoft, IBM ou SAP, comme l'explique Gabriel Antoniu, chercheur Inria à Rennes. 

L'exaoctet ? Un trillion d'octets. Mille fois les 1015 du petaoctet. Un bond vertigineux hors de portée pour les bases de données en l'état actuel de la technologie. Un problème d'autant plus pressant que les ordinateurs, eux, continuent de produire des volumes toujours plus gros. Le syndrome porte même un nom : Big Data. À cette inflation se greffe un autre phénomène : la science elle-même se nourrit de plus en plus de données. La génomique, l'océanographie ou encore l'astronomie puisent abondamment dans ces immenses réservoirs d'informations. Ce nouveau tropisme faisait dire à feu Jim Gray, de Microsoft, que “l'on peut considérer l'usage intensif des données (...) comme un quatrième paradigme de l'exploration scientifique” succédant aux époques du calcul, de la théorie et de l'empirisme.

" Le HPC disposera d'ordinateurs exaflopiques vers 2020. Les services de cloud suivront la tendance, pronostique Gabriel Antoniu, responsable de l'équipe de recherche KerData (1). Mais les outils classiques de gestion de données montrent leurs limites. Les architectures actuelles reposent sur un stockage centralisé des méta-données. Or, c'est précisément ce qui nuit aux performances et ne passe pas à l'échelle. Des centaines de milliers de fichiers sont créés et actualisés simultanément. Ces actions massivement parallèles induisent un surcoût prohibitif. C'est toute l'efficacité des machines qui s'en trouve amoindrie. Voilà, le verrou que nous essayons de lever.” Un des moyens : “décentraliser la gestion des meta-données de manière efficace. BlobSeer est un système de stockage de données qui contribue à résoudre ce problème de gestion. Il repose sur une méthode de versioning pour la manipulation concurrente des Blobs (2) qui permet de maintenir un haut débit malgré un accès aux données massivement parallèle.

Stockage pour applications MapReduce

La méthode offre un système de stockage aux applications utilisant MapReduce. Popularisée par Google pour le calcul distribué sur grappes, MapReduce fonctionne comme un double filtrage. “Première phase : on extrait l'information qui nous intéresse. C'est le Map. Seconde phase : on procède à l'agrégation de ces résultats. C'est le Reduce. Ces tâches génèrent énormément d'accès parallèles aux données. BlobSeer permet de faciliter cet accès.

Développé par la Fondation Apache, Hadoop est la plus en vogue des solutions permettant d'implémenter le modèle de programmation MapReduce sur les clouds.  Ce cadre open source a été adopté par des géants du web comme Yahoo, FaceBook ou encore Amazon. “Quand Hadoop utilise BlobSeer plutôt que HDSS, son propre système de fichiers, les performances augmentent sensiblement. Dans l'avenir, des services de cloud pourraient donc choisir d'intégrer notre composant dans leur version de Hadoop.” Parmi les industriels qui s'intéressent à cette alternative, figure IBM. “Nous sommes partenaires dans le cadre d'un projet ANR (3) sur le sujet.”  Plus récemment, c'est l'éditeur de logiciels SAP qui a manifesté son intention d'évaluer cette nouvelle méthode.

Les scientifiques de KerData déclinent aussi une version de BlobSeer pour Azure, l'infrastructure de cloud de Microsoft. Son nom : TomusBlobs. “De tous les projets nés de la Cloud Research Initiative de Microsoft, c'est actuellement celui qui avance le plus vite. Nous avons présenté les résultats à Henrique Malvar, responsable scientifique de Microsoft Research et à Tony Hey, vice-président de Microsoft Research Connections, lors de leurs récentes visites au centre de recherche commun à Saclay. Les tests ont permis de montrer un débit nettement supérieur : trois fois en écriture, deux fois et demi en lecture.”

Également au niveau système


Mais BlobSeer n'est pas seulement une solution performante pour la gestion de données applicatives. “Au niveau système, il peut aussi servir pour le stockage et le déploiement des images de machines virtuelles dans le cloud.  Celles-ci sont parfois des centaines ou des milliers. Or, leur déploiement simultané repose lui aussi sur une architecture centralisée. Ce qui en fait une étape préliminaire exigeant beaucoup de temps.

Une fois les machines virtuelles lancées, se pose la question des sauvegardes. En cas de panne, il faut pouvoir repartir d'un état cohérent du système. D'où l'intérêt de conserver des instantanés. “À nouveau, cela passe par un schéma d'écriture de données massivement concurrente pour stocker les modifications des images de ces machines virtuelles. Mais au lieu de recourir à un serveur centralisé, l'idée est d'utiliser BlobSeer pour procéder à un stockage décentralisé des images des machines virtuelles. Ainsi, l'utilisateur de clouds dispose de lectures concurrentes très efficaces pour la phase de déploiement puis d'écritures concurrentes très efficaces pour la phase de sauvegarde. En collaboration avec l'Argonne National Laboratory, nous illustrons cette fonctionnalité sur Nimbus,” un outil open source qui fournit une infrastructure en tant que service (Iaas) à la communauté scientifique.

En sus de tout cela, les chercheurs commencent à explorer encore une autre déclinaison. Pyramid est une méthode de gestion d'accès aux données qui emprunte beaucoup à BlobSeer mais concerne plus spécifiquement le stockage des tableaux. On ne s'intéresse plus ici aux Blobs mais aux données multi-dimentionnelles. Dans le contexte du HPC, beaucoup d'applications scientifiques font du traitement parallèle de tableaux. Mais là aussi, l'accès concurrent a atteint ses limites.

Notes:
(1)  KerData est une équipe-projet Inria commune avec l'antenne Bretagne de l'ENS Cachan. C'est aussi une équipe de l'Irisa.
(2) Binary Large OBject. Un type de données binaires entreposées dans des systèmes de bases.
(3) Les partenaires en sont: KerData, Graal, Inria-UIUC, IBCP, IBM, CI-UC, UI Urbana-Champaign, Medit.