Energy-aware scheduling : complexity and algorithms
Ordonnancement sous contrainte d'énergie : complexité et algorithmes
Abstract
In this thesis we have tackled a few scheduling problems under energy constraint, since the energy issue is becoming crucial, for both economical and environmental reasons. In the first chapter, we exhibit tight bounds on the energy metric of a classical algorithm that minimizes the makespan of independent tasks. In the second chapter, we schedule several independent but concurrent pipelined applications and address problems combining multiple criteria, which are period, latency and energy. We perform an exhaustive complexity study and describe the performance of new heuristics. In the third chapter, we study the replica placement problem in a tree network. We try to minimize the energy consumption in a dynamic frame. After a complexity study, we confirm the quality of our heuristics through a complete set of simulations. In the fourth chapter, we come back to streaming applications, but in the form of series-parallel graphs, and try to map them onto a chip multiprocessor. The design of a polynomial algorithm on a simple problem allows us to derive heuristics on the most general problem, whose NP-completeness has been proven. In the fifth chapter, we study energy bounds of different routing policies in chip multiprocessors, compared to the classical XY routing, and develop new routing heuristics. In the last chapter, we compare the performance of different algorithms of the literature that tackle the problem of mapping DAG applications to minimize the energy consumption.
Dans cette thèse, nous nous sommes intéressés à des problèmes d'ordonnancement sous contrainte d'énergie, puisque la réduction de l'énergie est devenue une nécessité, tant sur le plan économique qu'écologique. Dans le premier chapitre, nous exhibons des bornes strictes sur l'énergie d'un algorithme classique qui minimise le temps d'exécution de tâches indépendantes. Dans le second chapitre, nous ordonnançons plusieurs applications chaînées de type « streaming », et nous étudions des problèmes contraignant l'énergie, la période et la latence. Nous effectuons une étude de complexité exhaustive, et décrivons les performances de nouvelles heuristiques. Dans le troisième chapitre, nous étudions le problème de placement de répliques dans un réseau arborescent. Nous nous plaçons dans un cadre dynamique, et nous bornons à minimiser l'énergie. Après une étude de complexité, nous confirmons la qualité de nos heuristiques grâce à un jeu complet de simulations. Dans le quatrième chapitre, nous revenons aux applications « streaming », mais sous forme de graphes série-parallèles, et nous tentons de les placer sur un processeur multi-cœur. La découverte d'un algorithme polynomial sur un problème simple nous permet la conception d'heuristiques sur le problème le plus général dont nous avons établi la NP-complétude. Dans le cinquième chapitre, nous étudions des bornes énergétiques de politiques de routage dans des processeurs multi-cœurs, en comparaison avec le routage classique XY, et développons de nouvheuristiques de routage. Dans le dernier chapitre, nous étudions expérimentalement le placement d'applications sous forme de DAG sur des machines réelles.
Keywords
DAG
Slack reclamation
Workflow
Replica placement
Tree networks
Update strategies
Dynamic programming algorithms
Series-parallel graph
Routing
Chip multiprocesseur
Manhattan
Single path
Multiple paths
Energy minimization
Power
Scheduling
Complexity
Makespan
Heuristics
Optimal algorithms
Greedy algorithm
Independent jobs
Parallel processors
Mapping
Concurrent streaming applications
Heterogeneous platforms
Resource sharing
Energy
Latency
Period
Réseau arborescent
Stratégies de mise à jour
Algorithme de programmation dynamique
Graphe série-parallèle
Routage
Multiprocesseur
Chemin unique
Chemin multiples
Période
Placement de répliques
Latence
Énergie
Partage de ressources
Plate-forme hétérogène
Applications concurrentes
Placement
Processeurs parallèles
Travaux indépendants
Algorithme glouton
Algorithmes optimaux
Heuristique
Complexité
Ordonnancement
Puissance
Minimisation d'énergie
Origin : Version validated by the jury (STAR)