1 / 31 Optimisation for Cloud Computing and Big Data Olivier Beaumont, Lionel Eyraud-Dubois
2 / 31 Le Cloud, qu est-ce que c est? C est récent Amazon qui commence (2006) avec AWS Dropbox, Google App Engine (2008) icloud (2011) Ça recouvre différentes formes Software as a Service (SaaS) On s abonne à un service Google Mail Platform as a Service (PaaS) On loue une plateforme Google App Engine, hébergement web Infrastructure as a Service (IaaS) On loue des Machines Virtuelles Amazon EC2, Windows Azure
3 / 31 À quoi / à qui ça sert? Externaliser les ressources informatiques Investissement réduit Mutualisation des coûts (administration, maintenance) Comptabilité plus facile Utilisateurs Particuliers Pour le stockage de données principalement. Petites entreprises Diminue le besoin d investissement Grandes entreprises Gain en élasticité : payer à la demande Parfois combiné avec des ressources de calcul en interne
Comment ça marche? Virtualisation Technique importante : les Machines Virtuelles Permet d isoler et d abstraire (interface commune) Élasticité Ressources payées à la demande (à l heure), la demande peut varier rapidement Migrations Permet de déplacer une machine virtuelle d un serveur à un autre 4 / 31
5 / 31 Problématiques d optimisation Pour le fournisseur Objectif : utilisation efficace des ressources Contraintes : contrats avec le client Packing, Tolérance aux pannes, Dynamicité,... Pour l utilisateur Question : quelles ressources louer, quand? Objectif : minimiser les coûts, gagner du temps Ordonnancement, provisioning,... Pour un revendeur Question : choix du (des) fournisseur, réservations Objectif : max. profit Prévision, robustesse,...
Les inconvénients Coût Faire de gros calculs sur le Cloud, ça peut être très cher Passage à l échelle Les centres de calcul sont très gros : difficulté pour optimiser Sécurité Confidentialité des données? Fiabilité Contrat entre le fournisseur et le client : pannes explicitement facturées 6 / 31
Problème d allocation Le fournisseur possède des serveurs (Physical Machines, PM) et reçoit des requêtes (Virtual Machines, VM, à exécuter). Pour optimiser l utilisation des ressources, il veut consolider, i.e. allouer plusieurs VMs sur une PM, tout en fournissant à chaque VM suffisamment de capacité de calcul. Modélisation: Bin Packing n objets, de taille s i, à ranger dans des boîtes de taille 1, pour minimiser le nombre de boîtes utilisées. Ratio d approximation Absolu / asymptotique 7 / 31
8 / 31 Bin Packing Results NextFit: 2 FirstFit: 17/10 First Fit Decreasing: 11/9 Modified FFD: 71/60
9 / 31 Online Bin Packing First Fit, Next Fit sont des algorithmes online Refined First Fit : 5 3 Impossible de faire mieux que 1.5 [Yao, 1980] Bornes précises : 1.54 ρ 1.583
10 / 31 Récapitulatif Allocation de VMs comme du Bin Packing On a ignoré la dynamicité des besoins de ressource l arrivée et départ dynamique des VMs l hétérogénéité des machines physiques la présence de plusieurs ressources critiques les liens entre machines virtuelles... Algorithmes d approximation Garanties au pire cas, comparée à la solution optimale FirstFit et FirstFitDecreasing sont de bonnes solutions
11 / 31 Suite du cours Prendre en compte la variation de la demande Stochastic Bin Packing Pour chaque VM i, on suppose qu on connaît µ i et σ i tel que s i N (µ i, σ 2 i ) On se fixe une valeur p [0, 1]: fiabilité cible Objectif: fabriquer des boîtes B avec P( i B s i > 1) p Prendre en compte des variations quelconques Fully Dynamic Bin Packing Objets de taille connue, à packer comme d habitude Séquence d évènements où la taille d un objet change Comment retrouver un packing performant?
12 / 31 Stochastic Bin Packing [INFOCOM 2011] Modéliser l incertitude Objets à taille aléatoire s i N (µ i, σ 2 i ) Contrainte : P( s i > 1) p pour p fixé Résultat d approximation ρ = 2 + 1 pour un nombre constant de µ i ρ = (1 + ɛ)( 2 + 1) en général
13 / 31 Propriétés d une boîte valide Si x N (µ, σ 2 ), alors β, tq P(x 1) p µ + βσ 1 B un ensemble d objets. i B s i N ( i B µ i, i B σ2 i ) B est valide si et seulement si i B µ i + β i B σ2 i 1 Condition suffisante: i B µ i + βσ i 1
14 / 31 Exemple (n = 35, β = 3) 4 objets (A) avec µ = 1 6, σ = 1 18 9 objets (B) avec µ = 1 12, σ = 1 36 22 objets (C) avec µ = 2 3 6 0.044658 Premier packing: besoin de 4 boîtes 2 (A) + 4 (B) + (C): remplit une boîte entièrement µi = 1 3 + 1 3 + 2 3 6 = 1 3 6 σ 2 i = 2 + 4 = 1 (2 + 1), donc βσ = 3 3 18 2 36 2 18 2 18 Il reste 20 objets (C) et un objet (B): taille 1 + 5( 7 6 2 3 ) > 1 Autre packing: tient en 3 boîtes 4 (A): remplit une boîte, 9 (B) aussi 22 (C) rentrent dans une seule boîte
15 / 31 Notion de taille équivalente i B µ i + β i B σ2 i = ( ) i µ i + (βσ i ) 2 β i σ2 i s i = µ i + (βσ i ) 2 β i σ2 i Pour garder des s i petits, il faut grouper des objets dont les σ i sont proches
16 / 31 Pour simplifier, k valeurs différentes de µ i µ i = e 1 ou e 2 ou... ou e k Groupe G k,h contient les objets avec µ i = e k et 1 (h+1)e k β h+1 < σ i 1 he k β, h 1 h e k On remplit des boîtes avec des objets de même groupe Dans une boîte du groupe G k,h, on peut mettre exactement h objets: chaque objet occupe 1 h-ème de boîte
17 / 31 Occupation effective Pour un objet de taille (µ, σ), f (µ, σ) = 1 h avec 1 (h+1)µ β < σ 1 hµ h+1 β h On note ρ = max B valide i B f (µ i, σ i ) Si on a un ensemble de B boîtes B j telles que i B j f (µ i, σ i ) 1 pour tout j sauf R boîtes, alors B ρopt + R On peut montrer ρ 1 + 2
18 / 31 En pratique Comparaison avec un algorithme Bin Packing standard, avec s i = µ i + βσ i : +30% de boîtes utilisées Comparaison avec s i = µ i + β σ i avec β < β: même nombre de boîtes, mais 17% des boîtes ont une probabilité de dépasser supérieure à l objectif (p = 0.01) Sur des instances aléatoires, produit des solutions à 60% d une borne inférieure
19 / 31 Allocation dynamique [IPDPS 2013] Dynamicité : la demande des VMs change au cours du temps rajouter un objet supprimer un objet modifier la taille d un objet online: on ne connaît pas le futur Algorithme 1.5 approx avec solution valide en une migration et reconfigurations locales
Fonctionnement Structure : classification des objets 0 < T 1 3 < S 1 2 < L 2 3 < B Agencements autorisés : B, LT, SS, T Algo: réaction à la surcharge d une boîte pas besoin de réagir à chaque modification Retrouver la garantie : regrouper les objets T 20 / 31
21 / 31 Preuve d approximation asymptotique Si on produit une boîte T : au plus deux boîtes contiennent moins que 2 3 Sinon, oublions les T : n B boîtes B, n L boîtes L, n SS boîtes SS Dans OPT: n B, n L, n LS, n SS n B = n B n L = n L + n LS 2n SS = n LS + 2n SS Et donc n = n B + n L + n SS = n B + n L + 3 2 n LS + n SS 3 2 n
22 / 31 Extensions Algorithme distribué Autoriser plusieurs boîtes non pleines Service distribué pour les localiser Multi-dimension (Vector Packing) Analyse en moyenne (simulations)
23 / 31 Gérer les pics de demandes Hypothèse: les VMs ont deux modes de comportement: normal ou de pointe. Grouper les VMs ensemble pour minimiser la quantité de ressources réservée pour les pics. Burstiness-aware Server Consolidation via Queuing Theory Approach in a Computing Cloud Z. Luo, Z. Qian, IPDPS 2013
24 / 31 Prendre en compte les corrélations Savoir reconnaître quelles VMs ont des pics de demande simultanée. Nécessite un travail d analyse de l historique. Efficient Resource Provisioning in Compute Clouds via VM Multiplexing X. Meng, C. Isci, J. Kephart, L. Zhang, E. Bouillet, D. Pendarakis, ICAC 2010
25 / 31 Allocation dynamique Techniques de prédiction pour estimer la demande des VMs dans un futur proche. Dynamic Placement of Virtual Machines for Managing SLA Violations N. Bobroff, A. Kochut, K. Beaty, IFIP 2007
26 / 31 Vector Packing Généralisation en plusieurs dimensions Pour modéliser l optimisation de plusieurs ressources (CPU, mémoire, disque,... ) Objet i de taille si k avec 1 k d Bin B valide ssi k, i B sk i 1 Biblio Heuristics for vector bin packing. R. Panigrahy, K. Talwar, L. Uyeda, & U. Wieder, 2011, Microsoft Research An approximation algorithm with absolute worst-case performance ratio 2 for two-dimensional vector packing H. Kellerera, V. Kotov, Operations Research Letters 2003 Improved approximation algorithms for multidimensional bin packing problems N. Bansal, A. Caprara, M. Sviridenko, FOCS 2006
27 / 31 Challenge Roaddef Google http://challenge.roadef.org/2012/en/ Reassignement de machines: les VMs sont déjà allouées, et il faut les déplacer pour satisfaire les contraintes de packing. Contraintes additionnelles de répartition des VMs d un même service (pour la tolérance aux pannes) et de proximité de services proches (pour éviter de trop gros délais). Objectif: équilibrage de charge et minimiser les déplacements.
28 / 31 Bibliographie Packing Approximation algorithms for bin packing: a survey E. G. Coffman, M. R. Garey, D. S. Johnson, 1997 A simple proof of the inequality FFD (L) 11/9 OPT (L) + 1, L for the FFD bin-packing algorithm Y. Minyi There is no asymptotic PTAS for two-dimensional vector packing G. Woeginger, 1997 New Algorithms for Bin Packing (mostly on-line) A. Yao, 1980
29 / 31 Bibliographie Dynamic Packing A robust APTAS for the classical bin packing problem L. Epstein, A. Levin, MathProg 2009 On Dynamic Bin Packing: An Improved Lower Bound and Resource Augmentation Analysis Chan, Wong, Yung, Algorithmica, 2009 Fully dynamic algorithms for bin packing: Being (mostly) myopic helps Z. Ivkovic and E. Lloyd, Algorithms-ESA 93, Algorithms for the relaxed online bin-packing model G. Gambosi, A. Postiglione, and M. Talamo, SIAM J. on Computing, 2000. Optimizing Resource allocation while handling SLA violations in Cloud Computing platforms L. Eyraud-Dubois, H. Larchevêque, IPDPS 2013
30 / 31 Bibliographie Stochastic Consolidating Virtual Machines with Dynamic Bandwidth Demand in Data Centers M. Wang, X. Meng, L. Zhang, INFOCOM 2011 Dynamic Placement of Virtual Machines for Managing SLA Violations N. Bobroff, A. Kochut, K. Beaty, IFIP 2007 Burstiness-aware Server Consolidation via Queuing Theory Approach in a Computing Cloud Z. Luo, Z. Qian, IPDPS 2013 Allocating Bandwidth For Bursty Connections J. Kleinberg, Y. Rabani, E. Tardos; SIAM J. on Computing, 2000 Stochastic models of load balancing and scheduling in cloud computing clusters Maguluri, Srikat, Ying, INFOCOM 2012
31 / 31 Bibliographie Vector Packing An approximation algorithm with absolute worst-case performance ratio 2 for two-dimensional vector packing H. Kellerera, V. Kotov, Operations Research Letters 2003 Improved approximation algorithms for multidimensional bin packing problems N. Bansal, A. Caprara, M. Sviridenko, FOCS 2006 Heuristics for vector bin packing. R. Panigrahy, K. Talwar, L. Uyeda, & U. Wieder, 2011, Microsoft Research