Megha : Une nouvelle approche pour la planification des centres de données
Megha améliore l'efficacité de la planification des tâches dans les centres de données grâce à une gestion décentralisée.
― 8 min lire
Table des matières
- Le défi de la planification
- Solution proposée : Megha
- Comment fonctionne Megha
- Cohérence éventuelle
- Le rôle du planificateur
- Charges de travail dans les centres de données
- L'évolution des architectures de planificateur
- Comparaison des architectures de planificateur
- Métriques de performance
- Analyse des charges de travail
- Mise en œuvre de Megha
- Développements futurs
- Conclusion
- Source originale
- Liens de référence
Les centres de données sont des grands espaces physiques qui hébergent des systèmes informatiques et des composants associés comme le stockage et les Ressources réseau. Au fur et à mesure que les entreprises grandissent, la demande de traitement et de stockage des données augmente, ce qui impose un besoin de Planification efficace des tâches dans ces centres de données. La planification dans un centre de données, c'est un peu comme gérer des tâches dans un système d'exploitation. Le planificateur s'assure que les tâches sont attribuées aux ressources disponibles de manière à répondre aux exigences de performance et d'Efficacité.
Le défi de la planification
Avec l'essor des technologies basées sur les données, le volume et la complexité des tâches à traiter ont explosé. Les systèmes de planification traditionnels peinent à suivre à cause de leur incapacité à gérer le nombre croissant de ressources et de tâches. Quand un planificateur opère sans avoir une vue d'ensemble des ressources du centre de données, cela peut entraîner des retards. Par exemple, une tâche peut être bloquée dans une file d'attente alors qu'il y a des ressources libres ailleurs. Cela se traduit par une perte de temps et un mauvais usage des ressources.
Solution proposée : Megha
Pour surmonter ces défis, une nouvelle architecture de planification appelée Megha a été développée. Megha est conçu pour fournir une manière plus efficace de planifier des tâches en utilisant une approche décentralisée. Au lieu d'avoir un point de contrôle unique, Megha distribue les tâches de planification entre différents groupes, leur permettant de collaborer tout en maintenant un certain niveau d'indépendance. Cette méthode aide à optimiser l'utilisation des ressources et à réduire les temps d'attente.
Comment fonctionne Megha
Megha fonctionne à travers des Gestionnaires Globaux (GMs) et des Gestionnaires Locaux (LMs). Chaque GM a une vue d'ensemble du centre de données, tandis que les LMs gèrent des clusters de ressources plus petits. Lorsqu'un nouveau job arrive, il est assigné à un des GMs. Le GM vérifie les ressources disponibles et planifie les tâches en conséquence.
Si le GM trouve une ressource locale, il assigne la tâche. Sinon, le GM peut temporairement emprunter des ressources d'autres clusters. Cette flexibilité permet à Megha de prendre des décisions plus rapidement, améliorant ainsi les temps d'achèvement des tâches.
Cohérence éventuelle
Une caractéristique notable de Megha est son utilisation de la cohérence éventuelle. Maintenir une vue cohérente de l'ensemble du centre de données en permanence nécessiterait une communication constante entre les gestionnaires, ce qui pourrait ralentir le système. Au lieu de cela, chaque GM maintient une version de l'état des ressources qui peut ne pas toujours être à jour. Cependant, lorsqu'un GM effectue un changement, il envoie une demande pour vérifier l'état actuel avec le LM responsable. De cette manière, même si certaines informations sont obsolètes, Megha peut toujours fonctionner de manière efficace.
Le rôle du planificateur
Au fond, un planificateur de centre de données a quelques responsabilités clés :
- Surveillance des ressources : Le planificateur suit la santé et la disponibilité des ressources.
- Attribution des tâches : Il associe des tâches aux ressources disponibles.
- Gestion des échecs : Le planificateur s'occupe des pannes des ressources et des tâches, assurant que le travail se poursuit sans accrocs.
- Équité : Il s'assure que toutes les tâches ont une chance équitable d'accéder aux ressources.
Charges de travail dans les centres de données
Les charges de travail des centres de données peuvent varier considérablement. Elles incluent des tâches courtes qui nécessitent une attention immédiate et des tâches plus longues qui peuvent attendre. Un bon planificateur devra gérer ces différents types de charges de travail de manière efficace. En co-localisant plusieurs jobs sur la même infrastructure, le planificateur peut parvenir à une meilleure utilisation des ressources et un meilleur retour sur investissement (ROI).
L'évolution des architectures de planificateur
Historiquement, les planificateurs de centre de données ont beaucoup évolué. Ils ont commencé avec des architectures monolithiques, qui ne pouvaient pas s'adapter aux demandes croissantes des gros centres de données. Cela a conduit au développement d'architectures à deux niveaux qui séparaient l'allocation des ressources de la planification des tâches. Cependant, même ces systèmes ont rencontré des goulets d'étranglement à mesure que les charges de travail augmentaient.
Architectures centralisées
Les premiers planificateurs centralisés, comme YARN et Mesos, avaient une seule entité responsable de la gestion de toutes les tâches. Bien qu'ils aient une vue complète des ressources, le planificateur central est rapidement devenu un goulet d'étranglement à mesure que les charges de travail augmentaient.
Architectures distribuées
Pour surmonter les limitations des systèmes centralisés, les architectures distribuées ont émergé. Ces systèmes utilisent plusieurs entités de planification travaillant en parallèle. Cependant, ils manquent souvent d'une vue complète de la disponibilité des ressources, ce qui peut mener à des attributions de tâches sous-optimales.
Architectures hybrides
Les architectures hybrides tentent de combiner les forces des systèmes centralisés et distribués. Elles utilisent des éléments centralisés pour des décisions optimales tout en employant des éléments distribués pour la rapidité et l'efficacité. Cependant, ces systèmes ont encore des difficultés avec la coordination et le placement optimal des ressources.
Comparaison des architectures de planificateur
Megha a été évalué par rapport à d'autres architectures de planification populaires, à savoir Sparrow, Eagle et Pigeon. Chacun de ces systèmes a ses propres mérites et inconvénients.
- Sparrow se concentre sur l'évolutivité mais entraîne souvent des retards car il n'a pas une vue complète du centre de données.
- Eagle essaie de donner la priorité aux tâches mais peut encore rencontrer une mauvaise utilisation des ressources.
- Pigeon offre certains avantages d'une architecture fédérée mais peut aussi souffrir de files d'attente inutiles.
En revanche, Megha montre constamment de meilleures performances et efficacité grâce à son approche décentralisée et sa cohérence éventuelle.
Métriques de performance
Lors de l'évaluation des performances d'un planificateur, plusieurs métriques sont essentielles :
- Temps d'achèvement des tâches (JCT) : Cela mesure la rapidité avec laquelle toutes les tâches d'un job se terminent.
- Utilisation des ressources : Cela indique comment les ressources sont utilisées sans temps d'inactivité.
- Retards d'attente : Cela fait référence au temps que les tâches attendent avant d'être exécutées, ce qui peut indiquer une inefficacité.
Megha a montré qu'il réduit les retards dans les temps d'achèvement des tâches comparé à d'autres systèmes de planification, menant à une meilleure utilisation des ressources globale.
Analyse des charges de travail
Les centres de données d'aujourd'hui traitent une large gamme de charges de travail. Avec la croissance d'applications comme l'apprentissage profond, les charges de travail deviennent de plus en plus grandes et compliquées. De nouveaux cadres ont émergé avec un accent sur l'évolutivité, et leur architecture implique souvent une planification parallèle pour améliorer le débit.
Les cadres de planification réussis doivent s'adapter à un mélange de jobs courts et longs. Les jobs courts sont sensibles à la latence et nécessitent souvent une attention immédiate, tandis que les jobs plus longs peuvent fonctionner avec quelques retards. Un bon planificateur peut s'assurer qu'aucun des deux types n'est laissé en attente inutilement.
Mise en œuvre de Megha
Megha a été testé dans plusieurs environnements, y compris des simulations et des clusters physiques. Il a été évalué en utilisant des données historiques d'entreprises technologiques bien connues qui partagent des paramètres de Charge de travail tout en protégeant les informations sensibles.
Dans les simulations, Megha a constamment produit des retards plus faibles pour les achèvements de tâches à travers divers setups. Le prototype de planification déployé dans des scénarios réels a confirmé ces résultats, montrant que Megha peut gérer les tâches efficacement même sous des charges lourdes.
Développements futurs
Bien que Megha ait montré des promesses, il y a des domaines à améliorer. Par exemple, introduire des concepts comme les réservations de travailleurs pourrait améliorer la performance, surtout pour les tâches courtes qui nécessitent un traitement urgent. Les travaux futurs pourraient également explorer la planification de tâches avec des contraintes de placement spécifiques pour assurer une utilisation plus efficace des ressources.
Conclusion
Megha représente une avancée significative dans la planification des centres de données. En utilisant des principes de décentralisation et de cohérence éventuelle, il peut prendre des décisions plus rapides et plus éclairées sur l'allocation des ressources. Ces caractéristiques mènent à une amélioration de l'efficacité et à des temps d'achèvement des tâches plus courts par rapport aux autres architectures existantes. À mesure que les demandes des centres de données continuent de croître, des systèmes comme Megha joueront un rôle important pour relever ces défis de front.
Titre: Eventually-Consistent Federated Scheduling for Data Center Workloads
Résumé: Data center schedulers operate at unprecedented scales today to accommodate the growing demand for computing and storage power. The challenge that schedulers face is meeting the requirements of scheduling speeds despite the scale. To do so, most scheduler architectures use parallelism. However, these architectures consist of multiple parallel scheduling entities that can only utilize partial knowledge of the data center's state, as maintaining consistent global knowledge or state would involve considerable communication overhead. The disadvantage of scheduling without global knowledge is sub-optimal placements-tasks may be made to wait in queues even though there are resources available in zones outside the scope of the scheduling entity's state. This leads to unnecessary queuing overheads and lower resource utilization of the data center. In this paper, extend our previous work on Megha, a federated decentralized data center scheduling architecture that uses eventual consistency. The architecture utilizes both parallelism and an eventually-consistent global state in each of its scheduling entities to make fast decisions in a scalable manner. In our work, we compare Megha with 3 scheduling architectures: Sparrow, Eagle, and Pigeon, using simulation. We also evaluate Megha's prototype on a 123-node cluster and compare its performance with Pigeon's prototype using cluster traces. The results of our experiments show that Megha consistently reduces delays in job completion time when compared to other architectures.
Auteurs: Meghana Thiyyakat, Subramaniam Kalambur, Rishit Chaudhary, Saurav G Nayak, Adarsh Shetty, Dinkar Sitaram
Dernière mise à jour: 2023-08-20 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2308.10178
Source PDF: https://arxiv.org/pdf/2308.10178
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.