Ordonnancement stochastique de tâches sur plateformes de calcul haute performance

par Redouane Elghazi

Projet de thèse en Informatique

Sous la direction de Pierre-Cyrille Heam et de Louis-Claude Canon.

Thèses en préparation à Bourgogne Franche-Comté , dans le cadre de SPIM - Sciences Physiques pour l'Ingénieur et Microtechniques , en partenariat avec FEMTO-ST Franche Comté Electronique Mécanique Thermique et Optique - Sciences et Technologies (laboratoire) et de DISC - Département Informatique et Systèmes Complexes (equipe de recherche) depuis le 01-10-2020 .


  • Résumé

    L'ordonnancement de tâches en parallèle a été un centre d'attention depuis l'aube de l'informatique. Des résultats sont fournis depuis longtemps par la littérature, comme la (2-1/m) compétitivité des ordonnancements de liste (Graham, 1966). Les avancées dans ce domaine ont eu un impact significatif sur le calcul haute performance, ce qui a mené à une amélioration de l'efficacité de l'utilisation des ressources, de la minimisation de la consommation d'énergie, etc. Par son omniprésence dans l'optimisation des systèmes, l'ordonnancement représente un défi impactant fortement notre société. Planifier un ensemble d'applications sur une plateforme distribuée constitue un problème complexe. L'objectif est de trouver une allocation des applications aux machines de manière à obtenir une performance optimale. De nombreuses études proposent de nouveaux algorithmes et valident ceux-ci en mesurant l'amélioration par rapport aux solutions existantes. Afin d'effectuer ces mesures, on s'appuie souvent sur des simulations qui nécessitent l'implémentation d'algorithmes d'ordonnancement. Des cas de figure d'applications et de plateformes sont aussi nécessaires pour concevoir des instances pertinentes sur lesquelles tester lesdits algorithmes. La manière dont ces instances sont générées peut grandement impacter les résultats. Au-delà de cette approche d'évaluation, il est pertinent d'effectuer une analyse préliminaire des performances des algorithmes étudiés. La méthodologie utilisée ici est de faire des allers-retours entre l'analyse stochastique de l'algorithme et la caractérisation des instances utilisées en se concentrant sur trois questions interdépendantes : • l'analyse stochastique de la qualité et de la complexité de l'algorithme; • l'identification de la distribution des instances; • l'analyse empirique des instances réelles de systèmes de calcul haute performance.

  • Titre traduit

    Stochastic Scheduling for HPC Systems


  • Résumé

    Scheduling task executions in a parallel environment has been the focus of significant attention since the dawn of computer systems. A strong body of literature provides long-standing results such as the (2-1/m) performance bound for list heuristics (Graham, 1966). The research in this area has had a significant impact in HPC (High Performance Computing), which has lead to improvements in resources usage efficiency, power minimization, etc. By its common usage in optimizing everyday systems, scheduling represents a strong societal challenge. Scheduling a set of applications on distributed resources constitutes a complex problem. The objective consists in defining the allocation of applications to machines to obtain the best possible performance. Numerous studies propose new algorithms and validate them by measuring the gain over existing solutions. To realize these measurements, we often rely on simulations that require to implement the scheduling algorithm. An application and platform model is also necessary to design relevant instances on which the scheduling algorithms are tested. The way these instances are generated for the simulation can impact significantly the results. Beyond this general evaluation approach, it is relevant to focus on a preliminary analysis that characterizes directly the performance of the algorithms under study. The whole methodology consists in going back and forth between stochastic analysis and instance characterization by focusing on three questions as their interplay can lead to revisiting other questions when one of them progresses: • stochastic analysis of algorithm quality and complexity; • identification of instance distributions, which requires to identify their properties; • analysis of existing empirical instances in actual HPC systems and applications.