Bin packing/covering avec contrainte de Distance : application au calcul volontaire et au placement de réplicats Hubert Larchevêque, Olivier Beaumont, Nicolas Bonichon, Philippe Duchon, Lionel Eyraud-Dubois Set-Top Box Computing 24 juin 16 juillet
Contexte 1 : Calcul volontaire Applications de type » – … – maître Esclaves – Beaucoup de petites tâches indépendantes Extension : – Agréger des machines pour pouvoir traiter des tâches plus grosses. – Pour être efficace il faut que les machines d’un même cluster soient proches les unes des autres faible latence grosse bande passante.
Modélisation : MinDCBC (Distance Constrained Bin Covering) Entrée : – Un ensemble S d’éléments pondérés placés dans un espace métrique. – Une valeur d max Sortie : – Groupes de poids 1 et de diamètre d max. Objectif : – Maximiser le nombre de groupes
MaxDCBC Mauvaises nouvelles : – Aussi difficile que le BinCovering (d max = ) – Aussi difficile que MaxClique (poids = 0) ⇒ NP-Difficile … plutôt 2 fois qu’une ! ⇒ On va chercher des algorithmes d’approximation.
MaxDCBC A est un algorithme d’ ( , )-approximation de maxDCBC si – Il fonctionne en temps polynomial. – Il produit des groupes de diamètre au plus d max. – Il produit au moins *OPT groupes, où OPT est le nombre optimal de groupes de taille dmax.
BinCovering MaxClique MaxDCBC Approx et Inapprox 1 1/ /5 1/3 AlgoDist 3 Certaines métriques
MaxDCBC : (1/3,4)-approximation Algo glouton en 2 phases : – Phase 1 : tant qu’il existe un groupe de rayon d max ajouter ce groupe. – Phase 2 : tant qu’il existe un groupe de rayon 2d max ajouter ce groupe. Poids d’un groupe < 2 Poids restant autour d’un groupe de Phase 1 < 1
MaxDCBC : (2/5,4)-approximation Un groupe est économe si tous ses éléments sont nécessaires. Poids d’un groupe économe de + de 3 éléments < 3/2 Poids restant autour d’un groupe de Phase 1 < 1
MaxDCBC : (2/5, 3)-approximation Si on sait identifier les groupes de diamètre dmax (et non de rayon d max ), on gagne 1 d max sur le diamètre des groupes créés.
MaxDCBC : Algo distribué pour ℚ d Grille de côté dmax. Phase 0 : groupe dans 1 case Phase 1 : groupe dans 4 cases Phase 2 : groupe dans 16 cases
MaxDCBC : Algo distribué pour ℚ d Overlay Network : – Z-ordre – 1 case de la grille un segment du Z-ordre – Skip-graph sur ce Z-ordre Tolérance aux pannes Accès plus rapide à des nœuds loin.
Contexte 2 : placement de réplicats Serveur central – Passage à l’échelle Solution placer des réplicats : – Capable de satisfaire la demande (hétérogène) – “Proche” de la demande
Modélisation : DCBP (Distance Constrainted Bin Packing) Entrée : – Un ensemble S d’éléments pondérés placés dans un espace métrique. – Une valeur d max Sortie : – Groupes de poids 1 et de diamètre d max. Objectif : – Minimiser le nombre de groupes
MinDCBP Mauvaises nouvelles : – Aussi difficile que le BinPacking (d max >>1) – Aussi difficile que MinCliquePartition (poids = 0) => NP-Difficile … plutôt 2 fois qu’une ! => On va chercher des algorithmes d’approximation.
BinPacking MinCliquePartition MinDCBP Approx et Inapprox 7/3 3/
MinDCBP : (2, 3)-approximation Principe : – Calcul d’un Ensemble Indépendant Maximal – => partition du graphe de voisinage en étoiles – BinPacking dans chaque étoile
SetTop Box Computing Placement de réplicats pour assurer disponibilité, robustesse et vitesse d’accès (orienté latence pour l’instant) Si on représente le réseau par des systèmes de coordonnées (Vivaldi, Sequoia), la situation s’arrange (un peu) Existe-t-il d’autres modèles du réseau plus efficaces (avec de meilleures approximations)? La généralisation à plusieurs types de réplicats est encore ouverte. Quelles applications pour les SetTop Boxes d’Orange – Distribution de calculs (mais pas clouds) de clients, d’Orange ? – Placement de réplicats (ou de services) ?