Soutenance bibliographique Master Recherche SDS Ordonnancement de tâches pour minimiser la consommation maximale d'énergie d'un ordinateur Soutenu par: Florent Reynier Tuteurs: J. Noe, L. Hardouin et M. Lhommeau 22 février 2011 1/24 Soutenance bibliographique Master Recherche SDS Plan : 1 Présentation du sujet 2 Les grappes de calculateurs 3 Politiques d'ordonnancement 4 Consommation énergétique d'un processeur 5 Dynamic Voltage Scaling 6 Conclusion 2/24 Soutenance bibliographique Master Recherche SDS Sujet Plan 1 Présentation du sujet 2 Les grappes de calculateurs 3 Politiques d'ordonnancement 4 Consommation énergétique d'un processeur 5 Dynamic Voltage Scaling 6 Conclusion 3/24 Soutenance bibliographique Master Recherche SDS Sujet Contexte CEA DAM (Direction des Applications Militaire) ; 4/24 Soutenance bibliographique Master Recherche SDS Sujet Contexte CEA DAM (Direction des Applications Militaire) ; Tera-100 6eme plus puissance calculateur au monde (TOP500) ; 4/24 Soutenance bibliographique Master Recherche SDS Sujet Contexte CEA DAM (Direction des Applications Militaire) ; Tera-100 6eme plus puissance calculateur au monde (TOP500) ; Consommation en énergie électrique très élevée : 7MWatts ; 4/24 Soutenance bibliographique Master Recherche SDS Sujet Contexte CEA DAM (Direction des Applications Militaire) ; Tera-100 6eme plus puissance calculateur au monde (TOP500) ; Consommation en énergie électrique très élevée : 7MWatts ; Augmentation de la puissance de calcul des installations compromise ; 4/24 Soutenance bibliographique Master Recherche SDS Sujet Contexte CEA DAM (Direction des Applications Militaire) ; Tera-100 6eme plus puissance calculateur au monde (TOP500) ; Consommation en énergie électrique très élevée : 7MWatts ; Augmentation de la puissance de calcul des installations compromise ; Focalisation sur la manière dont s'exécutent les tâches au sein du système. 4/24 Soutenance bibliographique Master Recherche SDS Les grappes Plan 1 Présentation du sujet 2 Les grappes de calculateurs 3 Politiques d'ordonnancement 4 Consommation énergétique d'un processeur 5 Dynamic Voltage Scaling 6 Conclusion 5/24 Soutenance bibliographique Master Recherche SDS Les grappes Les grappes de calculateurs Ensemble de serveurs (n÷uds) dédiés au calcul ; 6/24 Soutenance bibliographique Master Recherche SDS Les grappes Les grappes de calculateurs Ensemble de serveurs (n÷uds) dédiés au calcul ; Interconnexion par un réseau à haute performance (ex : Inniband) ; 6/24 Soutenance bibliographique Master Recherche SDS Les grappes Les grappes de calculateurs Ensemble de serveurs (n÷uds) dédiés au calcul ; Interconnexion par un réseau à haute performance (ex : Inniband) ; Pilotage par un n÷ud maître embarquant un ordonnanceur (spatial). 6/24 Soutenance bibliographique Master Recherche SDS Les grappes Les grappes de calculateurs Ensemble de serveurs (n÷uds) dédiés au calcul ; Interconnexion par un réseau à haute performance (ex : Inniband) ; Pilotage par un n÷ud maître embarquant un ordonnanceur (spatial). 6/24 Soutenance bibliographique Master Recherche SDS Les grappes Les grappes de calculateurs Ensemble de serveurs (n÷uds) dédiés au calcul ; Interconnexion par un réseau à haute performance (ex : Inniband) ; Pilotage par un n÷ud maître embarquant un ordonnanceur (spatial). 6/24 Soutenance bibliographique Master Recherche SDS Les grappes Tâche Un programme exécutable sur une grappe lance plusieurs calculs en parallèle ; 7/24 Soutenance bibliographique Master Recherche SDS Les grappes Tâche Un programme exécutable sur une grappe lance plusieurs calculs en parallèle ; 7/24 Soutenance bibliographique Master Recherche SDS Les grappes Tâche Un programme exécutable sur une grappe lance plusieurs calculs en parallèle ; Dénition : Tâche Une tâche est une sous instance d'un programme exécuté qui réalise un traitement en parallèle d'autres tâches appartenant au même programme. 7/24 Soutenance bibliographique Master Recherche SDS Les grappes Tâche Un programme exécutable sur une grappe lance plusieurs calculs en parallèle ; Dénition : Tâche Une tâche est une sous instance d'un programme exécuté qui réalise un traitement en parallèle d'autres tâches appartenant au même programme. Les tâches appartenant à un programme peuvent être interactives. 7/24 Soutenance bibliographique Master Recherche SDS Les grappes Ordonnanceurs Ordonnanceur en temps partagé Fait parti intégrante du système d'exploitation de chaque n÷ud ; 8/24 Soutenance bibliographique Master Recherche SDS Les grappes Ordonnanceurs Ordonnanceur en temps partagé Fait parti intégrante du système d'exploitation de chaque n÷ud ; Exécute un très grand nombre de tâches sur un nombre de processeurs réduit ; 8/24 Soutenance bibliographique Master Recherche SDS Les grappes Ordonnanceurs Ordonnanceur en temps partagé Fait parti intégrante du système d'exploitation de chaque n÷ud ; Exécute un très grand nombre de tâches sur un nombre de processeurs réduit ; Un quota de temps est alloué à l'exécution de chaque tâche ; 8/24 Soutenance bibliographique Master Recherche SDS Les grappes Ordonnanceurs Ordonnanceur en temps partagé Fait parti intégrante du système d'exploitation de chaque n÷ud ; Exécute un très grand nombre de tâches sur un nombre de processeurs réduit ; Un quota de temps est alloué à l'exécution de chaque tâche ; Politique d'ordonnancement très connue : Round-Robin. 8/24 Soutenance bibliographique Master Recherche SDS Les grappes Ordonnanceurs Ordonnanceur spatial Implanté sur un seul n÷ud appelé maître ; 9/24 Soutenance bibliographique Master Recherche SDS Les grappes Ordonnanceurs Ordonnanceur spatial Implanté sur un seul n÷ud appelé maître ; Répartit et gère les tâches à exécuter au sein de chaque noeud ; 9/24 Soutenance bibliographique Master Recherche SDS Les grappes Ordonnanceurs Ordonnanceur spatial Implanté sur un seul n÷ud appelé maître ; Répartit et gère les tâches à exécuter au sein de chaque noeud ; Se place un niveau au dessus des ordonnanceurs en temps partagé ; 9/24 Soutenance bibliographique Master Recherche SDS Les grappes Ordonnanceurs Ordonnanceur spatial Implanté sur un seul n÷ud appelé maître ; Répartit et gère les tâches à exécuter au sein de chaque noeud ; Se place un niveau au dessus des ordonnanceurs en temps partagé ; Le CEA utilise SLURM (Simple Linux Utility for Ressoure Management) au sein du Tera-100. 9/24 Soutenance bibliographique Master Recherche SDS ordonnancement Plan 1 Présentation du sujet 2 Les grappes de calculateurs 3 Politiques d'ordonnancement 4 Consommation énergétique d'un processeur 5 Dynamic Voltage Scaling 6 Conclusion 10/24 Soutenance bibliographique Master Recherche SDS ordonnancement Pile d'exécution L'utilisateur précise pour chaque tâche une date de lancement et d'échéance. 11/24 Soutenance bibliographique Master Recherche SDS ordonnancement Pile d'exécution L'utilisateur précise pour chaque tâche une date de lancement et d'échéance. 11/24 Soutenance bibliographique Master Recherche SDS ordonnancement Pile d'exécution L'utilisateur précise pour chaque tâche une date de lancement et d'échéance. Nombre de processeurs Tâche D Tâche C Nombre maximum de processeurs Tâche B Tâche A t 11/24 Soutenance bibliographique Master Recherche SDS ordonnancement Algorithme First Come, First Served Nombre de processeurs Nombre maximum de processeurs Tâche B Tâche A Tâche D Tâche C t 12/24 Soutenance bibliographique Master Recherche SDS ordonnancement Algorithme Backlling Nombre de processeurs Nombre maximum de processeurs Tâche D Tâche C Tâche B Tâche A Exécution de A Exécution de B t 13/24 Soutenance bibliographique Master Recherche SDS Les processeurs Plan 1 Présentation du sujet 2 Les grappes de calculateurs 3 Politiques d'ordonnancement 4 Consommation énergétique d'un processeur 5 Dynamic Voltage Scaling 6 Conclusion 14/24 Soutenance bibliographique Master Recherche SDS Les processeurs Modèle énergétique du processeur Puissance instantanée consommée en (Watts) Ptotal = Pstat +Pdyn Pstat Pdyn Puissance consommée par une porte CMOS au repos Puissance consommée lors de la commutation Relation fréquence - tension d'alimentation V = λf V Tension d'alimentation λ Constante liée au type du processeur f fréquence de cadencement du processeur 15/24 Soutenance bibliographique Master Recherche SDS Les processeurs Modèle énergétique du processeur Relation Puissance - fréquence - tension d'alimentation Pdyn =C ×f ×V 2 C f = V 1 τ Constante liée au type de processeur Fréquence de cadencement du processeur Tension d'alimentation Relation énergie - fréquence Edyn = n × C2 × f 2 C2 λ2 × C n Nbr de coups d'horloge pour realiser la tâche Relation énergie - Tension d'alimentation Edyn = n × C × V2 16/24 Soutenance bibliographique Master Recherche SDS Les processeurs Modèle énergétique du processeur Relation entre l'énergie et le temps de calcul d'une tâche Etotal A Edyn B Edyn Estat = n × C2 × 1 τ2 τ : période de l'horloge τmin = 1 fmax τmax = 1 fmin 17/24 Soutenance bibliographique Master Recherche SDS Les processeurs Equirépartition des temps de calcul Edyn 1 1 Tmax 2 Exécution de deux tâches à une fréquence maximale : Edyn = C2 × (1 + 1) = C2 × 2J 10 t 18/24 Soutenance bibliographique Master Recherche SDS Les processeurs Equirépartition des temps de calcul Edyn 1 1 Tmax 2 Exécution de deux tâches à une fréquence maximale : Edyn = C2 × (1 + 1) = C2 × 2J 10 t Edyn 1 1 2 Tmax 0.0123 10 t Exécution de la première tâche en 1s et de la deuxième en 9s : Edyn = C2 × 1 + 1 81 = C2 × 1.0123J 18/24 Soutenance bibliographique Master Recherche SDS Les processeurs Equirépartition des temps de calcul Edyn 1 1 Tmax 2 Exécution de deux tâches à une fréquence maximale : Edyn = C2 × (1 + 1) = C2 × 2J 10 t Edyn 1 1 2 Tmax 0.0123 Exécution de la première tâche en 1s et de la deuxième en 9s : Edyn = C2 × 1 + 10 t 1 81 = C2 × 1.0123J Edyn Tmax 1 2 0.08 Exécution des deux tâches en 5s chacune : Edyn 10 t = C2 × 1 25 + 1 25 = C2 × 0.08J 18/24 Soutenance bibliographique Master Recherche SDS DVS Plan 1 Présentation du sujet 2 Les grappes de calculateurs 3 Politiques d'ordonnancement 4 Consommation énergétique d'un processeur 5 Dynamic Voltage Scaling 6 Conclusion 19/24 Soutenance bibliographique Master Recherche SDS DVS Dynamic Voltage Scaling Minimise l'énergie consommée par le processeur ; 20/24 Soutenance bibliographique Master Recherche SDS DVS Dynamic Voltage Scaling Minimise l'énergie consommée par le processeur ; Basé sur la variation de la tension d'alimentation ; 20/24 Soutenance bibliographique Master Recherche SDS DVS Dynamic Voltage Scaling Minimise l'énergie consommée par le processeur ; Basé sur la variation de la tension d'alimentation ; Allonge le temps d'exécution des tâches jusqu'à leur date d'échéance ; 20/24 Soutenance bibliographique Master Recherche SDS DVS Dynamic Voltage Scaling Minimise l'énergie consommée par le processeur ; Basé sur la variation de la tension d'alimentation ; Allonge le temps d'exécution des tâches jusqu'à leur date d'échéance ; Nécessite un contexte temps réel ; 20/24 Soutenance bibliographique Master Recherche SDS DVS Dynamic Voltage Scaling Minimise l'énergie consommée par le processeur ; Basé sur la variation de la tension d'alimentation ; Allonge le temps d'exécution des tâches jusqu'à leur date d'échéance ; Nécessite un contexte temps réel ; Algorithme de G.Cassandras, commande dynamique de la tension avec des contraintes temps réel. 20/24 Soutenance bibliographique Master Recherche SDS DVS Application du DVS DVS Diminuer les temps de calcul en jouant sur le nombre de processeurs et les fréquences Nombre de processeurs Nombre maximum de processeurs Tâche C Tâche D Tâche E Tâche B Tâche A Exécution de A Exécution de B t 21/24 Soutenance bibliographique Master Recherche SDS DVS Application du DVS Augmenter les temps de calcul en jouant sur le nombre de processeurs et les fréquences Nombre de processeurs Nombre maximum de processeurs Tâche E Tâche D Tâche C Tâche B Tâche A Exécution de A Exécution de B t 22/24 Soutenance bibliographique Master Recherche SDS Conclusion Plan 1 Présentation du sujet 2 Les grappes de calculateurs 3 Politiques d'ordonnancement 4 Consommation énergétique d'un processeur 5 Dynamic Voltage Scaling 6 Conclusion 23/24 Soutenance bibliographique Master Recherche SDS Conclusion Conclusion Mettre en ÷uvre un outil simulant une grappe de calculateurs ; 24/24 Soutenance bibliographique Master Recherche SDS Conclusion Conclusion Mettre en ÷uvre un outil simulant une grappe de calculateurs ; Capacité à prendre en compte le modèle énergétique des processeurs simulés ; 24/24 Soutenance bibliographique Master Recherche SDS Conclusion Conclusion Mettre en ÷uvre un outil simulant une grappe de calculateurs ; Capacité à prendre en compte le modèle énergétique des processeurs simulés ; Tester la consommation énergétique engendrée par les politiques d'ordonnancement ; 24/24 Soutenance bibliographique Master Recherche SDS Conclusion Conclusion Mettre en ÷uvre un outil simulant une grappe de calculateurs ; Capacité à prendre en compte le modèle énergétique des processeurs simulés ; Tester la consommation énergétique engendrée par les politiques d'ordonnancement ; Implémentation de l'algorithme de Cassandras sur le DVS. 24/24