Transparents

publicité
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)
pd–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
Téléchargement