Un nouveau logiciel pourrait quasiment doubler les performances des SSD mutualisés dans les centres de données.

infohightech ·

Présentation de l'architecture de Sandook, mettant en évidence l'interaction entre les agents SSD (qui surveillent la charge et les signaux de performance), le contrôleur Sandook (qui prend des décisions centralisées en fonction de ces signaux) et les clients Sandook (qui exécutent ces décisions). Crédit : Chaudhry et al.

Des chercheurs du MIT ont mis au point un système intelligent permettant d'équilibrer les tâches des périphériques de stockage au sein d'un centre de données, ce qui peut prolonger la durée de vie du matériel de stockage et contribuer à un fonctionnement plus efficace du centre de données.

Pour améliorer l'efficacité des centres de données, plusieurs périphériques de stockage sont souvent regroupés sur un réseau afin que de nombreuses applications puissent les partager. Cependant, même avec ce regroupement, une part importante de la capacité des périphériques reste sous-utilisée en raison de la variabilité de leurs performances.

Des chercheurs du MIT ont mis au point un système qui améliore les performances des périphériques de stockage en gérant simultanément trois sources majeures de variabilité. Leur approche permet des gains de vitesse significatifs par rapport aux méthodes traditionnelles qui ne traitent qu'une seule source de variabilité à la fois.

Le système utilise une architecture à deux niveaux, avec un contrôleur central qui prend des décisions globales sur les tâches effectuées par chaque périphérique de stockage, et des contrôleurs locaux pour chaque machine qui redirigent rapidement les données si ce périphérique rencontre des difficultés.

Cette méthode, capable de s'adapter en temps réel aux variations de charge de travail, ne nécessite aucun matériel spécialisé. Lors de tests réalisés sur des tâches réalistes telles que l'entraînement de modèles d'IA et la compression d'images, les chercheurs ont constaté que le système offrait des performances quasiment deux fois supérieures à celles des approches traditionnelles. En répartissant intelligemment la charge de travail de plusieurs périphériques de stockage, le système permet d'accroître l'efficacité globale du centre de données.

« On a souvent tendance à vouloir allouer davantage de ressources à un problème pour le résoudre, mais cette approche est loin d'être durable. Nous souhaitons maximiser la durée de vie de ces ressources très coûteuses et fortement émettrices de carbone », explique Gohar Chaudhry, doctorant en génie électrique et informatique et auteur principal d'un article sur cette technique . « Grâce à notre solution logicielle adaptative, vous pouvez optimiser les performances de vos appareils existants avant de devoir les remplacer. »

Exploiter les performances inexploitées

Les disques SSD sont des périphériques de stockage numérique haute performance qui permettent aux applications de lire et d'écrire des données. Par exemple, un SSD peut stocker de vastes ensembles de données et les transmettre rapidement à un processeur pour l'entraînement d'un modèle d'apprentissage automatique.   

Le regroupement de plusieurs SSD pour permettre à de nombreuses applications de les partager améliore l'efficacité, car toutes les applications n'ont pas besoin d'utiliser la totalité de la capacité d'un SSD simultanément. Cependant, les performances des SSD varient, et le plus lent peut limiter les performances globales du pool.

Ces inefficacités proviennent de la variabilité du matériel SSD et des tâches qu'il effectue.

Pour exploiter le potentiel inexploité des SSD, les chercheurs ont développé Sandook, un système logiciel qui s'attaque simultanément à trois sources majeures de variabilité affectant les performances. « Sandook » est un mot ourdou qui signifie « boîte », et ici, il désigne un système de stockage.

L'une des sources de variabilité est due aux différences d'âge, d'usure et de capacité des SSD qui peuvent avoir été achetés à différents moments auprès de plusieurs fournisseurs.

Le second type de variabilité est dû au décalage entre les opérations de lecture et d'écriture effectuées sur le même SSD. Pour écrire de nouvelles données sur le périphérique, le SSD doit effacer certaines données existantes. Ce processus peut ralentir les opérations de lecture ou de récupération de données effectuées simultanément.

La troisième source de variabilité est le nettoyage de la mémoire, un processus qui consiste à collecter et à supprimer les données obsolètes afin de libérer de l'espace. Ce processus, qui ralentit le fonctionnement des SSD, est déclenché à intervalles aléatoires que l'opérateur du centre de données ne peut pas contrôler.

« Je ne peux pas supposer que tous les SSD se comporteront de manière identique tout au long de mon cycle de déploiement. Même si je leur attribue à tous la même charge de travail, certains seront à la traîne, ce qui nuira au débit net que je peux atteindre », explique Chaudhry.

Planifiez globalement, réagissez localement

Pour gérer ces trois sources de variabilité, Sandook utilise une architecture à deux niveaux. Un planificateur global optimise la répartition des tâches pour l'ensemble du pool, tandis que des planificateurs plus rapides sur chaque SSD réagissent aux événements urgents et déportent les opérations hors des périphériques saturés.

Le système surmonte les délais dus aux interférences entre les opérations de lecture et d'écriture en alternant les SSD qu'une application peut utiliser pour ces opérations. Cela réduit le risque que des opérations de lecture et d'écriture s'effectuent simultanément sur la même machine.

Sandook analyse également les performances typiques de chaque SSD. Il utilise ces informations pour détecter les ralentissements potentiels liés au nettoyage de la mémoire. Une fois ce ralentissement détecté, Sandook réduit la charge de travail sur le SSD concerné en redirigeant certaines tâches jusqu'à la fin du nettoyage.

« Si le SSD est occupé à nettoyer les données et ne peut plus supporter la même charge de travail, je veux la réduire progressivement et augmenter la charge petit à petit. Nous cherchons le point d'équilibre où il reste productif, afin d'optimiser ses performances », souligne Chaudhry.

Les profils SSD permettent également au contrôleur global de Sandook d'attribuer les charges de travail de manière pondérée, en tenant compte des caractéristiques et de la capacité de chaque périphérique.

Grâce à la vision d'ensemble du contrôleur global et à la réaction instantanée des contrôleurs locaux, Sandook peut gérer simultanément des variations se produisant à différentes échelles de temps. Par exemple, les retards liés au ramassage des déchets surviennent brutalement, tandis que la latence due à l'usure s'accumule sur plusieurs mois.

Les chercheurs ont testé Sandook sur un parc de 10 SSD et évalué le système sur quatre tâches : l’exécution d’une base de données, l’entraînement d’un modèle d’apprentissage automatique, la compression d’images et le stockage de données utilisateur. Sandook a augmenté le débit de chaque application de 12 à 94 % par rapport aux méthodes statiques et a amélioré l’utilisation globale de la capacité des SSD de 23 %.

Ce système permettait aux SSD d'atteindre 95 % de leurs performances maximales théoriques, sans nécessiter de matériel spécialisé ni de mises à jour spécifiques à l'application.

« Notre solution dynamique permet d'optimiser les performances de tous les SSD et de les pousser à leurs limites. À cette échelle, chaque octet de capacité économisé compte vraiment », explique Chaudhry.

À l'avenir, les chercheurs souhaitent intégrer les nouveaux protocoles disponibles sur les SSD les plus récents, offrant ainsi aux opérateurs un meilleur contrôle du placement des données. Ils veulent également tirer parti de la prévisibilité des charges de travail d'IA pour accroître l'efficacité des opérations sur les SSD.

« Le stockage flash est une technologie puissante qui sous-tend les applications modernes des centres de données, mais le partage de cette ressource entre des charges de travail aux exigences de performance très variables demeure un défi majeur. Ce travail représente une avancée significative grâce à une solution élégante et pratique, prête à être déployée, qui rapproche le stockage flash de son plein potentiel dans les clouds de production », déclare Josh Fried, ingénieur logiciel chez Google et futur professeur adjoint à l'Université de Pennsylvanie, qui n'a pas participé à ces travaux.

https://news.mit.edu/2026/helping-data-centers-deliver-higher-performance-less-hardware-0407

https://goharirfan.me/publications/sandook_nsdi_2026.pdf

Cet article vous a été utile ? Partagez-le.