Logo LISA
Laboratoire
d'Ingénierie
des Systèmes
Automatisés
bandeaulisa


Sujet de master recherche présenté par:
Florent REYNIER


Ordonnancement de tâches pour minimiser la consommation maximale d'énergie d'un ordinateur

Tuteurs:

J. Noé, F. Belot, L. Hardouin et M. Lhommeau

Résumé Présentation Algorithmes Téléchargement

Titre: Ordonnancement de tâches pour minimiser la consommation maximale d'énergie d'un ordinateur
Mots clés: Grappe de calculateurs, Ordonnanceurs, Linux, Consommation électrique, Dynamic Voltage Scaling, Algorithme
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'énergie 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 pouvant être greffées aux algorithmes implémentés par les ordonnanceurs dont le Dynamique Voltage Scheduling. Ce rapport expose un ensemble de moyens qui permettent de combiner les concepts visant à réduire la consommation énergétiques et les algorithmes d'ordonnancement.
Title: Job scheduling to minimize the maximum power consumption of a computer
Keywords Cluster, Scheduler, Linux, Power consumption, Dynamic Voltage Scaling, Algorithm
Abstract:    The power consumption of a computer, especially clusters of computers 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 algorithms implemented by schedulers like Dynamic Voltage Scheduling. This report presents some ways to combine the saving power consuption concept and scheduling algorithms.

Présentation:

   Depuis plus de 40 ans, la puissance des ordinateurs ne cesse d'augmenter de paire 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 effet, 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 production 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égrader 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 processeurs semblent être atteintes, ce qui impose une augmentation de la puissance globale des calculateurs par l'expansion du nombre de coeurs 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 considération pour réduire la consommation énergétique dans le domaine du calcul à haute performance (HPC). L'ordonnanceur répartit toutes les tâches de calcul à exécuter au sein du calculateur sur l'ensemble des coeurs ; 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 coeurs d'un centre de calcul est nécessairement un moyen de minimiser l'énergie consommée. Dans ce rapport nous présenterons des algorithmes d'ordonnancement de tâches conçus 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 et aux énergies alternatives). Le CEA-DAM (Direction des applications militaires du CEA ) possède un centre de calcul récemment inauguré nommé TERA-100 à ce jour le plus puissant d'Europe et le 6éme au rang mondial. Ce supercalculateur est composé de 4 370 serveurs intégrant pas moins de 17 480 processeurs (environ 140 000 coeurs), 300 Téraoctets (To) de mémoire et 20 Pétaoctets (Po) de capacité de stockage pour une puissance de 1,05 pétaflops 1 et une consommation électrique globale estimée à 7MW2 .

Algorithmes étudiés:

Backfilling:

    Algorithme déjà existant, utilisé comme point de comparaison avec les deux autres algorithmes crée et abordés plus loin. Le backfilling est considéré comme une base car il donne un très bon taux de remplissage (sur l'image présentée ci-dessous: 80%) et un temps d'exécution correct. L'image ci-dessous représente un ordonnancement avec un grand nombre de tâches (444). Les abscisses représentent le temps d'exécution et les ordonnées les processeurs disponibles sur le système.

Packing2D:

    Algorithme beaucoup plus rapide que le backffilling (1000x en l'occurrence pour les implémentations que nous avons réalisés), qui présente un taux de remplissage similaire. Cependant la structure de données en arbre binaire permet une localisation plus simple et plus rapide des processeurs non utilisés (espaces matérialisés en blanc sur les images) que le backfilling. Malheureusement, le packing2D nécessite une date d'échange pour son ordonnancement, qui en pratique se révèle difficile à évaluer.

Slack packing interval:

    Contrairement au backfilling et au packing2D, le slack packing interval donne la possibilité de fragmenter une tâche en fonction des processeurs qu'elle utilise. Une tâche peut donc être allouée à des processeurs qui ne sont pas forcement à proximité les uns des autres, la contrainte de contigüité est donc écartée. Grâce à ce ce nouveau concept de fragmentation, le taux de remplissage peut atteindre 94% (comme sur l'image ci-dessous) pour un temps de calcul intermédiaire entre le backfilling et le packing2D. Pour finir, la structure de donnée qu'il emploie permet de connaître à chaque instant les processeurs non utilisés.
   Les deux nouveaux algorithmes produits ont été conçu de manière à pouvoir identifier à chaque instant les processeurs inutilisés et ainsi prendre des décisions quant à leur mode fonctionnement (arrêt, mise en veille, variation de fréquence).

Téléchargement:

Rapport bibliographique
Soutenance Bibliographique

 top

Contacter le Webmaster

UA ISTIA IUT UFR Sciences IMIS-ESTHUA CHU ESAIP IMA-UCO