Contrôle stochastique d allocation de ressources dans le «cloud computing» Jacques Malenfant 1 Olga Melekhova 1, Xavier Dutreilh 1,3, Sergey Kirghizov 1, Isis Truck 2, Nicolas Rivierre 3 Travaux partiellement financés par Orange Labs et par le projet ANR SALTY (ANR-09-SEGI-012) 1 Université Pierre et Marie Curie-Paris 6, CNRS, UMR 7606 LIP6 contact : Jacques.Malenfant@lip6.fr 2 Université Paris 8, LIASD, EA 4383, Saint-Denis 3 Orange Labs, Issy-les-Moulineaux Atelier «Automatique pour l informatique autonomique 2011» Conférence MSR 2011, 15 novembre 2011 1 / 33
Introduction L informatique autonomique est (souvent) un problème d automatique. Beaucoup des problèmes de contrôle soulevés sont de nature markovienne. Dans plusieurs cas, le modèle stochastique sous-jacent ne peut être caractérisé par avance. Les paramètres du contrôle (temps minimal entre les actions, etc.) peuvent dépendre du modèle du système contrôlé. 2 / 33
Introduction L informatique autonomique est (souvent) un problème d automatique. Beaucoup des problèmes de contrôle soulevés sont de nature markovienne. Dans plusieurs cas, le modèle stochastique sous-jacent ne peut être caractérisé par avance. Les paramètres du contrôle (temps minimal entre les actions, etc.) peuvent dépendre du modèle du système contrôlé. Besoin d une approche de contrôle stochastique, en apprentissage, sous un «workflow» automatisé! 3 / 33
Introduction L informatique autonomique est (souvent) un problème d automatique. Beaucoup des problèmes de contrôle soulevés sont de nature markovienne. Dans plusieurs cas, le modèle stochastique sous-jacent ne peut être caractérisé par avance. Les paramètres du contrôle (temps minimal entre les actions, etc.) peuvent dépendre du modèle du système contrôlé. Besoin d une approche de contrôle stochastique, en apprentissage, sous un «workflow» automatisé! Premières expérimentations dans le «cloud computing». 4 / 33
Plan de la présentation 1 Introduction 2 Le problème et sa modélisation 3 Résolution 4 Automatisation 5 Conclusions 5 / 33
Plan 1 Introduction 2 Le problème et sa modélisation 3 Résolution 4 Automatisation 5 Conclusions 6 / 33
L architecture VirtRL Application Scaling Point 1 Scaling Point N Application 1 SLA 1 SLA N Application N VM VM VM VM Application Controller 1 Application Controller N Requests, releases or resizes Provides or preempts Cloud Controller Interface Provides or preempts Monitor Decision Scaler Monitor Decision Scaler Cloud Platform Application Controller 7 / 33
Applications «web» et «cloud computing» Scaling Point JBoss Application Server Client Apache Load Balancer MySQL Database Server JBoss Application Server 8 / 33
Première formulation du problème Charge W (#requêtes par seconde). Ressources allouées U (#machines virtuelles). Équilibreur de charge équirépartition des requêtes. Contrôleur activé à chaque t, observe la performance P (temps de réponse moyen durant le dernier t). et en fonction de P SLA, il décide d ajouter, de maintenir ou de retrancher des machines virtuelles. 9 / 33
Première formulation du problème Charge W (#requêtes par seconde). Ressources allouées U (#machines virtuelles). Équilibreur de charge équirépartition des requêtes. Contrôleur activé à chaque t, observe la performance P (temps de réponse moyen durant le dernier t). et en fonction de P SLA, il décide d ajouter, de maintenir ou de retrancher des machines virtuelles. Nota : La charge évolue de manière aléatoire, bien que selon des patrons généraux qui reviennent régulièrement. La performance du système dépend de l implantation de l application et d autres facteurs complexes. 10 / 33
Contrôle stochastique Définition Branche de la théorie du contrôle s intéressant à des problèmes où les données comportent de l incertitude qui peut être modélisée par des processus stochastiques. Remonte entre autres aux travaux de Bellman autour de la programmation dynamique, qui ont largement fait école depuis. Le problème de contrôle est vu comme un problème de sélection des actions de manière à optimiser l espèrance mathématique d un certain critère sur une séquence de décisions à prendre. 11 / 33
Vision basique Approche fondée sur une évaluation numérique de l intérêt pour l agent de se trouver dans un état s et de prendre une action a. Agent : décide Élément : système contrôlé À chaque étape : 1 observe s t, r t s t s t+1 r t r t+1 Agent Element a t 2 décide a t et ça recommence avec s t+1, r t+1 À partir des r t, on peut juger de la valeur des décisions a t 1 prises dans les états s t 1. 12 / 33
Processus de décision markovien commandé M = S, A, T, R, β : Espace d états S Espace d actions A Fonction de transition T : S A Π(S) donnant la distribution de probabilité Π(S) = P(s s, a) Fonction de revenu R : S A R Facteur d actualisation 0 < β < 1 13 / 33
Processus de décision markovien commandé M = S, A, T, R, β : Espace d états S Espace d actions A Fonction de transition T : S A Π(S) donnant la distribution de probabilité Π(S) = P(s s, a) Fonction de revenu R : S A R Facteur d actualisation 0 < β < 1 Nota : la fonction de revenu peut également être probabiliste. Fonction de revenu R : S A Π(R) donnant la distribution de probabilité Π(R) = P(x R s, a) 14 / 33
Illustration PDM P(s a1,1 s,a 1 ) s a1,1 (s, a 1 )... a 1 P(s a1,m 1 s,a 1 ) s a1,m 1 s...... a n (s, a n ) P(s an,1 s,a n) s an,1... P(s an,mn s,a n) s an,m n 15 / 33
Modélisation du problème d allocation comme un PDM M alloc = S, A, T, R, β où : S = {(w, u, p) w W max u U max p P max }, où : w N : charge en # requête par seconde ; u N : ressources allouées en # machines virtuelles homogènes ; p R + : performance en secondes (temps de réponse moyen). A = {a Z A min a A max } : ajouter, maintenir ou retirer des machines virtuelles. T? R? β? choisi en fonction des expérimentations. 16 / 33
Fonction de coût Pour un état s = (w, u, p) et une décision a, et une transition vers s = (w, u, p ), (avec u = u + a), alors : [ (a > 0? ci a : 0) + c f u ] [ ( + (p > P SLA? 1 + p P ) ] SLA pc t : 0) P SLA 3600 Selon données utilisées en pratique : c f = 0, 095$US/heure ramené sur t ; c i égal à c f 60 ou c f 6 ; p c égal à 10,0$US/heure ou 100,0$US/heure aussi ramené sur t. 17 / 33
Fonction de coût Pour un état s = (w, u, p) et une décision a, et une transition vers s = (w, u, p ), (avec u = u + a), alors : [ (a > 0? ci a : 0) + c f u ] [ ( + (p > P SLA? 1 + p P ) ] SLA pc t : 0) P SLA 3600 Selon données utilisées en pratique : c f = 0, 095$US/heure ramené sur t ; c i égal à c f 60 ou c f 6 ; p c égal à 10,0$US/heure ou 100,0$US/heure aussi ramené sur t. Nota : aléatoire car dépend de la performance incertaine p observée pendant le nouvel intervalle t! 18 / 33
Plan 1 Introduction 2 Le problème et sa modélisation 3 Résolution 4 Automatisation 5 Conclusions 19 / 33
Résolution d un PDM Si tout est connu, équation de Bellman : V (s) = max a [ R(s, a) + β T (s, a, s )V (s ) s S ] où la politique optimale π est donnée par : π (s) = argmax a [ R(s, a) + β T (s, a, s )V (s ) s S ] 20 / 33
Algorithme d itération sur les valeurs s S, V 0 (s) := 0 t := 0 loop t := t + 1 foreach s S foreach a A Q t (s, a) := R(s, a) + β s S T (s, a, s )V t 1 (s) π t (s) := argmax a Q t (s, a) V t (s) := Q t (s, π t (s)) until sup s V t (s) V t 1 (s) < ɛ return π t 21 / 33
Apprentissage par renforcement et Q-learning Q t (s, a) := R(s, a) + β T (s, a, s )V t 1 (s) s S Que faire si le modèle n est pas connu? 1 Remplacer R(s, a) par les r observés. 2 Remplacer la somme pondérée par la probabilité par une moyenne sur un échantillonnage s des valeurs de V t 1. 3 Approximer la valeur de V t 1 (s ) par Q t 1 (s, a ), a étant la décision suivante dans le processus. 4 «Fondre» le nouvel échantillon avec les précédents pour améliorer l échantillonnage pour le couple (s, a). 22 / 33
Apprentissage par renforcement et Q-learning Q t (s, a) := R(s, a) + β T (s, a, s )V t 1 (s) s S Que faire si le modèle n est pas connu? 1 Remplacer R(s, a) par les r observés. 2 Remplacer la somme pondérée par la probabilité par une moyenne sur un échantillonnage s des valeurs de V t 1. 3 Approximer la valeur de V t 1 (s ) par Q t 1 (s, a ), a étant la décision suivante dans le processus. 4 «Fondre» le nouvel échantillon avec les précédents pour améliorer l échantillonnage pour le couple (s, a). D où l équation d apprentissage : Q(s, a) := (1 α)q(s, a) + α ( r + βq(s, a ) ) 23 / 33
Algorithme Q-learning, méthode SARSA Initialize Q(s, a) arbitrarily repeat (for each episode) Initialize s Choose a from s using policy derived from Q (e.g., ɛ-greedy) repeat (for each step in episode) Take action a, observe r and s Choose a from s using policy derived from Q (e.g., ɛ-greedy) Q(s, a) (1 α)q(s, a) + α[r + βq(s, a )] s s ; a a until s is terminal 24 / 33
Résultats obtenus I : c i faible, p c faible Patron de charge à courte fréquence. > 60.000 échantillons c i = c f /60 p c = 10.0 P SLA = 1.0 25 / 33
Résultats obtenus II : c i élevé, p c faible c i = c f /6 26 / 33
Plan 1 Introduction 2 Le problème et sa modélisation 3 Résolution 4 Automatisation 5 Conclusions 27 / 33
Mise en oeuvre de l apprentissage Grandes opérations : Initialisation Apprentissage Exploitation Évolution 28 / 33
Cycle de vie de l apprentissage par renforcement Learning Initialize Explore No Speed Up Yes Apply No Detect Has the model changed? Is the model stable? Yes but only smooth changes occured Yes but drastic changes occured 29 / 33
Conclusions Application du contrôle stochastique à l allocation de ressources dans le «cloud computing» Utilisation d une approche d apprentissage pour s attaquer à la méconnaissance du contrôlé. Des résultats encourageants. 30 / 33
Conclusions Application du contrôle stochastique à l allocation de ressources dans le «cloud computing» Utilisation d une approche d apprentissage pour s attaquer à la méconnaissance du contrôlé. Des résultats encourageants. Perspectives : Modèle plus réaliste (délai de livraison des MV). Intégration dans un outil gérant automatiquement l ensemble du cycle de vie de l apprentissage. Accélération de la convergence et meilleures politiques initiales. SALTY : coordination locale et globale à large échelle. 31 / 33
Xavier Dutreilh, Nicolas Rivierre, Aurélien Moreau, Jacques Malenfant, and Isis Truck. From Data Center Resource Allocation to Control Theory and Back. In Proceedings of the 3rd IEEE International Conference on Cloud Computing, CLOUD 2010, application and industry track, pages 410 417. IEEE, 2010. Olga Melekhova, Mohammed-Amine Abchir, Pierre Châtel, Jacques Malenfant, Isis Truck, and Anna Pappa. Self-Adaptation in Geotracking Applications : Challenges, Opportunities and Models. In 2nd International Conference on Adaptive and Self-adaptive Systems and Applications, ADAPTIVE 2010, pages 68 77. IEEE, 2010. Xavier Dutreilh, Sergey Kirgizov, Olga Melekhova, Jacques Malenfant, Nicolas Rivierre, and Isis Truck. Using Reinforcement Learning for Autonomic Resource Allocation in Clouds : towards a fully automated workflow. In Seventh International Conference on Autonomic and Autonomous Systems, ICAS 2011, pages 67 74. IEEE, 2011. Bao Le Duc, Philippe Collet, Jacques Malenfant, and Nicolas Rivierre. A QoI-aware Framework for Adaptive Monitoring. In 2nd International Conference on Adaptive and Self-adaptive Systems and Applications, ADAPTIVE 2010, pages 133 141. IEEE, 2010. 32 / 33
Jing Xu, Ming Zhao, Jose Fortes, Robert Carpenter, and Mazin Yousif. On the use of fuzzy modeling in virtualized data center management. In ICAC 07 : Proceedings of the Fourth International Conference on Autonomic Computing, page 25. IEEE Computer Society, 2007. G. Tesauro, N. K. Jong, R. Das, and M. N. Bennani. A hybrid reinforcement learning approach to autonomic resource allocation. In ICAC 06 : Proceedings of the 2006 IEEE International Conference on Autonomic Computing, pages 65 73. IEEE Computer Society, 2006. 33 / 33