230 likes | 382 Views
Algorithmes d’approximation pour l’optimisation en ligne d’ordonnancements et de structures de communications. Nicolas Thibault Thèse préparée au laboratoire IBISC de l’université d’ É vry Val d’Essonne, sous la direction de Christian Laforest. 1 / 22.
E N D
Algorithmes d’approximation pour l’optimisation en ligne d’ordonnancements et de structures de communications Nicolas Thibault Thèse préparée au laboratoire IBISC de l’université d’Évry Val d’Essonne, sous la direction de Christian Laforest 1 / 22
Quels liens du réseau réserver ?→ Groupes dynamiques dans un graphe • Comment réserver les sous-canaux d’un lien réseau ?→Ordonnancements on-line Dans chaque partie : définition des modèles on-line proposition d’algorithmes avec garanties de performance Introduction Réseau de communications : ensemble de liens qui connectent des membres Comment réserver les liens du réseau de la meilleure façon possible ? → Méthodes on-line avec garanties sur la qualité des solutions Introduction 2 / 22
Ordonnancements on-line Comment réserver les sous-canaux d’un lien réseau ? Ordonnancements on-line 3 / 22
temps Problème on-line : lorsque la demande d’un client est révélée, l’opérateur peut • la rejeter ou • l’ordonnancer (puis éventuellement l’interrompre) Objectif : satisfaire • l’opérateur : maximisation du poids (somme des longueurs des tâches ordonnancés) Ordonnancements on-line : introduction Opérateur : gère le lien Clients : utilisent le lien • les clients : principe de dédommagement pour chaque tâche interrompue Ordonnancements on-line 4 / 22
p d – r constante de pénalité r d Poids d’une tâche avec pénalités:wp()=w() - .w(’) ’ : ’ interrompue par Poids d’un ordonnancement S avec pénalités:wp(S)=wp() S Poids avec pénalités Une tâche : définie par un triplet (r,d,p) Poids d’une tâche = (r,d,p):w()= p Exemple : si = 0.2, l’opérateur rembourse 120 % du poids des tâches interrompues (100 % de remboursement + 20 % de pénalité) Objectif : Maximiser wp(S) Compétitivité :Un algorithme est c-compétitif si à chaque étape, c .wp(S) w(S*) Ordonnancements on-line 5 / 22
f() 810 14.6 13.3 0 0.2 100 on-line tâches nombre de machines pénalités x x x x x k = 1 k 3 k quelconque k quelconque [Woeginger 1994] [Bar-Noy et al. 2001] [Bar-Noy et al. 1999] notre contribution x Compétitivité Résultat :un algorithme f()–compétitif (avec la constante de pénalité) Rôle de :lien entre les modèles on-lines avec et sans interruption. Il n’existe pas d’algorithme compétitif sans interruption [Lipton et al. 1994]. Ordonnancements on-line 6 / 22
Exemple, avec = 2 : r d r d m1 m2 L’algorithme Soit une constante choisie par l’opérateur (en fonction de ) Lorsque = (r, d, p) est révélée : SI peut être ordonnancé en interrompant • aucune tâche ou • un ensemble de tâches E satisfaisant . w(E) w() ALORS ordonnancer SINON rejeter Ordonnancements on-line 7 / 22
Compétitivité : idée de la preuve (1/6) Notations : • T l’historique de S (tâches acceptées par l’algorithme) • S* = S*A S*B (S*A etS*B sont disjoints) • S*A les tâches de S*acceptées par l’algorithme (appartenant à T) • S*B les tâches de S*rejetées par l’algorithme (n’appartenant pas à T) Première étape : comparaison de w(T) et w(S*B) Ordonnancements on-line 8 / 22
w() 2 w() 2 Tj () w() 2 w(Tj ()) Compétitivité : idée de la preuve (2/6) Sur chaque machine j , avec = 2 et = 0 : Sj*B Ordonnancements on-line 9 / 22
w(S*B) 8 w(T) Compétitivité : idée de la preuve (3/6) Sur chaque machine j : Sj*B, w() 2 w(Tj ()) Sj*B Tj Ordonnancements on-line 10 / 22
comme w(S*) = w(S*A) + w(S*B) w(S*) w(S*) + w(S*B) w(S*) w(S*B) 1 9 9 8 w(S*) 9 w(T) Compétitivité : idée de la preuve (4/6) Deux cas possibles : w(S*B) 8 w(T) w(S*) 9 w(S*A) w(S*) > 9 w(S*A) ou bien comme S*A T, on a w(S*A) w(T) w(S*) 9 w(T) w(S*) 9 w(T) Ordonnancements on-line 11 / 22
S T w(S*) 18 w(S) Compétitivité : idée de la preuve (5/6) Comparaison entre S et T : w(S*) 9 w(T) w(T) 2 w(S) Ordonnancements on-line 12 / 22
w(S*) 18 w(S) - 1 - - 1 ) ( (2 + 3) 1 + + w(S*) wp(S) Compétitivité : idée de la preuve (6/6) Raffinement de la preuve et prise en compte du poids avec pénalités wp : le gain est de - fois le poids des tâches interrompues (au lieu de 2) Remarque :résultat valablequelque soit l’ordre de présentation des tâches Ordonnancements on-line 13 / 22
Résultats Résultat présenté: Un algorithme d’ordonnancement on-line sur k machines • avec prise en compte • de l’opérateur (poids) • des clients (pénalités) • avec un rapport de compétitivité • constant • paramétrable Autres résultats : • maximisation on-line de la taille (nombre de tâches ordonnancées) • résultat bicritère on-line dans le cas particulier des intervalles [B.B.L.T. COCOON 05] [B.B.L.T. Euro-Par 05] [T.L. ISPAN 05] Ordonnancements on-line 14 / 22
Groupes dynamiques dans un graphe Quels liens du réseau réserver ? Groupes dynamiques dans un graphe 15 / 22
Groupes dynamiques : ajout de membres Données : • un réseau (représenté par un graphe fixé) • des membres dévoilés un par un, au fur et à mesure (online) Objectif :incrémenter une structure couvrante Groupes dynamiques dans un graphe 16 / 22
Modèle sans reconstruction Contraintes à chaque étape : • contrainte arbre→ facilite la gestion des communications • contrainte emboîtement (pas de réarrangement dans l’arbre) → ne perturbe pas les communications en cours Objectif :minimiser la distance moyenne entre les membres dans l’arbre Compétitivité : Un algorithme est r-compétitif,si à chaque étape CT(M) r .CT*(M) avec : • T l’arbre couvrant M • T* l’arbre optimal couvrant M • CT(M) la somme des distances de M dans T Théorème :Tout algorithme est (i)-compétitif(avec i le nombre de membres révélés). modèle sans reconstruction trop contraignant Groupes dynamiques dans un graphe 17 / 22
Exemple d’étape critique : Ti-1 Ti-1 Ti Modèle avec reconstructions Contraintes à chaque étape : • contrainte arbre • contrainte qualité : les arbres successifs doivent vérifier CT(M) c.CT*(M) avec c constant remise en cause de la contrainte emboîtement Objectif :minimiser le nombre d’étapes critiques (nécessitant la remise en cause de l’arbre) → une étape critique perturbe les communications en cours Groupes dynamiques dans un graphe 18 / 22
Résultats Notre algorithme pour c = 12 : • reconstruit totalement l’arbre lorsque la taille du groupe double • sinon, ajoute un plus court chemin entre le nouveau membre et le médian du groupe de la dernière reconstruction. Qualité de l’arbre construit : respecte la contrainte qualité avec c = 12. Évaluation : L’algorithme induit O(log i) étapes critiques (ième groupe : i = 2R R = log2i). Question : Est-ce que O(log i) étapes critiques est un bon résultat ? Théorème : Pour toute constante de qualité c fixée, il existe un graphe et une séquence d’ajouts tels que tout algorithme respectant les contraintes arbre et qualité implique (log i) étapes critiques. Groupes dynamiques dans un graphe 19 / 22
CT(M) (c+1)22j+2Rc CT* (M) 22j+2Rc CT(M) (c+1)22j CT(M) (c+1)22j CT* (M) 22j 2j 2j 2j 2j+R(c+1) sj s2 2j+1 2j+1 2j+1+R(c+1) 4 s1 c+1 c+1 c+1 c+1 c+1 c+1 c+1 c+1 c+1 c+1 2 c+1 c+1 c+1 (log i) étapes critiques : idée de la preuve Remarque :résultat indépendant de la non connaissance du futur i 2(c+1)+2+R(c+1)= a2bR (a,b constants) R (log i) Groupes dynamiques dans un graphe 20 / 22
Sans recons. (compétitivité) Avec recons. (étapes critiques) Diamètre ajouts 2 0 retraits (i) (log i) et O(log i) ajouts et retraits (i) (i) Résultats Sans recons. (compétitivité) Avec recons. (étapes critiques) Somme des distances ajouts (i) (log i) et O(log i) retraits (i) (log i) et O(i) ajouts et retraits (i) (i) [Imaze and Waxman 1991] : Minimisation du poids de l’arbre (arbre de Steiner dynamique) [T.L. AWIN – Globecom workshop 04] [T.L. SIROCCO 06] [T.L. Journal of Interconnection Networks 06] Groupes dynamiques dans un graphe 21 / 22
Nous avons déjà des résultats pour : l’ordonnancement on-line bicritère d’intervalles la minimisation simultanée du diamètre et de la somme des distances • étudier les versions incrémentales des problèmes d’optimisation • identification plus fine des difficultés • proposition de modèles intermédiaires entre off-line et on-line [K.L.P.T. AOR 06] Conclusion générale Synthèse : Pour chaque partie, nous avons proposé • des algorithmes on-line à garanties de performance • principe de remise en cause maîtrisée de la solution courante : • maximisation du poids avec pénalité • minimisation du nombre d’étapes critiques Principales perspectives : • amélioration des bornes supérieures et inférieures • approche multicritère des problèmes on-line. • résultats analytiques plus fins que dans le pire cas Conclusion générale 22 / 22