Ordonnancement sous contraintes de Qualité de Service dans les Clouds GUÉROUT Tom DA COSTA Georges (SEPIA) MONTEIL Thierry (SARA) 05/12/2014 1
Contexte CLOUD COMPUTING Contexte : Environnement de Cloud Computing Évolution de l ère de l Information 1 er fournisseur de Cloud : Amazon (AWS) en 2006 1 ere API open source compatible AWS : Eucalyptus en 2008 2
Contexte CLOUD COMPUTING Propriétés mises en avant par les fournisseurs de services Cloud 3
Contexte CLOUD COMPUTING Questionnements du point de vue utilisateur 4
Contexte CLOUD COMPUTING Contrat d utilisation entre les deux parties 5
Contexte CLOUD COMPUTING Gestion de la QoS : Enjeux du point de vue du fournisseur de services Performance des ressources Stabilité du système Réactivité des services Sûreté de fonctionnement Coûts (utilisation / gestion) Avec comme buts majeurs de : Satisfaire l utilisateur par de bonnes conditions d utilisation Tirer profit de ces services Compromis entre la QoS proposée à l utilisateur et les coûts engendrés 6
Contexte CLOUD COMPUTING Résumé de la situation & problématiques associées Afin de trouver le meilleur compromis, un fournisseur doit être en mesure de : Prendre des décisions de gestion de son infrastructure afin de moduler la QoS proposée aux utilisateurs Comment attester de la Qualité de service dans un Cloud? Réduire les coûts de fonctionnement : Aspect énergétique très important, consommation des Data-Centers actuels : 2% de l électricité mondiale Quelles solutions pour minimiser la consommation énergétique des ressources de calcul? 7
Modélisations : environnement Cloud & Qualité de Service Déroulement de la présentation Modélisations : environnement Cloud & Qualité de Service Méta-heuristique : Allocation et Optimisation Simulations d ordonnancement Cloud sous contraintes de QoS Conclusions et perspectives 8
Modélisations : environnement Cloud & Qualité de Service Déroulement de la présentation Modélisations : environnement Cloud & Qualité de Service Méta-heuristique : Allocation et Optimisation Simulations d ordonnancement Cloud sous contraintes de QoS Conclusions et perspectives 8
Modélisations : environnement Cloud & Qualité de Service Modélisation de l architecture Élements de l environnement Cloud Data-center(s) Cluster(s) Machine(s) physique(s) Temps d allumage / d extinction Capacité CPU / Mémoire Fréquences CPU autorisées et puissances associées DVFS - Principes de base Utilisation du DVFS 1 (Dynamic Voltage & Frequency Scaling) Variation dynamique de la fréquence et du voltage CPU Décision de changement en fonction de la charge Choix d un couple Voltage/Fréquence prédéfini 1. Simulation énergétique de tâches distribuées avec changements dynamiques de fréquence. ComPAS 2013, Grenoble, 2013. 9
Modélisations : environnement Cloud & Qualité de Service Modélisation de l architecture Pourquoi changer la fréquence des CPU? Puissance dynamique délivrée par un composant CMOS : P cmos = C eff V 2 f avec, C eff la capacitance effective *, V le voltage et f la fréquence * grandeur physique : capacité d un composant à s opposer au changement de voltage entre ses bornes Énergie dépensée par tâche : E = P T V 2, avec V f, alors E f 2 } {{ } Frequency Frequency f1 0 0 W T1 T1 D Time f2 0 0 W T2 D Time Fréquence divisée par 2 Énergie divisée par 4 10
Modélisations : environnement Cloud & Qualité de Service Modélisation de l architecture DVFS dans le noyau Linux 5 modes de fonctionnement : 3 statiques, 2 dynamiques PERFORMANCE : Fréquence maximum fixée POWERSAVE : Fréquence minimum fixée USERSPACE : Fréquence choisie fixée ON-DEMAND : Décision dynamique avec 1 seuil + 1 délai CONSERVATIVE : Décision dynamique avec 2 seuils Prise de décision de changement de fréquence chaque 10ms 11
Modélisations : environnement Cloud & Qualité de Service Modélisation de l architecture Machine(s) virtuelle(s) Temps d allumage, de reconfiguration et de migration Capacité CPU / Mémoire : demandée, allouée, utilisée Principe de reconfiguration Machine Virtuelle Capacité CPU allouée Machine Virtuelle Réduction de X% Nouvelle capacité CPU allouée Service(s) élémentaire(s) (calcul, base de donnée, stockage) : exécuté(s) par une machine virtuelle 12
Modélisations : environnement Cloud & Qualité de Service Modélisation de QoS Cloud La QoS dans les Clouds Étapes de l étude Lister des paramètres QoS pouvant jouer un rôle dans un Cloud Faire ressortir des catégories de paramètres Apporter une définition précise de chacun dans un Cloud Définir des métriques mesurables Décider lesquelles sont intéressantes pour notre étude 13
Modélisations : environnement Cloud & Qualité de Service Modélisation de QoS Cloud Comment sélectionner les paramètres de QoS à optimiser? Analyse de SLA des fournisseurs actuels : Amazon, Google, Microsoft... Tenir compte des besoins des utilisateurs Tenir compte des problèmes environnementaux d aujourd hui Se baser sur les travaux de recherche existant 14
Modélisations : environnement Cloud & Qualité de Service Modélisation de QoS Cloud Catégories de QoS PERFORMANCE Temps d exécution Latence Débit Temps de réponse : Terminaison de la machine virtuelle ( la plus ) longue : T h,k rep = max NbInstr v ω v,h f,cpu vm1 vm2 vm3 vm4 Temps de réponse (s) 15
Modélisations : environnement Cloud & Qualité de Service Modélisation de QoS Cloud Catégories de QoS SÛRETÉ DE FONCTIONNEMENT Dynamisme : Capacité à réagir à des pics d utilisation : n H ξ h i,k f,cpu ωh i,k f,cpu i=0 Dyn = n H Robustesse : Probabilité d un service de ne pas être affecté par une défaillance d une machine physique : Rob = n H i=0 n h i V n H Machine physique 0 LIBRE VM VM VM Dynamsime Machine physique 1 LIBRE VM VM VM VM Machine physique N LIBRE VM 3 vm 4 vm 1 vm Robustesse : 2.67 16
Modélisations : environnement Cloud & Qualité de Service Modélisation de QoS Cloud Catégories de QoS SÉCURITÉ & DONNÉES Authentification Autorisation Intégrité Confidentialité Responsabilisation Traçabilité Cryptage Cycle de vie des données Non Répudiation 17
Modélisations : environnement Cloud & Qualité de Service Modélisation de QoS Cloud Catégories de QoS COÛT Puissance (W) 300 Pidle Pfull Coût de service Coût énergétique : Énergie totale consommée, n H E = P(F i ) h i Trep h,k i=1 P(F i ) = α (P full (F i ) P idle (F i )) + P idle (F i ) Empreinte carbone 200 100 0 0.8 1.0 1.2 1.5 1.7 Fréquence (GHz) Caractéristiques du site Grid 5000 de Reims 18
Modélisations : environnement Cloud & Qualité de Service Modélisation de QoS Cloud Sélection des paramètres de QoS Objectifs : Pertinence et antagonisme Énergie : Énergie total consommée MIN Temps de réponse : Durée d exécution de la machine virtuelle la plus longue MIN Robustesse : Probabilité d un service d être affecté par une défaillance d une machine physique MIN Dynamisme : Capacité à réagir à des pics d utilisation MAX * Quatre métriques de QoS antagonistes Problème d optimisation multi-objectifs 2 2. Revue internationale : Quality of service modeling for green scheduling in Clouds, SUSCOM, 2014 19
Modélisations : environnement Cloud & Qualité de Service Modélisation de QoS Cloud Déroulement de la présentation Modélisations : environnement Cloud & Qualité de Service Méta-heuristique : Allocation et Optimisation Simulations d ordonnancement Cloud sous contraintes de QoS Conclusions et perspectives 20
Méta-heuristique : Allocation et Optimisation Algorithme Génétique Modélisation de l algorithme génétique Un chromosome une solution de placement Un gène une machine virtuelle Valeur d un gène numéro de la machine physique Machine physique 0 Machine physique 1 Machine physique 2 VM_n VM_3 VM_1 VM_n-2 VM_n-1 VM_2 21
Méta-heuristique : Allocation et Optimisation Algorithme Génétique Conditions expérimentales 110 machines physiques Capacité MEM : 2500 Mo Capacité CPU : 2000 MIPS 5 fréquences CPU DVFS mode USERSPACE Hétérogénéité des puissances délivrées (5 types) 400 machines virtuelles Capacité CPU : [200 ;400 ;600 ;800] MIPS Capacité MEM : [200 ;400 ;600 ;800] Mo 16 types de machine virtuelles Reconfiguration capacité CPU 20% Nombre d instructions généré aléatoirement Paramètres du GA : Nombre d individus de la population initiale : 1500 Nombre d individus de la population de travail : 120 Nombre de croisements : 90 Nombre de mutations : 120 Nombre de générations : 600 Nombres fixes de machines physiques et machines virtuelles à allouer à un instant t 22
Méta-heuristique : Allocation et Optimisation Algorithme Génétique Optimisation des objectifs Fonction objectif (valeur de Fitness) : F obj = α 1 n(e) + α 2 n(respt ) + α 3 n(rob) α 4 n(dyn) Fonction de normalisation Centrer-Réduire : n(x) = v µ σ Valeurs de fitness comparables Déclinaison du GA en plusieurs configurations d optimisation : Nom GA Coefficients appliqués aux métriques Temps Énergie Robustesse Dynamisme de réponse GA All 1 1 1 1 GA Energy 1 0 0 0 GA RespT 0 1 0 0 GA Rob 0 0 1 0 GA Dyn 0 0 0 1 Comment estimer et comparer la qualité des solutions? 23
Méta-heuristique : Allocation et Optimisation Algorithme Génétique Comparaison des optimisations La qualité d une solution, sur l ensemble des métriques, peut être estimée par rapport : À des algorithmes gloutons À d autres méta-heuristiques À l optimal Ou en comparant le Fitness des différentes versions du GA 24
Méta-heuristique : Allocation et Optimisation Algorithme Génétique Comparaison des optimisations Fitness calculé avec une normalisation sur [min ;max] pour chaque configuration. Comparaison du Fitness 1 0.8 GA_Energy GA_RespT GA_Rob GA_Dyn GA_All Mauvaise qualité 0.6 Fitness 0.4 0.2 0 0 50 100 150 200 250 300 350 400 450 Nb machines virtuelles Bonne qualité Temps de résolution sur l instance 110/400 : 40s 25
Méta-heuristique : Allocation et Optimisation Algorithme Génétique Bilan d étude de l algorithme génétique : Donne une idée globale de l influence de chaque métrique Solution d allocation multi-objectifs satisfaisantes Convergence rapide Temps de résolution de 1 10s par machine virtuelle Aspect temporel manquant! de l allocation à l ordonnancement 26
Simulations d ordonnancement Cloud sous contraintes de QoS Déroulement de la présentation Modélisations : environnement Cloud & Qualité de Service Méta-heuristique : Allocation et Optimisation Simulations d ordonnancement Cloud sous contraintes de QoS Conclusions et perspectives 27
Simulations d ordonnancement Cloud sous contraintes de QoS CloudSim CloudSim : Propriétés Propriétés : Simulation évènementielle Description fine de l architecture Cloud Outils énergétiques (modèles,migration,...) Politiques de placement Extensibilité de ses fonctionnalités 3 3. Revue internationale : Energy-aware simulation with DVFS. Simulation Modelling Practice and Theory 2013. Code source disponible : http ://www.cloudbus.org/cloudsim/cloudsim DVFS.rar 28
Simulations d ordonnancement Cloud sous contraintes de QoS CloudSim - propriétés et extensions CloudSim : Extensions Extensions : DVFS Reconfiguration machine virtuelle Gestion dynamique des évènements Mesures de métriques de QoS Validation de ces extensions par comparaison à des expérimentations réelles : Machine physique unique Application parallèle MPI sur Grid 5000 4 Cas d utilisation pour les DAG (Direct Acyclic Graph) 4. Grid 5000 energy-aware experiments with DVFS, Grid 5000 school 2012, Nantes 2012. 29
Simulations d ordonnancement Cloud sous contraintes de QoS CloudSim - Conditions de simulation Conditions de simulation Instance du problème : 110 / 400 Même caractéristiques que pour l étude du GA Ré-Allocations périodiques chaque 20 secondes migrations Algorithmes de placement utilisés : Allocation avec les différentes versions du GA Allocation avec des algorithmes gloutons : Best-Fit Sorted (BFS) & Round-Robin (RR) Analyse de l impact des ré-allocations sur l exécution des machines virtuelles et les valeurs des métriques de QoS au cours du temps 30
Simulations d ordonnancement Cloud sous contraintes de QoS CloudSim - Conditions de simulation Résultat - Robustesse Robustesse (Nb Services par machibe physique) 4.5 4 3.5 3 2.5 2 1.5 Métrique : Robustesse BFS BFS ReAlloc GA_All GA_All ReAlloc RR RR ReAlloc 1 0 20 40 60 80 100 120 140 Temps (s) Mauvaise qualité Bonne qualité Courbes GA/BFS/RR : Allocation unique à t=0 Courbes GA All-ReAlloc/BFS-ReAlloc/RR-ReAlloc : Allocation à t=0 puis ré-allocation chaque 20 secondes 31
Simulations d ordonnancement Cloud sous contraintes de QoS CloudSim - Conditions de simulation Résultat - Dynamisme Dynamisme (MIPS libres par machibe physique) 1800 1600 1400 1200 1000 800 600 Métrique : Dynamisme 400 BFS BFS ReAlloc GA_All 200 GA_All ReAlloc RR RR ReAlloc 0 0 20 40 60 80 100 120 140 Temps (s) Bonne qualité Mauvaise qualité Courbes GA/BFS/RR : Allocation unique à t=0 Courbes GA All-ReAlloc/BFS-ReAlloc/RR-ReAlloc : Allocation à t=0 puis ré-allocation chaque 20 secondes 32
BFS Ordonnancement sous contraintes de Qualité de Service dans les Clouds Simulations d ordonnancement Cloud sous contraintes de QoS CloudSim - Conditions de simulation Résultat - Énergie / Temps de réponse 660 640 620 Energy ResponseTime Métriques : Energie et Temps de réponse 125 120 Mauvaise qualité Energie (Wh) 600 580 560 540 520 500 480 115 110 105 Temps de réponse (s) 460 RR 100 BFS ReAlloc GA_All GA_All ReAlloc RR ReAlloc Bonne qualité Courbes GA/BFS/RR : Allocation unique à t=0 Courbes GA All-ReAlloc/BFS-ReAlloc/RR-ReAlloc : Allocation à t=0 puis ré-allocation chaque 20 secondes 33
Conclusions et perspectives Déroulement de la présentation Modélisations : environnement Cloud & Qualité de Service Méta-heuristique : Allocation et Optimisation Simulations d ordonnancement Cloud sous contraintes de QoS Conclusions et perspectives 34
Conclusions et perspectives Conclusions Conclusions Modélisation de QoS Cloud & Métriques associées Définitions des paramètres Métriques mesurables Algorithme génétique Compromis sur de plusieurs métriques de QoS Analyse de l influence des métriques sélectionnées les unes sur les autres Simulation Analyse de l impact des ré-allocations sur l évolution des métriques QoS Cloud au cours du temps Analyse de la perspicacité de l algorithme génétique et d algorithmes gloutons 35
Conclusions et perspectives Perspectives Perspectives À court terme : Extensions des modèles d architecture matérielle et logicielle Extensions des modèles de qualité de service Vers un simulateur de Cloud plus complet Méta-heuristiques et algorithme génétique Programmation linéaire 5 Apprendre pour mieux réagir À long terme : Utilisation intelligente des énergies vertes Remise en question du concept de fonctionnement 5. Collaboration actuelle avec l équipe ROC du LAAS 36
Conclusions et perspectives Perspectives Publications scientifiques Revues internationales - Tom Guérout, Samir Medjiah, Georges Da Costa, Thierry Monteil. Quality of Service Modeling for Green Scheduling in Clouds., Sustainable Computing, Elsevier, août 2014. - Tom Guérout, Georges Da Costa, Thierry Monteil, Rodrigo Neves Calheiros, Rajkumar Buyya, Mihai Alexandru. Energy-aware simulation with DVFS., Simulation Modelling Practice and Theory, Elsevier, Numéro spécial Energy efficiency in Grids and Clouds, Vol. 39, p. 76-91, 2013. Conférences et workshops internationaux - Tom Guérout, Mahdi Ben Alaya. Autonimic energy-aware task scheduling, IEEE International Conference on Collaboration Technologies and Infrastructures (WETICE 2013), Hammemet, Tunisie, 17/06/2013-20/06/2013, IEEE Computer Society - Conference Publishing Services, juin 2013. - Mahdi Ben Alaya, Thierry Monteil, Khalil Drira, Tom Guérout. A framework to create multi-domains autonomic middleware (regular paper), International Conference on Autonomic and Autonomous Systems (ICAS 2012), St Marteen (Pays Bas), mars 2012. - Remi Sharrock, Patricia Stolf, Thierry Monteil, Tom Guérout. Internal self-protecting for consistency and stability in an autonomic manager (regular paper), IEEE International Symposium on Network Computing and Applications (IEEE NCA 2011), Toulouse, IEEE Computer Society, 2011. Conférences et workshops nationaux - Tom Guérout, Thierry Monteil, Georges Da Costa, Mihai Alexandru. Simulation énergétique de tâches distribuées avec changements dynamiques de fréquence (short paper), Conférence d informatique en Parallélisme, Architecture et Système (ComPAS 2013), Grenoble, janvier 2013. - Tom Guérout, Thierry Monteil, Georges Da Costa, Mihai Alexandru. Grid 5000 energy-aware experiments with DVFS (short paper), Grid 5000 school 2012, Nantes, décembre 2012. GUÉROUT Tom tguerout@laas.fr 37