Master: Ingénierie des Systèmes et des Projets
Spécialité: Systèmes Dynamiques et Signaux
Année 2010/2011
Rapport intermédiaire de master SDS
Présenté et soutenu par:
Florent Reynier
le 22/02/2011
Au sein de l’Institut des Sciences et Techniques de l’Ingénieur
d’Angers
Titre:
Ordonnancement de tâches pour minimiser la consommation
maximale d’énergie d’un ordinateur
Jury:
Président : L. Hardouin Professeur Université d’Angers
Examinateurs : L. Autrique Professeur Université d’Angers
F. Chapeau Blondeau Professeur Université d’Angers
J.L. Boimond Professeur Université d’Angers
M. Bourcerie Professeur Université d’Angers
P. Declerck MCF Université d’Angers
J.B. Fasquel MCF Université d’Angers
C. Jean-Guillaume MCF Université d’Angers
M. Lhommeau MCF Université d’Angers
D.Rousseau MCF Université d’Angers
Encadrants: J. Noe, L. Hardouin et M. Lhommeau
LABORATOIRE D’INGÉNIERIE DES SYSTÈMES AUTOMATISÉS
EA 4094 - Université d’Angers
Rapport intermédiaire de master SDS
Table des matières
Résumé 1
Asbtract 1
Introduction 2
1 Les grappes de calculs 3
1.1 Les tâches ................................ 3
1.2 Les ordonnanceurs ........................... 4
1.2.1 Ordonnanceurs en temps partagé ............... 4
1.2.2 Ordonnanceurs spatiaux .................... 4
1.3 Les bibliothèques de communication .................. 5
1.3.1 PVM ............................... 5
1.3.2 MPI ............................... 6
1.3.3 Techniques de parallélisation .................. 6
2 Politiques d’ordonnancement 7
2.1 Algorithmes sans retard ........................ 7
2.1.1 FCFS .............................. 7
2.1.2 Déclinaison ........................... 7
2.1.3 FCFS-FF ............................ 8
2.1.4 Backfilling ............................ 9
2.2 Algorithmes avec contraintes de priorités ............... 9
2.2.1 IBM SP Scheduler ....................... 10
2.3 Algorithmes basés sur l’heure de fin .................. 10
2.3.1 EDF - Earliest Deadline First ................. 10
2.3.2 RED - Robust Earliest Deadline ................ 11
2.4 Déclinaison optimisant la consommation énergétique ......... 11
2.4.1 LC - Concentration ....................... 11
3 Méthodes pour réduire la consommation énergétique 12
3.1 Mesure de l’énergie consommée .................... 12
3.2 Modèle de consommation énergétique du processeur ......... 13
3.2.1 Énergie consommée et temps de calcul ............ 13
3.2.2 Équirépartition des temps de calcul .............. 15
3.3 Dynamic Voltage Scaling ........................ 16
3.4 Application au système du CEA .................... 16
Conclusion 18
Références 19
Florent Reynier
Titre: Ordonnancement de tâches pour minimiser la consomma-
tion maximale d’énergie d’un ordinateur
Mots clés: Grappe de calculateurs, Ordonnanceurs, Linux, Consom-
mation électrique, Dynamic Voltage Scheduling, Algo-
rithme
Résumé: La consommation électrique d’un ordinateur, plus particulièrement
des grappes de calculs croît avec l’augmentation de leur puissance. Ce
phénomène est aujourd’hui de plus en plus problématique car l’éner-
gie a un coût financier et environnemental de plus en plus élevé, et
parfois même n’est pas acheminable en quantité suffisante jusqu’aux
calculateurs. Minimiser la consommation d’énergie d’un ordinateur
est donc impératif. Pour ce faire, il existe différentes techniques pou-
vant être greffées aux algorithmes implémentés par les ordonnanceurs
dont le Dynamique Voltage Scheduling. Ce rapport propose un état
de l’art relatif à ces problématiques.
Title: Job scheduling to minimize the maximum power consum-
ption of a computer
Keywords: Cluster, Scheduler, Linux, Power consumption, Dynamic
Voltage Scheduling, Algorithm
Abstract: The power consumption of a computer, especially clusters of compu-
ters raises with the increase of their power. Today this phonemenon
is problematic as the energy costs more and more, and sometimes is
not routable in sufficient quantity to the computers. Minimizing the
maximum power consumption of a computer is imperative. To do
this, there are various techniques witch can be grafted to the algo-
rithms implemented by schedulers like Dynamic Voltage Scheduling.
This report is a state of art concerning these problems.
LABORATOIRE D’INGÉNIERIE DES SYSTÈMES AUTOMATISÉS
EA 4094 - Université d’Angers
1
Introduction
Introduction
Depuis plus de 40 ans, la puissance des ordinateurs ne cesse d’augmenter de
pair avec leur consommation électrique. Cette consommation massive en énergie
électrique est une problématique grandissante, qui devient aujourd’hui un critère
à prendre en compte lorsque l’on dimensionne la taille d’un calculateur. En ef-
fet, le coût en énergie dépensée pour le fonctionnement et le refroidissement des
équipements informatiques d’un centre de calcul devient plus élevé que son coût
d’acquisition. De plus, la facture due aux coûts engendrés par le fonctionnement
d’un centre de calcul n’est pas le seul problème, les limitations liées à la produc-
tion et à l’acheminement de l’énergie sont elles aussi présentes. Trouver des moyens
pour minimiser la consommation maximale d’énergie de ces systèmes sans dégra-
der leur performance est la clef pour que leur puissance de calcul puisse continuer
à croître.
En outre, les limitations physiques du silicium le composant principal des pro-
cesseurs sembles être atteintes, ce qui impose une augmentation de la puissance
globale des calculateurs par l’expansion du nombre de cœurs et de processeurs
pour former des grappes de calcul (Cluster). Les unités de calculs sont, au sein
d’un ordinateur, les éléments qui consomment le plus d’énergie. On parle de 38%
à 48%, ce qui en fait des acteurs importants dans les postes à prendre en consi-
dération pour réduire la consommation énergétique dans le domaine du calcul à
haute performance (HPC [1]). L’ordonnanceur répartit toutes les tâches de calcul
à exécuter au sein du calculateur sur l’ensemble des cœurs, cet élément a donc une
vision d’ensemble sur ce qui se passe au sein de la grappe et c’est aussi de lui que
dépend le rendement du calculateur. Par conséquent, agir sur le composant logiciel
qui pilote l’ensemble des cœurs d’un centre de calcul est nécessairement un moyen
de minimiser l’énergie consommée. Dans ce rapport nous présenterons un état de
l’art sur l’ordonnancement de tâches pour minimiser la consommation maximale
d’énergie d’un ordinateur.
C’est dans ce contexte que s’inscrit ce travail en partenariat avec le CEA
(Commissariat à l’Énergie Atomique). Le CEA-DAM (Direction des applications
militaires du CEA [2]) possède un centre de calcul récemment inauguré nommé
TERA-100 [3] à ce jour le plus puissant d’Europe et le 6éme [4] au rang mondial.
Ce supercalculateur est composé de 4 370 serveurs intégrant pas moins de 17 480
processeurs (environ 140 000 cœurs), 300 Téraoctets (To) de mémoire et 20 Péta-
octets (Po) de capacité de stockage pour une puissance de 1,05 pétaflops 1et une
consommation électrique globale estimée à 7MW2.
Pour commencer, nous aborderons le fonctionnement global d’une grappe de
calcul. Puis nous nous intéresserons aux différents algorithmes permettant de ré-
partir les travaux à effectuer au sein du calculateur. Pour finir, nous évoquerons
les méthodes utilisées pour évaluer la consommation d’un calculateur, le modèle
énergétique d’un processeur et les différents moyens utilisables pour réduire la
consommation en énergie d’une grappe de calculateurs.
1Un million de milliards d’opérations par seconde sur des flottants (plus d’opérations en une
seconde que la population mondiale ne pourrait faire en 48 heures, à raison d’une opération par
seconde et par personne).
2Capacité de production de deux éoliennes terrestres grand format.
Florent Reynier 2
Les grappes de calculs
1 Les grappes de calculs
Une grappe de calculateurs correspond à l’interconnexion par un réseau à
hautes performances de calculateurs (nœud). Vu de l’extérieur cet ensemble ne
représente qu’une seule unité, où chaque nœud possède son propre système d’ex-
ploitation. Tout est organisé au sein de la grappe pour que les nœuds soient le
plus possible indépendants les uns des autres de manière à ne pas empêcher le
fonctionnement de la grappe de calcul lorsqu’un ou plusieurs de ses nœuds devient
défaillant.
Pour administrer le fonctionnement d’une grappe de calcul, il existe deux
grands types de systèmes :
Les systèmes à exécution par lot (figure 1) dont le fonctionnement est régi par
un nœud maître qui a en charge de répartir l’ensemble des tâches à exécuter
sur les différents nœuds de la grappe et selon une politique d’ordonnancement
définie.
Fig. 1 – Schéma de principe d’un système à exécution par lots
Les systèmes à image unique fonctionnant de manière identique aux systèmes
à exécution par lot. Mais, en plus, ils virtualisent l’ensemble des ressources
matérielles et logicielles de la grappe sous un seul bloc. Chaque processus
lancé étant virtuel on peut le manipuler comme s’il était local au nœud
maître.
Le CEA utilise au sein de son calculateur, le TERA-100, une architecture basée
sur un système à exécution par lot, c’est pourquoi la suite de ce qui va être exposé
ne fera aucunement référence aux systèmes à image unique.
1.1 Les tâches
Le mot tâche possède différentes définitions en fonction du point de vue que
l’on utilise. Si l’on se place à l’extérieur du calculateur, alors une tâche est tout
simplement une instance du programme à exécuter, on parle plus justement de
processus. Mais dans le contexte des grappes de calculateur et surtout des systèmes
parallèles on part du principe qu’un programme a la capacité de s’exécuter sur un
tel système lorsqu’il peut lancer simultanément plusieurs calculs, c’est pourquoi
quand on parle de tâche on se place le plus souvent à l’intérieur de la grappe.
Lorsqu’il y a parallélisation d’un programme, le nœud maître via son ordonnanceur
Florent Reynier 3
1 / 22 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !