OpenIO annonce la sortie de la release 19.10

La dernière version du logiciel de stockage développé par OpenIO intègre notamment des améliorations de performance prototypées et testées en conditions réelles lors du #TbpsChallenge. Ce benchmark, réalisé sur une infrastructure mise à disposition par Criteo Labs, a permis à la technologie OpenIO de franchir le cap du térabit par seconde en écriture. Cap sur […]
This article is also available in English Read the English version
| @openio
Share

La dernière version du logiciel de stockage développé par OpenIO intègre notamment des améliorations de performance prototypées et testées en conditions réelles lors du #TbpsChallenge. Ce benchmark, réalisé sur une infrastructure mise à disposition par Criteo Labs, a permis à la technologie OpenIO de franchir le cap du térabit par seconde en écriture.

Cap sur la performance, pour répondre aux use cases de type Big Data

Le #TbpsChallenge réalisé en septembre dernier a permis de démontrer l’hyperscalabilité et la haute performance de la technologie OpenIO (1,372 Tbps sur un cluster de 350 machines physiques). Pour réaliser ce record, des optimisations ont été apportées à différents mécanismes inhérents au fonctionnement d’OpenIO, en particulier au niveau de la répartition de la charge.

OpenIO a prototypé un mécanisme de load balancing basé sur des redirections intelligentes entre les nœuds (redirections 307), pour envoyer la charge sur les serveurs les plus disponibles à un instant donné. Dans le cas où le nœud contacté par le mécanisme de load balancing primaire n’est pas disponible – ou si un autre nœud est capable de réaliser la tâche requise plus rapidement – la redirection est opérée. Chacune des passerelles OpenIO S3 est ainsi capable de redistribuer la charge, pour éviter l’apparition d’un goulot d’étranglement au niveau du end-point de la plateforme. Celui-ci est, de fait, distribué entre l’ensemble des machines du cluster. Ce système de redirection, testé en septembre, a été industrialisé et intégré à la release 19.10 pour profiter à l’ensemble des utilisateurs. De la même manière, des optimisations relatives au déploiement de la technologie OpenIO à grande échelle ont été implémentées.

La performance de la technologie OpenIO a également été améliorée au niveau des annuaires de métadonnées, soit les bases de données distribuées à 3 niveaux qui cartographient les données sur la plateforme de stockage, depuis les buckets jusqu’aux chunks. Les appels réalisés entre les annuaires « méta1 » et « méta 2 » ont ainsi été réduits au strict minimum pour gagner en latence lors de l’écriture et de la lecture de données.

Intégration d’OpenIO avec des applications tierces orientées Big Data et HPC

Le #TbpsChallenge a aussi permis de consolider l’intégration entre OpenIO et Hadoop, le framework de référence dans l’univers du Big Data, validant la parfaite compatibilité d’OpenIO avec la version 3.1.1 d’Hadoop. Via la commande DistCp (copie distribuée), il est ainsi possible de lire ou écrire depuis et vers HDFS ou S3 avec des performances optimales. Ceci permet de substituer OpenIO à HDFS pour constituer un cluster Big Data, en découplant le storage du compute pour optimiser tout à la fois les coûts et les performances, via une meilleure allocation des ressources matérielles.

La compatibilité d’OpenIO avec Apache Spark version 2.4.4 (framework de calcul distribué) a été elle aussi validée. De même, l’intégration avec HDF Kita, connecteur entre les applications HPC et les jeux de données au format HDF5, a été optimisée (en savoir plus).

Officialisée avec l’intégration d’OpenIO au consortium iRODS, la compatibilité de la technologie OpenIO avec l’application open source de data management iRODS version 4.2.4 est également au menu de cette release. Populaire dans le milieu de la recherche académique, iRODS permet, entre autres, d’automatiser les flux de données au sein d’un environnement de stockage multi-tiers, ceci en créant un namespace unifié et un catalogue de métadonnées unique. L’équipe d’OpenIO poursuit d’ailleurs ses efforts concernant cette intégration, pour minimiser les flux requis par iRODS lors de la phase de listing des fichiers. L’objectif est qu’OpenIO notifie iRODS en temps réel des événements sur la plateforme de stockage, de sorte que le catalogue de métadonnées soit mis à jour de manière incrémentale.

Consolidations techniques diverses

La distribution des tâches (reconstruction de données en cas de perte d’un disque/d’un serveur et déplacement de données) a été repensée. Ces opérations, qui peuvent dorénavant être lancées depuis la webUI, sont maintenant parallélisées à l’échelle du cluster, pour être réalisées plus rapidement en profitant de l’ensemble des ressources de calcul disponibles.

Une version 2 de la fonctionnalité de compression des données est disponible dans cette release, améliorant les performances en termes de rapidité de calcul et de gain d’espace sur la plateforme (en fonction du type de fichiers).

Enfin, OpenIO supporte désormais Python en version 3. Une mise à jour réalisée en prévision de la fin du support de Python 2 au 1er janvier 2020, qui est aussi un pré-requis pour supporter les nouvelles versions des distributions Ubuntu et CentOS à venir.