Ordonnancement de tâches on-line avec pénalités Nicolas Thibault et Christian Laforest Laboratoire IBISC (Évry) 1 / 12 Introduction Opérateur : gère les k machines identiques Clients : utilisent les machines 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) • les clients : principe de dédommagement pour chaque tâche interrompue Ordonnancements on-line 2 / 12 Poids avec pénalités Une tâche : définie par un triplet (r,d,p) pd–r r Poids d’une tâche = (r,d,p) : w() = p Poids d’une tâche avec pénalités : wp() d constante de pénalité = w() - . Poids d’un ordonnancement S avec pénalités : wp(S) w(’) ’ : ’ interrompue par = wp() S Exemple :Objectif si = 0.2, l’opérateurwrembourse 120 % du poids des tâches : Maximiser p(S) interrompues (100 % de remboursement + 20 % de pénalité) Compétitivité : Un algorithme est c-compétitif si à chaque étape, c . wp(S) w(S*) Ordonnancements on-line 3 / 12 Compétitivité 810 Résultat : un algorithme f()–compétitif (avec la constante de pénalité) f() 14.6 13.3 0 0.2 100 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 ]. on-line tâches nombre de machines pénalités x x x k = 1 x x x k 3 k quelconque k quelconque x [Zheng et al. 2008 ] [Bar-Noy et al. 2001 ] [Bar-Noy et al. 1999 ] notre contribution Ordonnancements on-line x 4 / 12 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 sinon • un ensemble de tâches E satisfaisant . w(E) w() ALORS ordonnancer SINON rejeter Exemple, avec = 2 : r r d d m1 m2 Ordonnancements on-line 5 / 12 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 et S*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 6 / 12 Compétitivité : idée de la preuve (2/6) Sur chaque machine j , avec = 2 et = 0 : Sj*B w() 2 w() 2 Tj () Ordonnancements on-line w() 2 w(Tj ()) 7 / 12 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 w(S*B) 8 w(T) 8 / 12 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 w(S*) = w(S*A) + w(S*B) comme S*A T, on a w(S*A) w(T) w(S*) 9 w(T) w(S*) 1 w(S*) + w(S*B) 9 w(S*) 9 w(S*B) 8 w(S*) 9 w(T) Ordonnancements on-line w(S*) 9 w(T) 9 / 12 Compétitivité : idée de la preuve (5/6) Comparaison entre S et T : w(S*) 9 w(T) S T w(T) 2 w(S) Ordonnancements on-line w(S*) 18 w(S) 10 / 12 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) w(S*) 18 w(S) w(S*) 1 + (2 + 3) 1 + w (S) - --1 p ( ) Remarque : résultat valable quelque soit l’ordre de présentation des tâches Ordonnancements on-line 11 / 12 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 Principale perspective : • amélioration des bornes supérieures et inférieures Ordonnancements on-line 12 / 12