Optimisation for Cloud Computing and Big Data



Documents pareils
Optimisation for Cloud Computing and Big Data

Application de K-means à la définition du nombre de VM optimal dans un cloud

Cours de Master Recherche

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Chapitre 5 : Flot maximal dans un graphe

Programmation parallèle et distribuée

Programmation parallèle et distribuée

Annexe 6. Notions d ordonnancement.

Contrainte de flot pour RCPSP avec temps de transfert

INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement. Bernard Fortz

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

Analyse de performance, monitoring

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

Comment optimiser l utilisation des ressources Cloud et de virtualisation, aujourd hui et demain?

Algorithmes de recherche

La Continuité d Activité

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

agility made possible

Masses de données. 1. Introduction 2. Problématiques 3. Socle de formation (non présenté) 4. Liens avec Formation INSA

Proposition d une architecture pour ebay, en mettant l accent sur les notions de scalabilité, de résilience, et de tolérance aux pannes.

Revue d article : Dynamic Replica Placement for Scalable Content Delivery

System Center 2012 R2 Licensing Fiche Produit

Virtualisation des ressources serveur. Exemple : Systèmes partitionnés sous HP-UX et Oracle

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Virtualisation & Sécurité

Hibernate vs. le Cloud Computing

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

Parallélisme et Répartition

Ordonnancement sous contraintes de Qualité de Service dans les Clouds

Configuration du serveur ESX

VMware Infrastructure The New Computing Platform. Stéphane CROIX Systems Engineer

Big Data et Graphes : Quelques pistes de recherche

Livre blanc. La sécurité de nouvelle génération pour les datacenters virtualisés

LES APPROCHES CONCRÈTES POUR LE DÉPLOIEMENT D INFRASTRUCTURES CLOUD AVEC HDS & VMWARE

Pourquoi archiver les s

Le Cloud Open-Mind! Emilien Macchi

Big Data et Graphes : Quelques pistes de recherche

Quelques algorithmes simples dont l analyse n est pas si simple

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Jean-Philippe Préaux

MiniCLOUD

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

Grid 5000 : Administration d une infrastructure distribuée et développement d outils de déploiement et d isolation réseau

Gestion réactive des opérations de maintien et d actualisation réglementaire et technologique des systèmes complexes.

au Centre Inter-établissement pour les Services Réseaux Cédric GALLO

Disponibilité 24-7/365

Définitions. Numéro à préciser. (Durée : )

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr

+ = OpenStack Presentation. Raphaël Ferreira - enovance. Credits : Thanks to the OpenStack Guys 1

e need L un des premiers intégrateurs opérateurs Cloud Computing indépendants en France

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Virtualisation des Serveurs et du Poste de Travail

Communications performantes par passage de message entre machines virtuelles co-hébergées

Flex Multipath Routing

Système d administration autonome adaptable: application au Cloud

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

Stratégie de recherche adaptative en programmation par contrainte

Veeam Backup and Replication

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

System Center Data Protection Manager 2010 (DPM2010) Mettre en œuvre un réseau de backup

Bases de données documentaires et distribuées Cours NFE04

Les méthodes de sauvegarde en environnement virtuel

A Les différentes générations VMware

Qu est ce que le Cloud Computing?

Vous devez tout d abord réaliser l esquisse (le dessin de la pièce en 2 dimensions) avant de mettre cette pièce en volume.

CONFIGURER ET DÉPLOYER UN CLOUD PRIVÉ AVEC SYSTEM CENTER 2012

Nouvelles de Swisscom Cloud Perspectives Cloud Computing

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine Slimane.bah@emi.ac.ma

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

Je bénéficie désormais des avantages exceptionnels de la virtualisation pour mon stockage. Virtual SAN est aussi économique que simple à utiliser.

La surveillance réseau des Clouds privés

La plate forme VMware vsphere 4 utilise la puissance de la virtualisation pour transformer les infrastructures de Datacenters en Cloud Computing.

100% Swiss Cloud Computing


Systèmes et algorithmes répartis

Vous êtes bien à la bonne présentation, c est juste que je trouvais que le titre de cette présentation étais un peu long,

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Fouillez facilement dans votre système Big Data. Olivier TAVARD

VIRTUALISATION : MYTHES & RÉALITÉS

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Playbook du programme pour fournisseurs de services 2e semestre 2014

VMware vsphere 5.0. Licences, tarifs et offres

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

HySIO : l infogérance hybride avec le cloud sécurisé

Sauvegarde collaborative en pair-à-pair

Algorithmes d'apprentissage

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

Christophe Dubos Architecte Infrastructure et Datacenter Microsoft France

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Groupe Stockage & Sauvegarde. François Dessables

Portefeuille de solutions HP pour la virtualisation

Contributions à l expérimentation sur les systèmes distribués de grande taille

Transcription:

1 / 23 Optimisation for Cloud Computing and Big Data Olivier Beaumont, Lionel Eyraud-Dubois

2 / 23 Aujourd hui Problèmes de fiabilité on va oublier la dynamicité Placement de VMs en programmation par contraintes [ICDCS 2011] Très général Avec contraintes de fiabilité en plus Placement de services constitués de plusieurs VMs Avec fiabilité, non découpable [NOMS 2010] Sans fiabilité, découpable, réaction dynamique à des modifications [WEA 2005, WWW 2007] Avec fiabilité, découpable [HIPC 2014]

3 / 23 Problème général de placement de VMs [ICDCS 2011] Formulation du problème Pour chaque ressource k (CPU, mémoire, réseau,... ), VM v a une occupation sv k PM h a une capacité Ch k Contraintes d indisponibilité I d une VM sur une PM Contraintes de séparation S entre deux VMs v et v Programmation par contraintes Variables p v pour chaque VM v, qui indique sur quel noeud elle est placée Contraintes : j, k, i tq p v=j sk i Cj k (v, h) I, p v h (v, v ) S, p v p v

4 / 23 Fiabilité: placement de VMs Contrainte de k-résilience pour une VM: Tant qu il n y a pas plus que k pannes de machines, la VM peut toujours s exécuter. k peut être différent d une VM à l autre: k v Objectif: pouvoir trouver un emplacement de rechange pour chaque VM présente sur un noeud en panne Comment modifier la formulation précédente pour assurer la résilience?

5 / 23 Fonctions d évacuation Fournir une fonction evac() en plus du placement p v Si le noeud f tombe en panne, nouveau placement: p v = evac(v) si p v = f et si k v 1 p v = p i sinon Le nouveau placement doit être valide, et il faut une nouvelle fonction evac() pour la prochaine panne Pour chaque séquence de pannes (f 1, f 2,..., f u ), on a une séquence de placements P 0,P 1,...,P u valides et de fonctions evac 0 (), evac() 1,..., evac() u

6 / 23 VMs fantômes Idée: placer k v répliques fantômes de la VM v (v 1, v 2,...) Fonctions d évacuations: Pour la i-ème panne, on utilise la réplique numéro i (evac i (v) = p v i ) Et si ce noeud est déjà en panne? Séquence de pannes (f 1, f 2,..., f i ) evac i (v) p v i Tant que evac i (v) = f j, evac i (v) p v j Si les fantômes sont séparés, cette procédure termine Preuve?

7 / 23 Contraintes de faisabilité Séparer les fantômes: v, i < j, p v i p v j Aucun fantôme sur une PM interdite: (v, h) I, i, p v i h Séparation: (u, v) S, p u 0 p v 0 i j, p u i p v j Preuve que ces contraintes garantissent que u et v ne sont jamais ensemble?

8 / 23 Contrainte de capacité Considérons un noeud h, et une VM v tq p v i = h. Si le noeud n tombe en panne en position i, et si n = p v j pour j i, alors v peut être évacuée sur h. Si j = 0, évacuation directe Si j < i, évacuation vers n à la panne j, puis vers h Si j > i, essai d évacuation sur n à la j-ème panne On note E(n, i, h) = {v tq p v i = h et n = p v j, j i} Il suffit d avoir u E(n,i,h) sk i disponible de la ressource k pour garantir assez de capacité en cas de panne du noeud n en position i. Pour la i-ème panne, il suffit d avoir max n h u E(n,i,h) sk i Au total, condition suffisante: k, p v=h sk v + i max n h u E(n,i,h) sk i Ch k

9 / 23 Résultats Pour 16 noeuds et 64 VMs, résolu en 20 secondes Pour 32 noeuds et 128 VMs, résolu en 300 secondes Sur une grosse plate-forme: partitionner en sous-problèmes

10 / 23 Placement de services [Machida 2010] Commençons par un modèle simple Chaque serveur peut contenir p machines virtuelles Chaque service i nécessite c i machines virtuelles On veut un placement qui supporte k pannes Même après k pannes, il reste c i VMs pour le service i Pour cela on alloue plus de machines virtuelles que nécessaire

11 / 23 Borne inférieure Étant donnés (c 1,..., c n ), k et p, combien de PMs sont nécessaires? Après k pannes, il reste (m k)p emplacements. Au total, il faut que tous les services puissent tourner i c i (m k)p m 1 p i c i + k

12 / 23 Première approche, classique On donne c i + k VMs à chaque service On s assure que chacune de ces VMs s exécutent sur des serveurs différents Combien de serveurs sont nécessaires? m max i (c i + k) mp i (c i + k) m 1 = max(max i c i + k, 1 p ( i c i + kn) ) Allocation: On considère les pm 1 emplacements, d abord les premiers emplacements de chaque serveur, puis les seconds, etc. On alloue les VMs d un même service sur des emplacements contigüs. Exemple avec k = 1, p = 3, (c 1, c 2, c 3 ) = (3, 1, 1)

13 / 23 Deuxième approche Si on relâche la contrainte que toutes les VMs d un service doivent s exécuter sur des serveurs différents Il est possible d avoir besoin de plus de k réplicats De combien de réplicats a-t-on besoin pour un service avec c i?

14 / 23 Deuxième approche Supposons qu on a m serveurs, et regardons l allocation sur m k serveurs restants Il en faut c i en tout, donc ci m k sur une partie et ci m k sur l autre Si k serveurs avec ci m k sont en panne Il faut avoir c i + k Et c est suffisant ci m k

15 / 23 Deuxième approche Supposons qu on a m serveurs, et regardons l allocation sur m k serveurs restants Il en faut c i en tout, donc ci m k sur une partie et ci m k sur l autre Si k serveurs avec ci m k sont en panne Il faut avoir c i + k ci m k Et c est suffisant Si c i m k, alors c i = c i + k m, donc pas plus que k réplicats en panne Si (α 1)(m k) c i < α(m k), alors c i = c i +αk, et c i < αm Donc pas plus que αk réplicats en pannes

16 / 23 Deuxième approche: calculer m Condition nécessaire 1 m p i c i + k On peut le retrouver en écrivant c i c i + c i D où i c i m m k i c i Condition suffisante m = 1 p ( i c i + kn)+k m k k

17 / 23 Placement de service dynamique [WEA 2005, WWW 2007] Considérer des services entiers plutôt que des VMs individuelles permet de résoudre des problèmes de plus grandes tailles Étudié dans des articles appliqués [WEA 2005] [WWW 2007] Contexte sans considérations de fiabilité Problème d allocation: m serveurs, vitesses V j et capacité mémoire M j n applications, demande d i, besoins mémoire m i on cherche une répartition de la charge, L ij i, j L ij = d i j, i L ij V j j, i,l ij >0 m i M i Objectifs: minimiser le nombre de modifications d une solution à une autre

18 / 23 Placement de service dynamique Maximum flot dans un graphe biparti Si l allocation est choisie (couples (i, j) tq L i,j > 0) Graphe (A, S, E) Applications, Serveurs, arêtes correspondant à l allocation S il existe un flot de valeur i d i, allocation valide Trouver une allocation Algorithme glouton Trier les serveurs par v j /M j, et les applis par d i /m i On alloue la première application sur le premier serveur, autant que possible Modifier une allocation Calculer le flot maximum S il n est pas suffisant, appliquer le glouton Si ça ne suffit pas, enlever l arête qui minimise L ij /m i

Placement de services dynamique Amélioration du flot calculé Trier les serveurs par mémoire restante M j croissante Rajout d un coût sur les arêtes égal à l ordre dans la liste Conséquence: chaque application i a au plus une instance sur un serveur non saturé u. De plus i a des instances sur des machines saturées dont la mémoire restante est plus petite Et les instances vides de i sont sur des machines dont la mémoire restante est plus grande Preuve : dessin au tableau Modifications de l allocation Il y a des applications incomplètes, et des serveurs avec capacité résiduelle Pour chaque serveur non plein Essayer d enlever x applications en cours (min L ij /m i ) Placer gloutonnement les applications avec la plus grande demande résiduelle Garder le choix de x qui donne la meilleure utilisation du serveur Ensuite, calculer le max-flot 19 / 23

Placement de services avec fiabilité [HIPC 2014] 20 / 23

21 / 23 Aujourd hui Problèmes de fiabilité Placement de VMs en programmation par contraintes [ICDCS 2011] Très général Avec contraintes de fiabilité en plus Ok pour des petits problèmes Placement de services constitués de plusieurs VMs Avec fiabilité, non découpable [NOMS 2010] modèle très simple Sans fiabilité, découpable, réaction dynamique à des modifications [WEA 2005, WWW 2007] modèle plus général (hétérogène), heuristique Avec fiabilité, découpable [HIPC 2014] Homogène, problèmes relativement gros

22 / 23 Biblio: service placement Dynamic Application Placement Under Service and Memory Constraints T. Kimbrel, M. Steinder, M. Sviridenko A. Tantawi, WEA 2005 A Scalable Application Placement Controller for Enterprise Data Centers C. Tang, M. Steinder, M. Spreitzer, G. Pacifici, WWW 2007

23 / 23 Biblio: Reliability in Clouds Web-scale Job Scheduling W. Cirne, E. Frachtenberg, JSSPP 2012 Guaranteeing High Availability Goals for Virtual Machine Placement E. Bin, O. Biran, O. Boni, E. Hadad, E. K. Kolodner, Y. Moatti, D. H. Lorenz, ICDCS 2011 Redundant Virtual Machine Placement for Fault-tolerant Consolidated Server Clusters F. Machida, M. Kawato, Y. Maeno, NOMS 2010 Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints O. Beaumont, L. Eyraud-Dubois, J-A. Lorenzo, P. Renaud-Goud, HiPC 2014