Simple Science

La science de pointe expliquée simplement

# Informatique # Informatique distribuée, parallèle et en grappes

DAOS : Une Nouvelle Approche pour le Stockage de Données

DAOS propose une gestion des données efficace pour les environnements de calcul haute performance.

Nicolau Manubens, Johann Lombardi, Simon D. Smart, Emanuele Danovaro, Tiago Quintino, Dean Hildebrand, Adrian Jackson

― 8 min lire


DAOS : Stockage de DAOS : Stockage de nouvelle génération l'informatique moderne. DAOS améliore l'accès aux données pour
Table des matières

Le Distributed Asynchronous Object Store (DAOs) est un nouveau type de logiciel destiné à stocker des données. Il est conçu pour bien fonctionner avec des dispositifs de stockage rapides comme la Mémoire non volatile (NVM). DAOS vise à offrir de meilleures performances que les systèmes de stockage traditionnels, surtout dans les environnements de calcul haute performance (HPC).

DAOS propose plusieurs façons pour les applications d’interagir avec lui. Cela inclut une API spéciale pour le stockage d’objets direct et un module appelé DAOS FUSE qui permet aux applications classiques de fonctionner avec DAOS sans nécessiter beaucoup de modifications.

Pourquoi DAOS ?

Dans de nombreux cas, les applications ont du mal à tirer le meilleur parti des systèmes de fichiers distribués traditionnels. Ces systèmes exigent souvent une gestion minutieuse de la façon dont les données sont lues et écrites. Lorsque plusieurs processus essaient d’accéder aux mêmes données, des problèmes peuvent surgir et ralentir les opérations.

DAOS a été créé pour surmonter ces problèmes. Il a été conçu pour minimiser la surcharge liée à la gestion des métadonnées, l’information décrivant les données. En fonctionnant principalement dans l’espace utilisateur et en utilisant une approche sans verrou pour gérer l’accès, DAOS peut traiter les données plus efficacement.

Interfaces pour utiliser DAOS

DAOS fournit différentes manières aux programmes de communiquer avec lui :

  1. libdaos : C'est une bibliothèque qui permet aux applications d'utiliser une API de stockage d'objets. Elle inclut des fonctions pour gérer de grandes arrays de données et pour gérer des paires clé-valeur. Les utilisateurs peuvent créer des objets dans un conteneur DAOS, ce qui aide à organiser les données. Chaque objet reçoit un identifiant unique, et des options comme le sharding et la réplication aident à gérer le stockage des données.

  2. libdfs : Cette bibliothèque aide les applications construites autour de POSIX (un ensemble de standards pour les systèmes de fichiers) à travailler facilement avec DAOS. Les applications utilisant libdfs peuvent effectuer des appels normaux de système de fichiers, et ces appels sont traduits en opérations DAOS.

  3. DFUSE : C'est un démon qui permet aux utilisateurs de monter DAOS pour que les applications existantes basées sur POSIX puissent l'utiliser. Bien que cela facilite l'utilisation de DAOS avec peu ou pas de modifications, cela peut ne pas être aussi performant sous de lourdes charges de travail.

  4. I/O Interception Library (IL) : Cette bibliothèque peut être utilisée avec DFUSE pour de meilleures performances lors du traitement de petites demandes d'I/O.

Tester les performances de DAOS

Pour voir à quel point DAOS performe bien, des tests ont été réalisés avec différentes applications sur une configuration utilisant Google Cloud Platform. Les tests impliquaient l'utilisation de machines virtuelles avec un stockage local rapide.

Des mesures ont été prises pour évaluer la rapidité avec laquelle les données pouvaient être écrites et lues via différentes interfaces. Les résultats ont montré que DAOS pouvait atteindre des niveaux de bande passante élevés, ce qui signifie qu'il peut déplacer beaucoup de données rapidement.

Outils de benchmarking

Plusieurs outils de benchmarking ont été utilisés pour évaluer les performances de DAOS. En voici quelques-uns :

  1. IOR : Cet outil de benchmarking est conçu pour évaluer les performances I/O des systèmes de stockage. Il peut être configuré de plusieurs manières, permettant aux utilisateurs de tester divers modèles I/O.

  2. HDF5 : C'est un format de fichier populaire et un ensemble d'outils pour gérer de grandes quantités de données. HDF5 peut travailler avec DAOS grâce à des adaptations spéciales.

  3. Field I/O : Ce benchmark est spécialement adapté pour les tâches de prévision météorologique numérique. Il teste à quel point DAOS peut gérer des opérations de données météorologiques.

  4. FDB Hammer : Un autre outil qui mesure les performances, conçu pour tester un modèle de stockage d'objets spécifique utilisé pour des champs météorologiques.

Configuration et matériel de test

Tous les tests ont été réalisés en utilisant des machines virtuelles de Google Cloud. La configuration de DAOS utilisait des types de machines personnalisés, garantissant suffisamment de CPU et de mémoire pour gérer les tâches efficacement. Des SSD NVMe locaux ont été utilisés pour un accès rapide aux données.

Les benchmarks ont également été exécutés sur d'autres systèmes comme Lustre et Ceph, pour voir comment DAOS se compare en termes de performances.

Mesures de bande passante brute

Avant de lancer des benchmarks, des mesures de bande passante brute ont été prises depuis le stockage local. Cela a impliqué d'écrire et de lire de grands blocs de données pour voir à quelle vitesse le stockage pouvait fonctionner. Les résultats ont montré des vitesses impressionnantes, ce qui a permis d’établir une comparaison efficace entre les performances de DAOS et d'autres systèmes.

Comparaison des interfaces DAOS

Différentes interfaces DAOS ont été testées pour trouver les options les plus rapides pour lire et écrire des données. Les résultats étaient cohérents et montraient que la plupart des interfaces pouvaient atteindre des vitesses très élevées. Dans de nombreux cas, en particulier pour la lecture, les résultats se rapprochaient du maximum théorique de bande passante pour les machines utilisées.

Les tests ont montré que même s'il y avait de légères variations dans la façon dont chaque interface performait, toutes pouvaient atteindre des résultats impressionnants.

Petits workloads I/O

Lorsqu'il s'agit d’opérations I/O plus petites, utiliser la bibliothèque I/O Interception avec DFUSE s'est avéré bénéfique. Les différences de performance étaient frappantes lorsque les tailles d'I/O étaient réduites.

Pour des opérations plus importantes, la gestion standard de l'interface était suffisante, mais à mesure que les tailles d'opération diminuaient, l'IL avait un impact perceptible sur la performance.

Évaluation des workloads complexes

Des benchmarks plus complexes ont été réalisés pour évaluer les performances de DAOS sous différentes configurations. Les tests incluaient la variation des manières d'accéder aux données et examinaient comment DAOS gérait de nombreuses petites opérations.

Les résultats ont montré que DAOS pouvait maintenir de hautes performances même avec ces charges de travail plus complexes. Il a prouvé avoir des forces dans le traitement des tâches I/O à la fois grandes et complexes de manière efficace.

Tests de scalabilité

La scalabilité se concentre sur la façon dont un système performe à mesure que davantage de ressources sont ajoutées. Des tests ont été effectués avec DAOS fonctionnant sur un nombre croissant de nœuds. À mesure que des nœuds de serveur supplémentaires étaient utilisés, DAOS montrait généralement une réponse de scalabilité linéaire, ce qui signifie qu'il pouvait gérer efficacement plus de travail sans sacrifier la vitesse.

Cependant, certaines applications ne se sont pas aussi bien évoluées en raison de limitations de conception. Par exemple, HDF5 exécuté sur DAOS avait du mal à maintenir des performances optimales sous des charges lourdes.

Tests de redondance

La redondance est importante pour la sécurité des données. DAOS prend en charge la réplication et le codage d’effacement pour garder les données en sécurité. Des tests ont été effectués en utilisant ces méthodes pour voir si la performance en souffrirait.

Les résultats ont indiqué que bien que la redondance ralentisse légèrement l'écriture des données, les vitesses de lecture restent largement sans impact. Cela signifie qu’en dépit des mesures de sécurité en place, DAOS peut encore fonctionner efficacement.

Comparaison avec d'autres systèmes de fichiers

Pour bien comprendre les forces de DAOS, des comparaisons ont été faites avec Lustre et Ceph. Lustre, un autre système de fichiers distribué, a bien performé mais avait des limitations concernant les tâches de métadonnées.

Ceph offrait des performances décentes mais était à la traîne par rapport à DAOS en termes d’efficacité, surtout lors du traitement d'opérations I/O plus grandes. Il est devenu évident que DAOS offrait de meilleures performances globales tant pour les transferts de grandes quantités de données que pour les opérations de petites données.

Conclusion

En résumé, DAOS a montré un potentiel significatif en tant que solution de stockage dans divers environnements, en particulier dans le calcul haute performance. Sa capacité à gérer efficacement de grandes quantités de données, tout en supportant les métadonnées et les petites opérations, le distingue des systèmes de fichiers traditionnels.

Alors que les applications continuent à s'appuyer sur un accès rapide et fiable aux données, DAOS se démarque comme une option solide qui répond aux besoins modernes. Avec les développements en cours, il est probable que nous verrons encore plus d'améliorations dans ses capacités et performances. Les recherches et tests réalisés fournissent des aperçus précieux sur la manière dont DAOS peut être exploité pour une gestion supérieure des données dans une variété de contextes.

Articles similaires