• Home
  • Chimie
  • Astronomie
  • Énergie
  • La nature
  • Biologie
  • Physique
  • Électronique
  • Le système d'IA alloue de manière optimale les charges de travail sur des milliers de serveurs pour réduire les coûts, économiser l'énergie

    Un nouveau système des chercheurs du MIT « apprend » automatiquement comment répartir les opérations de traitement des données sur des milliers de serveurs.

    Un nouveau système développé par les chercheurs du MIT « apprend » automatiquement à planifier les opérations de traitement des données sur des milliers de serveurs, une tâche traditionnellement réservée à des tâches imprécises, algorithmes conçus par l'homme. Cela pourrait aider les centres de données énergivores d'aujourd'hui à fonctionner beaucoup plus efficacement.

    Les centres de données peuvent contenir des dizaines de milliers de serveurs, qui exécutent en permanence les tâches de traitement des données des développeurs et des utilisateurs. Les algorithmes de planification de cluster allouent les tâches entrantes sur les serveurs, en temps réel, pour utiliser efficacement toutes les ressources informatiques disponibles et accomplir les tâches rapidement.

    Traditionnellement, cependant, les humains affinent ces algorithmes d'ordonnancement, sur la base de quelques lignes directrices de base (« politiques ») et de divers compromis. Ils peuvent, par exemple, coder l'algorithme pour effectuer certaines tâches rapidement ou répartir les ressources de manière égale entre les tâches. Mais les charges de travail, c'est-à-dire les groupes de tâches combinées, sont de toutes tailles. Par conséquent, il est pratiquement impossible pour les humains d'optimiser leurs algorithmes de planification pour des charges de travail spécifiques et, par conséquent, ils sont souvent en deçà de leur véritable potentiel d'efficacité.

    Les chercheurs du MIT ont plutôt déchargé tout le codage manuel sur des machines. Dans un article présenté au SIGCOMM, ils décrivent un système qui s'appuie sur « l'apprentissage par renforcement » (RL), une technique d'apprentissage automatique par essais et erreurs, pour adapter les décisions de planification à des charges de travail spécifiques dans des clusters de serveurs spécifiques.

    Faire cela, ils ont construit de nouvelles techniques RL qui pourraient s'entraîner sur des charges de travail complexes. Dans la formation, le système essaie de nombreuses façons possibles d'allouer les charges de travail entrantes sur les serveurs, finalement trouver un compromis optimal dans l'utilisation des ressources de calcul et des vitesses de traitement rapides. Aucune intervention humaine n'est requise au-delà d'une simple instruction, tel que, « réduire les délais d'exécution des tâches ».

    Par rapport aux meilleurs algorithmes d'ordonnancement manuscrits, le système des chercheurs termine les travaux environ 20 à 30 pour cent plus rapidement, et deux fois plus rapide pendant les périodes de forte affluence. Principalement, cependant, le système apprend à compacter efficacement les charges de travail pour laisser peu de déchets. Les résultats indiquent que le système pourrait permettre aux centres de données de gérer la même charge de travail à des vitesses plus élevées, utilisant moins de ressources.

    "Si vous avez un moyen de faire des essais et des erreurs en utilisant des machines, ils peuvent essayer différentes manières de planifier les tâches et déterminer automatiquement quelle stratégie est meilleure que les autres, " dit Hongzi Mao, un doctorat étudiant au Département de génie électrique et informatique (EECS). "Cela peut améliorer automatiquement les performances du système. Et toute légère amélioration de l'utilisation, même 1 pour cent, peut économiser des millions de dollars et beaucoup d'énergie dans les centres de données."

    "Il n'y a pas de taille unique pour prendre des décisions de planification, " ajoute le co-auteur Mohammad Alizadeh, professeur à l'EECS et chercheur au Laboratoire d'informatique et d'intelligence artificielle (CSAIL). « Dans les systèmes existants, ce sont des paramètres codés en dur que vous devez décider à l'avance. Notre système apprend à la place à ajuster ses caractéristiques de politique de planification, en fonction du centre de données et de la charge de travail."

    Rejoindre Mao et Alizadeh sur le papier sont :les post-doctorants Malte Schwarzkopf et Shaileshh Bojja Venkatakrishnan, et assistant de recherche diplômé Zili Meng, tout le CSAIL.

    RL pour la planification

    Typiquement, les tâches de traitement de données arrivent dans les centres de données représentés sous forme de graphiques de « nœuds » et « arêtes ». Chaque nœud représente une tâche de calcul qui doit être effectuée, où plus le nœud est gros, plus la puissance de calcul nécessaire est élevée. Les arêtes reliant les nœuds relient les tâches connectées entre elles. Les algorithmes de planification attribuent des nœuds aux serveurs, sur la base de diverses politiques.

    Mais les systèmes RL traditionnels ne sont pas habitués à traiter de tels graphiques dynamiques. Ces systèmes utilisent un "agent" logiciel qui prend des décisions et reçoit un signal de retour en guise de récompense. Essentiellement, il essaie de maximiser ses récompenses pour toute action donnée pour apprendre un comportement idéal dans un certain contexte. Ils peuvent, par exemple, aider les robots à apprendre à effectuer une tâche comme ramasser un objet en interagissant avec l'environnement, mais cela implique le traitement de la vidéo ou des images à travers une grille de pixels plus facile à définir.

    Pour construire leur planificateur basé sur RL, appelé Décima, les chercheurs ont dû développer un modèle capable de traiter des tâches structurées en graphes, et s'adapter à un grand nombre de tâches et de serveurs. L'"agent" de leur système est un algorithme d'ordonnancement qui exploite un réseau de neurones graphiques, couramment utilisé pour traiter des données structurées en graphes. Pour proposer un réseau de neurones graphiques adapté à l'ordonnancement, ils ont implémenté un composant personnalisé qui agrège les informations sur les chemins du graphique, par exemple pour estimer rapidement la quantité de calcul nécessaire pour terminer une partie donnée du graphique. C'est important pour la planification des tâches, car les nœuds "enfants" (inférieurs) ne peuvent pas commencer à s'exécuter tant que leurs nœuds "parents" (supérieurs) ne sont pas terminés, il est donc essentiel d'anticiper les travaux futurs le long des différents chemins du graphique pour prendre de bonnes décisions d'ordonnancement.

    Pour former leur système RL, les chercheurs ont simulé de nombreuses séquences graphiques différentes qui imitent les charges de travail entrant dans les centres de données. L'agent prend ensuite des décisions sur la manière d'allouer chaque nœud le long du graphe à chaque serveur. Pour chaque décision, un composant calcule une récompense en fonction de ses performances lors d'une tâche spécifique, par exemple en minimisant le temps moyen nécessaire pour traiter une seule tâche. L'agent continue, améliorer ses décisions, jusqu'à ce qu'il obtienne la plus haute récompense possible.

    Référencer les charges de travail

    Une préoccupation, cependant, est que certaines séquences de charge de travail sont plus difficiles que d'autres à traiter, parce qu'ils ont des tâches plus importantes ou des structures plus compliquées. Ceux-ci prendront toujours plus de temps à traiter et, donc, le signal de récompense sera toujours plus faible que les plus simples. Mais cela ne signifie pas nécessairement que le système a mal fonctionné :il peut gagner du temps sur une charge de travail difficile mais être toujours plus lent qu'une charge de travail plus facile. Cette variabilité de la difficulté rend difficile pour le modèle de décider quelles actions sont bonnes ou non.

    Pour y remédier, les chercheurs ont adapté une technique appelée "baselining" dans ce contexte. Cette technique prend des moyennes de scénarios avec un grand nombre de variables et utilise ces moyennes comme référence pour comparer les résultats futurs. Pendant la formation, ils ont calculé une ligne de base pour chaque séquence d'entrée. Puis, ils laissent le planificateur s'entraîner plusieurs fois sur chaque séquence de charge de travail. Prochain, le système a pris la performance moyenne pour toutes les décisions prises pour la même charge de travail d'entrée. Cette moyenne est la référence par rapport à laquelle le modèle pourrait ensuite comparer ses décisions futures pour déterminer si ses décisions sont bonnes ou mauvaises. Ils appellent cette nouvelle technique « l'établissement de références dépendant des intrants ».

    Cette innovation, disent les chercheurs, est applicable à de nombreux systèmes informatiques différents. "C'est une façon générale de faire de l'apprentissage par renforcement dans des environnements où il y a ce processus d'entrée qui affecte l'environnement, et vous voulez que chaque événement de formation considère un échantillon de ce processus d'entrée, " dit-il. " Presque tous les systèmes informatiques traitent des environnements où les choses changent constamment. "

    Aditya Akella, professeur d'informatique à l'Université du Wisconsin à Madison, dont le groupe a conçu plusieurs ordonnanceurs performants, ont découvert que le système MIT pouvait aider à améliorer davantage leurs propres politiques. "Decima peut aller plus loin et trouver des opportunités d'optimisation [de planification] qui sont tout simplement trop onéreuses à réaliser via des processus de conception/réglage manuels, " déclare Akella. " Les ordonnanceurs que nous avons conçus ont permis d'améliorer considérablement les techniques utilisées en production en termes de performances applicatives et d'efficacité des clusters, mais il y avait encore un écart avec les améliorations idéales que nous pourrions éventuellement réaliser. Decima montre qu'une approche basée sur le RL peut découvrir [des politiques] qui aident à combler davantage l'écart. Decima a amélioré nos techniques d'environ 30 %, ce qui a été une énorme surprise."

    À l'heure actuelle, leur modèle est entraîné sur des simulations qui tentent de recréer le trafic en ligne entrant en temps réel. Prochain, les chercheurs espèrent entraîner le modèle sur le trafic en temps réel, ce qui pourrait potentiellement faire planter les serveurs. Donc, ils développent actuellement un "filet de sécurité" qui arrêtera leur système lorsqu'il est sur le point de provoquer un crash. "Nous le considérons comme des roues d'entraînement, " dit Alizadeh. " Nous voulons que ce système s'entraîne en permanence, mais il a certaines roues d'entraînement qui s'il va trop loin, nous pouvons nous assurer qu'il ne tombe pas."

    Cette histoire est republiée avec l'aimable autorisation de MIT News (web.mit.edu/newsoffice/), un site populaire qui couvre l'actualité de la recherche du MIT, innovation et enseignement.




    © Science https://fr.scienceaq.com