Résolution des problèmes d`ordonnancement stochastiques par les

Transcription

Résolution des problèmes d`ordonnancement stochastiques par les
Résolution des problèmes d’ordonnancement
stochastiques par les processus bandits.
DERBALA Ali *, **
*) Université de Blida. Faculté des sciences, département de Mathématiques. BP 270 , Route de Soumaa.
Blida 009, Algérie. Tel & Fax : (213) - 3 - 43 - 36 - 42. E-mail : [email protected]
**) Une partie de cette recherche est faite au Laboratoire d’informatique de l’E3I, à l’université François
Rabelais. 64, Avenue Jean Portalis, Le Technopôle , 37200 Tours, France.
Résumé : Nous présentons l’outil des processus bandits pour la résolution des problèmes
d'ordonnancement stochastiques sur une machine sous le critère de l'espérance des coûts
linéaires, prévisionnels et en moyenne. Gittins et ses collègues attribuent un indice
d’allocation dynamique à chaque tache et ordonnancent les taches selon un ordre croissant
(ou décroissant ), si l’objectif est de maximiser des gains (ou minimiser des pertes ).
Ces indices sont calculés à tout instant et durant l’exécution des taches, permettant à
l’ordonnanceur d’adapter dans son ordre les arrivées et les exécutions au fur et à mesure que
l’information sur la tache est recueillie. Ces processus sont semi-Markovien de décisions. En
leur octroyant des coûts ou des gains positifs, ils modélisent des taches. Nous relatons de la
littérature un algorithme qui détermine ces indices. Des difficultés de caractérisation et de
détermination des indices résident dans certains problèmes complexes. Une application de
ces résultats est fournie où nous montrons qu’une priorité dynamique particulière allouée aux
taches par un scheduler ou ordonnanceur dans un système d’exploitation d’ordinateurs
multitâches s’interprète comme deux problèmes d’ordonnancement particuliers.
Sous certaines conditions nous montrons qu’elle est une règle d’indice.
Mots clés : Indices de Gittins, Ordonnancement Stochastique, Processus Bandit, Stratégies
préemptive et non préemptive.
Abstract : We present the tool of bandit processes to solve stochastic scheduling problems on
a single machine with the expected linear costs, discount costs and in average. Gittins and his
colleagues assign a dynamic allocation index to each job and then schedule the jobs in
increasing order ( or decreasing order) of this index, if the objective is to maximize a profit
(or minimize a cost ). These indices are updated as the jobs are processed, thus allowing the
schedule to adapt to the actual pattern of arrivals and processing times. These decision
processes are semi-Markov. A bandit process which yields a positive reward at a random
time, and no other rewards, positive or negative, will be termed a job. From the literature and
to determine these indices, an algorithm is given. Some difficulties of characterization and
determination of the indices still hold in same complex problems. An application is also
given. We show that a particular dynamic priority given to jobs by a scheduler in an
multitasks operating system of computers is a deteriorating jobs or a delaying jobs
scheduling.
Under some assumptions we also show that it is an index rule.
Key words : Gittins's index, stochastic scheduling, Bandit process, preemptive and
non-preemptive scheduling .
1.INTRODUCTION
1
Ce travail se veut beaucoup plus une introduction d’un outil de résolution de problèmes
d’ordonnancement. L’approche théorique prédominante à l’ordonnancement stochastique est
la théorie des files d’attentes. Une approche stochastique entièrement différente
a été
développée par Gittins [Git72,Git79,Git89] et ses collègues. Leur méthode alloue un indice
d’allocation dynamique à chaque tache et ordonnancent les taches selon un ordre croissant
(ou décroissant ) si l’objectif est de maximiser des gains (ou minimiser des pertes ). Ces
indices sont calculés à tout instant et durant l’exécution des taches, permettant à
l’ordonnanceur d’adapter dans son ordre les arrivées et les exécutions au fur et à mesure que
l’information sur la tache est recueillie. Dans aucune référence récente Francophone de
synthèse [Ala92], [Gotha93], [Cad94] ou [Lee97], on ne fait mention de la résolution de
problèmes d'ordonnancement par des processus semi-Markovien de décisions
appelés
communément dans la bibliographie anglo-saxonne Bandit Processes et que nous traduisons
par processus Bandit. En leur octroyant des coûts ou des gains positifs, ces processus
modélisent des taches [Git89]. Les problèmes où les temps d’exécution des taches sont
incertains sont dit stochastiques [Fre82]. Cet outil est présenté pour résoudre les problèmes
d'ordonnancement stochastiques sur une machine sous le critère de l'espérance des coûts
linéaires, prévisionnels et en moyenne. Les temps d’exécution sont supposés aléatoires de
distributions connues. Nous relatons un algorithme qui déterminent ces indices. Une façon
d’ordonnancer des taches est de leur attribuer une priorité dynamique qui sera déterminée
grâce au
théorème
d'existence
de
Gittins
et
Jones [Git72] et des théorèmes
de
caractérisation d’indices de beaucoup d'auteurs. Des difficultés de détermination des indices
résident dans certains problèmes complexes.
Cet article est disposé en quatre parties suivies d'un sommaire. Il comporte la définition des
processus bandits, les notations et définitions des indices d'allocation dynamiques ou indices
de Gittins. L’existence et les caractérisations des indices d’allocation dynamiques ou DAI
sont présentées au chapitre trois. Une application de ces résultats est fournie à la partie quatre.
Nous montrons qu’une priorité dynamique particulière allouée aux taches par un scheduler
d’un système d’exploitation d’ordinateurs multitâches s’interprète comme deux problèmes
d’ordonnancement bien connus. Nous montrons que sous certaines conditions, elle
correspond à une règle d’indice.
2. LES PROCESSUS BANDITS
Un processus bandit est un processus semi-Markovien à deux décisions [Der98].
2
Il est défini par la donnée d'un sextuplé ( Ω, U, P, F, C, a ).
- Ω est l'espace d'états du processus et peut être fini, dénombrable ou continu ( dans notre cas
il est supposé fini ).
-U est un ensemble de contrôle consistant en deux éléments 0 et 1 ou c "continu" et w " wait
".
- P est la loi de transition entre les états tel que si X ⊆ Ω et si l'état du processus à l'instant t

est x(t) quand le contrôle u(t) est appliqué, Pr  x ( t + 1) ∈ X


x ( t ) , u(t)  est bien définie.
Plus particulièrement ∀ A ∈ P(Ω), Pr[ A/ x ,u ] est la probabilité que l'état « y » du
processus immédiatement après l’instant t appartienne à A sachant qu'a l’instant t le processus
est à l'état « x » et le contrôle u ( u ∈ Ω(x) ) était appliqué.
- F une fonction de répartition quelconque de la durée de transition τ ( Dans le cas
Markovien, F est exponentielle ).
F(B/ x, y, u) est la probabilité que la longueur de l'intervalle durant la prochaine date de
décision appartienne à l'ensemble B ( B ⊆ R ) sachant qu'à l’instant t le processus est à
l'état x et le contrôle u est appliqué et le prochain état est y. C'est aussi la probabilité que
le temps de retard ou d’attente du processus se trouvant dans l'état x appartienne à B.
- C est une fonction coût, qui est une application de Ω x Ω dans R.
- a est un réel, ( 0 ≤ a ≤ 1 ) appelé facteur de prévision telle qu'une transition au temps t
de x(t) à x(t+1) implique une augmentation du coût de at c[ x (t) , x (t+1) ].
Les réalisations { x(t) : t = 0 , 1 , ..} du processus sont appelées trajectoires auxquelles on
associera avec chaque ensemble de décisions et d’états un coût.
Le coût total qui s’accroît si le processus décrit une trajectoire { x(t) : t = 0 , 1 , ..} est
∑ at c[x(t),x(t+1) ,u(t) , t ], où c[x , y ,u , t ] est une fonction coût. Dans ce cas le processus
t≥0
est dit à fonction coût séparable.

On impose les conditions suivantes : Pr  x ( t + 1) = x ( t )


u(t) = 0  = 1, ∀t, x(t) ∈ Ω.
c [ x , x ] = 0, ∀ x ∈ Ω quand le contrôle est 0. Quand le contrôle est 1 à l'instant t le coût est
at c[x(t),1] ou at c(t). ∀t , c[x , y , c , t ] = at c[x , y ].
Dans la littérature des automaticiens, ces processus sont appelés processus de contrôle
adaptatifs.
Ces processus modélisent aussi les tâches à exécuter sur une machine. Le problème
d'ordonnancement stochastique trouve un outil puissant pour sa résolution en donnant
3
aux taches des priorités instantanées. Gittins et Jones [Git72] ont énoncé le premier
théorème d'existence de ces priorités appelées indices d'allocation dynamiques, notées DAI
et appelées par Whittle [Whi80] indices de Gittins. L'interprétation de ces derniers est qu'ils
représentent un rapport de moyenne de coût sur une moyenne de temps utilisé. C’est aussi
un coût d’arrêt du processus. Des caractérisations de ces derniers sont dues à Nash [Nas73],
Gittins et Glazebrook [Git77], Gittins [Git79], Nash [Nas80] etc.... Dans certains problèmes la
détermination de ces indices ne posent aucun problème de calcul et d'implémentation sur un
ordinateur.
Dans la suite une décision, une action, une commande ou un contrôle sont synonymes.
On appelle famille de processus bandits alternatifs une suite de processus
{(Ωi ,U, Pi ,Fi ,Ci ,a ): 1 < i < n } tel qu’en chaque instant t ( t = 0 ,1,2,..), les processus
évoluent simultanément. Ils ont les mêmes instants de décision. En tout instant le contrôle " c
" ( ou 1 ) est appliqué à un processus " i " et w ( ou 0 ) est appliqué à tous les autres. Le
facteur prévisionnel " a " étant le même pour tous les processus. Le problème est de
trouver une stratégie d'espérance de coût total optimale. Une famille simple de processus
bandits alternatifs est une famille où tous les processus sont exécutés ( l’action continue est
appliquée) au moins une seule fois. Elle est notée SFABP.
2.1. Exemple [Git89]
Dans la pratique les processus
bandits
modélisent plusieurs problèmes, plus
particulièrement celui qui nous intéresse, l'ordonnancement stochastique des taches sur une
machine. Il y a " n " taches à exécuter sur une machine. Un coût Ci est contracté à la fin de
l'exécution de chaque tache i et leurs temps de service Si sont connus. Dans quel ordre les
taches doivent-elles être exécutés pour minimiser le coût total ? Un ordonnancement optimal
est celui qui exécute les taches dans l'ordre croissant de Ci / Si (qui n'est autre que la règle
de Smith [Smi56] ). Ci / Si représentent des indices ou un ordre de priorité.
Dans le cas où les temps de service sont aléatoires de distributions connues, la réponse
est donnée par le calcul des indices de Gittins. Ils nous fournissent l'ordre dans lequel les
taches seront exécutés et les instants de préemption.
Un processus bandit qui produit un gain positif en un temps aléatoire est appelé " tache ou
job ". Une famille
simple
de
tels
processus
définie un problème
l'ordonnancement de tâches sur une seule machine[Git89].
4
bien connu de
2.2. Critères usuels
On suppose que l'ensemble des états d'un processus est dénombrable. Après observation de
l'état du processus, une action est choisie de l'ensemble des actions U. Si le processus est à
l'état i à l'instant t et une action a est choisie, on encourt un coût c(i,a) et le prochain état j est
choisi avec une probabilité pij (a). Il existe un α, α ∈[0,1[
et
qu'on veut minimiser
l'espérance du coût.
Si un processus suit une trajectoire { xt , t ∈ N }, pour toute politique π, on définit :


∞
Vπ(i) = Eπ ∑ α t c( x t , a t ) / x 0 = i , i ≥ 0, c(xt , at ) sont bornés et α < 1,
 t = 0



∞
Vπ(i) = Eπ ∑ c( x t , a t ) / x 0 = i , i ≥ 0, c(i,a) ≥ 0 pour tout (i,a) ∈ Ω x U,
 t = 0
Φπ(i) =
lim
n →+∞

 n

E π  c( x t , a t ) / x 0 = i
 t = 0

où les coûts sont bornés, sont respectivement le critère
n +1
∑
de l’espérance du coût prévisionnel, le critère de l’espérance
des coûts positifs non
prévisionnels et critère de l’espérance du coût moyen qui est l'espérance de la plus longue
exécution du coût moyen par unité de temps. Eπ désigne l'espérance conditionnelle que la
politique π est employée et que l'état du processus à l'instant 0 est i.
Si les coûts c(xt , at ) sont bornés et α < 1. Vπ(i) est ainsi bien définie et indépendante de α.
3.
EXISTENCE
ET
CARACTERISATION
DES
INDICES
D'ALLOCATION
DYNAMIQUES OU INDICES DE GITTINS
Au risque de se répéter, Gittins et Jones [Git 72] ont énoncé le premier théorème d'existence
des indices d'allocation dynamiques ou d'indices de Gittins notés DAI.
Soit i un processus bandit et µ un nombre réel, le processus bandit stoppable (i , µ ) est défini
en excluant l’utilisation de l’action gèle w ou 0, et en ajoutant à l’ensemble d’action un
élément d’action d’arrêt s (ou de stop ).
En tout instant de décision t, le processus bandit peut être soit exécuté ou arrêté ( stoppé ),
l’arrêt encourt un coût de valeur µ at. Si une trajectoire { x(t) } est stoppée à l’instant T, le
T −1
coût total encouru est: C =
∑
at c[x(t) , x(t+1)] + aT µ.
t =0
5
Le réel µ est équivalent à un coût d’arrêt pour le processus bandit i à l’état x si et seulement
si pour le processus bandit stoppable ( i , µ ) à l’état x, les décisions « continue » ou «stop »
sont les deux optimales dans le sens de minimiser le coût C. Soit un processus bandit i à l’état
xi, il existe un unique νi (xi ) ∈ R, qui est l’équivalent d’un coût d’arrêt pour le processus i à
l’état xi . Pour le processus bandit stoppable ( i , µ ), une décision optimale à l’état xi est
d’exécuter la tache si et seulement si νi (xi ) ≤ µ. Les fonctions νi (.) définies de l’ensemble
des états dans R sont appelées « Indices d’allocation dynamiques ».
3.1. Existence des indices d’allocation dynamiques ou DAI.
Une stratégie d’indice d’allocation dynamique est telle que dans une famille de processus
bandit alternatifs F = { ( Ωi , U, Pi ,Fi ,Ci , a ): 1 < i < n }, le processus i est exécuté à l’instant
t si et seulement si νi (xi (t)) =
νj (xj (t)).
Min
1≤j≤n
Théorème 1 [Git 72]:
Soit une famille de processus bandit alternatifs { ( Ωi , U, Pi ,Fi ,Ci , a ): 1 < i < n }
alors il existe des fonctions { νi : Ωi → R , 1 ≤ i ≤ n } tel que le choix ui(t) = 1 est
optimal si et seulement si νi (xi (t)) =
νj (xj (t)).
Min
1≤j≤n
Les états de ces processus à l'instant t sont xi (t) ( 1 ≤ i ≤ n ).
Ce choix de minimum est fait lorsque on s’intéressera aux pertes minimums.
Pour une famille de processus bandits alternatifs, la fonction coût est minimale si et seulement
si la stratégie des indices d’allocation dynamiques est exécutée.
Des
caractérisations
des indices d’allocation dynamiques sont dues
à
Gittins et
Glazebrook [Gla77], Gittins [Git79], Nash [Nas80], Glazebrook [Gla87], etc.... Elles sont
données dans le paragraphe suivant.
3.2. Caractérisation des indices d’allocations dynamiques ou DAI
Nash [Nas73] a pu donné la première caractérisation de ces indices νi ( 1 ≤ i ≤ n ).
Une conséquence de la définition de νi (xi ) comme équivalent à un coût d’arrêt, on peut
t * −1
écrire pour tout état xi , νi (xi ) = E {
a t Ci [ xi ( t ), xi ( t + 1)] + a t* ν i ( xi ) } où xi (0) = xi .
t =0
∑
6
L’espérance est sur l’ensemble des réalisations possibles du processus jusqu’à l’instant t*, qui
est un instant aléatoire défini par : t* = Min { t , t > 0 ; νi (xi (t)) > νi (xi ) }. t* peut être infini.
Théorème 2: Si νi (xi) est défini pour tout xi ∈Ωi alors νi (xi) est l'unique solution finie des
 t* −1
E∑
 t = 0
*
deux équations
νi (xi ) =
et t* =

a t Ci [ x i (t) , x i (t + 1)] 

*
1 - E[ a t ]
( N1 )
Min { t , νi (xi (t)) ≥ νi (xi) / xi = xi (0) }
t f 0
( N2 )
• Les idées d’indices de priorités dynamiques apparaissent bien avant celle de Gittins et Jones
[Git72]. En effet SEVCIK[Sev71] et SEVCIK[ Sev74] a défini une fonction de rang
comme suit. Si g (.) est une « fonction d’allocation du processeur », ce qui s’interprète par
g(x) = j, alors le tache j est servi ou le processeur lui est alloué à l’instant x. A chaque tache
1
j, on associe « une fonction d’allocation du tache » σj (t) = 
 0
si g(t) = j
sinon
n
En tout instant au plus une tache est en service, soit ∀ t,
∑ σ j(t ) ≤ 1.
j =1
Tj (t) = min { Pj ,
∫ 0t σ j( y) dy } le temps d’exécution du tache j durant
[0,t].
Cj = Min { t, Tj (t) = Pj } est le temps de fin d’exécution du tache j.
Avec un temps de service reçu y, pour l’exécution du tache i, la tache i a une distribution
cumulative conditionnelle du temps de service résiduel donnée par
Gi (x, y) = ( Fi ( x + y ) - Fi (y) ) / ( 1 - Fi (y)).
L’espérance du temps de service résiduel pour la tache i est égal à
∫+0 ∞ x ∂x Gi ( x, y) .
Il défini l’espérance de l’investissement du temps de processeur ( « expected investment » )
en allouant la tache j avec un temps de service exécuté t pour ε unités de temps par:
I(j,t,ε) =
∫ε0 x ∂x Gi ( x, t ) +
ε
∫ε+ ∞ ∂x Gi ( x, t ) .
L’espérance du profit ( « expected payoff » ) en allouant la tache j avec un temps de service
exécuté t pour ε unités de temps est donné par : P ( j , t , ε ) =
7
∫ε0 ∂x Gi ( x, t ) .
C’est la probabilité que la tache termine son exécution dans l’intervalle [ t, t + ε ].
Le rapport R ( j , t , ε ) de l’espérance de l’investissement sur le produit du taux de profit par
l’espérance du profit pour un intervalle de temps [ t, t + ε ] est appelé rang de ε - intervalle de
l’allocation du tache j avec un service reçu t pour ε unités de temps.
R ( j , t , ε ) = I ( j , t , ε ) / ( kj . P ( j , t , ε )).
Le rang du tache j avec un service reçu t est R ( j , t ) = Min { R ( j , t , ε ) , ε ∈ X }
où X représente l’ensembles des longueurs de quantums disponibles.
Q( j , t ) = Min { ε / R ( j , t , ε ) = R ( j , t ) , ε ∈ X } est appelé le rang du quantum.
• GITTINS et GLAZEBROOK[Git77] montrent qu’un indice νi (xi ) peut être évalué
comme un coût d'arrêt équivalent pour le processus Bandit i à l'état xi. Ils le caractérisent par
l’expression
νi (xi ) = Inf
s
[
 s −1
E ∑
t = 0

a t Ci [ xi (t) , x i (t +1)] 

] où xi = xi (0) et s un instant d'arrêt.
1 - E as
La condition est que cet infinimum existe et soit fini pour tout xi ∈Ωi.
• ROBINSON [Rob 82] a donné un algorithme pour le calcul des indices d’allocation
dynamiques ou DAI pour des processus Bandit d’ensemble d’états finis.
L’ensemble d’états du processus bandit est fini qu’on appellera A = { 1,..,n}. Un gain R(i)
est octroyé en tout instant où le processus est continué à l’état i ( i = 1,..n), il est prévisionnel
à un taux a. A un instant t le gain sera de at R(i) , où 0 < a < 1. Soient B l’ensemble des sous
ensembles de A , et x(t) l’état du processus bandit après continuité de t unités de temps et
pour B ∈ B. Soit τ(B) le nombre de transitions ( peut être infini ) que le processus à exécuter
jusqu’à la première entrée dans l’ensemble B , l’état initial étant exclu ( soit τ(B) ≥ 1 ).
τ ( B ) − 1

t
E
R ( x ( t ) / x ( 0) = i 
 t = 0

τ ( B ) − 1

t
E
/ x ( 0) = i 
 t = 0

∑ a
Soit
ν( i ; B) =
∑ a
ν( i ; B) est l’espérance du gain prévisionnel par unité de temps prévisionnel d’état initial i
jusqu’au temps d’arrêt τ(B). Le DAI de l’état i pour le processus bandit est défini comme
8
ν( i ) = Max { ν( i ; B) , B ∈ B }. Soit Ak une matrice carrée : k x k, Sk et Tk sont des kvecteurs et k’ indique l’état pour lequel l’ordre des DAI est k ( k = 1,2,..,n). Soit 1’ l’état
avec le plus grand DAI, 2’ l’état avec le second DAI etc....En cas d’égalité on sépare les états
arbitrairement.
Algorithme de Robinson :
Max R(j)
Soit l’état 1’ un état i satisfaisant R(i) =
j
et ν( 1’) = ν( i ) = R(i) , A1 ( 1,1) = ( 1 - a P(1’,1’)) -1 .
Pour k = 2,3,..,n , l’état k’ est un certain état i , qui n ’appartient pas à l’ensemble
{ 1’,2’,...,(k-1)’} , satisfaisant
R (i ) + a
∑ P (i , l ' ) S k -1 (l )
R( j) + a
l<k
1+
P (i , l ' ) Tk -1 ( l )
l<k
=
∑
∑ P ( j , l ' ) S k -1 (l )
l<k
1+
P ( j , l ' ) Tk -1 ( l )
l<k
Max
∑
j
où le maximum est pris sur tous les états j qui n’appartiennent pas à l’ensemble
{ 1’,2’,...,(k-1)’}. ν( k’) est calculé selon la formule établie.
k −1
∑
Dans les formules , Sk-1(l) =
k −1
Ak-1( l,m) R(m’) et Tk-1(l) =
m=1
∑
Ak-1( l,m).
m=1

La matrice Ak est donnée par : A k ( k,k) = 1 − aP ( k ' , k ' ) −

a ∑ P (k ' , l ' ) Z
2
l<k
 −1
(l ) .
k −1 

Ak ( i , k ) = a Ak ( k , k ) Zk-1(i) ( i = 1,2,..,k-1),
Ak ( k , j ) = a Ak ( k , k )
∑ P (k ' , l ' ) Ak −1 (l , j )
( j = 1,2,..,k-1),
l<k
Ak ( i , j ) = Ak-1 ( i ,j ) + a Zk-1(i) Ak ( k ,j )
où Zk-1( i ) =
∑ P (l ' , k ' ) Ak −1 (i , l )
( i = 1,2,..,k-1 ; j = 1,2,..,k-1),
( i = 1,2,..,k-1).
l<k
• GLAZEBROOK [Gla83] caractérise les DAI si les instants de décision sont discrets.
Pour une tache ayant reçu x j unités de temps et n’a pas terminé son exécution, l’indice de
Gittins est donné par
R∑ α
r
γj (x ) =
sup
r ≥0
j
i =1
t
p(P = x + t / P > x )
(1 - a)∑α
r -1
t =0
j
t
j
j
j
p(P = x + t / P > x )
j
9
j
j
j
• Dans GLAZEBROOK [Gla87] et si on se restreint aux cas où la fonction coût est
prévisionnelle ou linéaire respectivement de la forme Ci (t) = Ki ( 1 - at ), 1 ≤ i ≤ N où Ki >
0 et 0 ≤ a < 1 (1) et Ci (t) = Ki t
(2). Si Xj le temps d'exécution nécessaire au tache j,
supposé une variable aléatoire entière positive de moyenne µj et de taux d ' hasard défini
par :
ρj (t) = Pr[ Xj = t + 1 / Xj > t ] , t = 0,1,2,...Alors : dans le cas de profit à maximiser les
indices d'allocations de Gittins sont de la forme pour le cas de coût prévisionnel (1) : Pour x
= 0,1,2...
Kj
νj (x ) =
sup
r ≥1
r
∑
ρj ( x +
i =1
r -1
(1 - a) ∑
t =0

t - 1)

 t -1
∏

 s=0

t −2
∏ { 1 - ρ j ( x + s) }  a t

s= 0

{ 1 - ρ j ( x + s)} a t

et pour le cas de coût linéaire (2 ):
Kj
νj (x ) =
sup
r ≥1
r
∑
ρj ( x +
i =1
r -1 
∑ 
t =0 
 t −2

t - 1 )  ∏ { 1 - ρ j ( x + s) } 
 s=0


t -1
∏ { 1 - ρ j ( x + s)}

s=0
Si tous les taches ont des temps de service avec des taux d ' hasard décroissants, il y a une
politique optimale et les indices νi sont donnés par : νi (x) = Ki mi (x) { 1 - mi (x) }-1 , x
= 0 , 1 , 2 , ...où mi (x) = E
(aX
i
)
- s / X f x , x = 0,1,2,..
i
• WEISS [Wei 92a] s’intéresse à optimiser le flow-time
n
∑ c i où ci est la date de fin
i =1
du tache i. Si à un instant x, une tache i reçoit un service additionnel y, on appellera préindice Vi (x,y) la quantité
Vi (x,y) =
∫ xx + y dFi ( t )
P( le job i soit achevé dans [x , x + y ] )
=
E ( le temps utilisé dans [ x , x + y ] )
∫ xx + y ( 1 - Fi ( t )) dt
Dans le cas discret la formule devient
Vi (x,y) =
P( X i ≤ x + y ) - P ( X i ≤ x )
P( X i ≤ x + y ) - P ( X i ≤ x )
=
x+y
x+y
∑ 1 - P ( Xi ≤ j )
1 + y - ∑ 1 - P( X i ≤ j )
xi = x
xi =x
10
L’indice de Gittins est Vi (x) = Max Vi ( x , y ).
y f0
• NASH [Nas 80] a défini le " Problème du bandit généralisé " en termes de SFABP, pour
laquelle le gain quand le processus bandit MPi est sélectionné au temps t à l'état xi(t) peut
s'écrire de la forme : at ∏ Q(,xj(t) R ( xi(t)). Les facteurs positifs Qj et Rj dépendant des
j≠i
états des autres processus bandits, sont bornés. Le gain total est :
∞
E
n


∑ ∑ a ∏ Q ( x ( t ) R ( x ( t )) u ( t )
t
j
t=0
i =1
j
i
i
i
j≠i
où ui(t) est un indicateur qui vaut un si la tache est exécuté à l’instant t et zéro sinon..
Soit Ti(x) l’ensemble de toutes les réalisations positives de Markov défini sur le processus
bandit Mpi qui débute à l’état x et soit Ti’(x) le sous ensemble de Ti(x) tel que
E{ Qi(x) - aτ Qi(X(τ/x))} < 0 pour tout τ ∈ Ti’(x). L’indice d’allocation dynamique est défini
par :
−1 
 τ −1 t

τ
νi (x) = sup E ∑ a Ri ( X ( t / x )) {E(Q i (x) - a Q i (X(τ / x)))}
 t = 0

τ ∈T

où T =
si Ti '( x ) ≠ ∅
si Ti ( x ) = ∅
Ti '( x )

 Ti ( x )
4. APPLICATION
En réponse à Browne and Yechiali [Bro90] qui se demandaient s’il existe des fonctions de
détérioration de taches qui produit une politique d’indice, nous présentons un nouveau
schéma d’ordonnancement de taches qui alloue des priorités dynamiques. On prouve que
c’est un cas d’ordonnancement de taches détériorant à durée opératoires variables et de
taches à retard ou en attente sur une machine.
Sous certaines conditions, on montre que cette priorité dynamique est une règle d’indice. Au
laboratoire d’informatique de l’E3I de l’université de
concepteurs,
Tours, Haro et Proust [Har92],
ont défini une priorité particulière et l’ont implémentée dans le noyau
multitâches d’un système d’exploitation. Cette priorité est définie pour améliorer les
performances du système informatique impliqué.
11
Soit N taches à exécuter sur une seule machine. A chaque tache « i » on associe une priorité
instantanée pi (t) =
M i t ia ( t ) + mi t ie ( t )
pour t = 1 , 2 ,.. et pi ( 0 )
t
∈ [mi , Mi ].
mi et Mi sont des valeurs réelles. ti e (t) et ti a (t) sont respectivement le temps d’exécution
qu’a reçu la tache i et le temps d’attente du tache i pour s’exécuter durant l’intervalle [0,t].
En chaque date de décision, on exécute la tache avec la plus grande priorité.. En cas de conflit
, la règle du Tourniquet ou Round Robin est utilisée pour départager les taches.
4.1 OPBM : Un ordonnancement stochastique de taches détériorants ou à durée
opératoire variable sur une seule machine [Der99].
Les taches dont les durées opératoires ou d’exécution croissent avec le temps sont appelés des
taches détériorants. Comme tous les taches sont supposés présents dans l’atelier à l’instant 0,
pour tout t , ti e (t) + ti a (t) = t. Pour tout t , t = 0 , 1 , 2 ,..., la formule de la priorité devient :
pi (t) = Mi + ( mi - Mi )
Alors
pi (t )
= ( 1 + αi ) ti e(t) - αi . t = ti e(t) - αi ( t - ti e(t) )
mi
Ai (t) = t
Mi
mi
où αi = −
t ie ( t )
t e (t )
= Mi - ∆ i i
t
t
∈ R+ .
On suppose que Pi est le temps d’exécution nécessaire pour la tache i à l’instant t = 0 ,
indépendant des Pj , i ≠ j . La constante αi = −
Mi
est le taux de détérioration du tache i.
mi
Si la tache i n’a pas encore terminé son exécution à l’instant t, son temps d’exécution résiduel
croit à un taux αi .
αi ( t - ti p(t) ) est l’augmentation dans l’exécution résiduelle du tache i due à l’exécution des
autres taches durant ] 0 , t ].
Ai (t) =
t
pi (t )
m
i
s’interprète comme une
« Réduction Nette » dans l’exécution
résiduelle du tache i comme conséquence d’exécution des autres taches sur [0,t], où pi(t) est
une priorité.
12
Plusieurs applications industrielles sont mentionnées pour ce modèle. L’exemple de la
planification de la machine de maintenance ou de service dans la production d’acier où la
matière coule durant les périodes d’attente. Dans la gestion des stocks où des produits
périssent ou se détériorent, où la demande ou le manque croit linéairement ou nonlinéairement. Des éléments se détériorent en stockage. Des éléments radioactifs qui se
désintègrent dans le temps. Dans l’ordonnancement de fabrication des pneus, si la
température d’un pneu de caoutchouc durant son attente dans un espace d’attente entre le
fourneau et la machine de moulage chute, alors il a besoin d’être réchauffé jusqu'à la
température de moulage. Le réchauffement dépend du temps d’attente dans l’espace d’attente
dont l’ordonnancement dépendra.
Si t est une date de décision, la prochaine décision pour une tache qui n’a pas terminé son
exécution élu pour exécution à l’instant t ne peut être que t + 1 ou l’instant où une tache j
termine son exécution, soit le premier instant qui surviendra entre ces deux dates.
On définit l’état du tache i à la date de décision t par :
C ( date de fin d' exécution )
{ A i ( t ) , B i ( t )}

si i a terminé son exécution à l' instant t
sinon
Xi (t) = 
Bi (t) =
Max A (t)
i
=
s∈Dt
Max
s ∈ Dt
t
pi (t )
mi
où Dt = { 0 , 1 , ..., t }.
L’état du processus à t est : X(t) = { X1 (t),..,XN (t) }.
4.2 OPBM : Un ordonnancement stochastique de taches soumis au retard ou à l’attente
sur une seule machine
De la définition de l’OPBM , ti a (t) =
t
t
Pi ( t ) − mi ] et ti e (t) =
[
∆i
∆i
[ Mi
- Pi ( t )
] sont
respectivement le temps d’attente pour l’exécution et le temps d’exécution qu’a reçu la tache i
durant l’intervalle [0,t]. Chaque tache nécessite Pi unités d’exécution à l’instant 0 qui est
indépendant des Pj , j ≠ i..
Définissons le processus Y(t) = ( Y1 (t) , ..., YN (t) ), avec Yi (t) = ( X i (t), Di (t), Zi (t) ) ,
où X i (t) = ti e (t) /N , Di (t) = tia (t) / N et
N est le nombre de taches dans l’atelier à
l’instant 0. Zi (t) est un indicateur, qui prend la valeur 1 si la tache i a terminé son exécution
avant l’instant t et 0 sinon. On a aussi X i (0) = Di (0) = Zi (0 ) = 0 , 1 ≤ i ≤ N.
13
Le processus stochastique { Di (t) = ti w (t) / N , t ∈N } est appelé processus à retard ou en
attente ( delay process ).
Si la tache i s‘est donné une unité d’exécution à l’instant t, ayant reçu x unités d’exécution
avant t , alors aucune exécution ne surviendra avant t + 1 + Di ( x + 1 ) - Di ( x ).
Di ( x + 1 ) - Di ( x ) = ( 1 / N ) [ tia (x + 1 ) - tia (x) ] =
(1/N)
( x + 1)
∆i
= ( 1/N ) {
[
x
∆i
x
∆i
[
Pi ( x ) - mi ]
1
- Pi ( x ) ] +
∆i
[
Pi ( x + 1) - mi ] }
Pi ( x + 1) − mi
[ Pi (x + 1)
D’où : ( 1/N ) {
x
∆i
]-
[ Pi (x + 1)
(1/N)
- Pi ( x )
]
+
1
∆i
[
Pi ( x + 1) - mi ] } est interprété comme
un retard causé par la (x + 1 ) ième unité d’exécution reçu par la tache i ou le temps de
réparation d’une panne. Ce problème d’ordonnancement est un processus Markovien de
panne.
4.3. Principaux résultats
Donnons ci dessous deux propositions sur le comportement de la priorité.
Proposition 1 : Si la tache j n’a pas terminé son exécution à l’instant t
Alors sa priorité pj (s) <
mj
s
Pj
, ∀ s ∈ ]0 , t ].
Supposons que la tache j est choisi pour exécution à l’instant t et que la prochaine date de
décision surviendra à t + σ , où σ ≤ 1.
Comme conséquence de cette exécution, une tache k qui n’a pas terminé son exécution, k ≠ j,
se détériore. Son temps d’exécution augmentera linéairement à un taux αk.
Proposition 2 : Soit k l’indice d’une tache qui n’a pas terminé son exécution et qui ne
s’exécute pas à l’instant t. Si la prochaine date de décision surviendra à t + σ , σ ≤ 1 alors sa
priorité
pk( t + σ ) =
t
1
pk(t) - αk . mk . σ
t +σ
t +σ
14
Pour une tache qui s’exécute à l’instant t et ne peut pas terminer son exécution dans un temps
additionnel d’une unité alors sa priorité pj ( t + 1 ) =
mj
t
pj (t) +
t +1
t +1
Nous énoncerons le résultat principal de ce travail.
Théorème3 : OPBM est une règle d’indice et Pi (t) = Mi - ∆
i
t ie ( t )
t
est un indice
d’allocation dynamique qu’on notera par DAI.
Tous les résultats établis dans la théorie des processus bandit et des indices de Gittins restent
vrais .
5. SOMMAIRE
On a présenté les processus bandits comme outil pour la résolution des problèmes
d'ordonnancement stochastiques sur une machine sous le critère de l'espérance des coûts
linéaires , prévisionnels et en moyenne. Une application de ces résultats est fournie. Nous
présentons un schéma d’ordonnancement dynamique et nous montrons que cette priorité
dynamique particulière allouée aux taches par un scheduler d’un système d’exploitation
d’ordinateurs multitâches s’interprète comme deux problèmes d’ordonnancement bien connus
(de taches détériorants ou taches à durées opératoires variables et des ordonnancement à
retard). Sous certaines conditions nous montrons aussi qu’elle est une règle d’indice.
REMERCIEMENTS : J’exprime ma gratitude au Professeur Christian Proust qui m’a fait
intéressé à ce domaine, plus particulièrement aux processus bandits et leurs applications à
l’ordonnancement stochastique.
RÉFÉRENCES
[Ala 92] ALABEAU, M et DECHAIZE, T ( 1992). Ordonnancement temps réel par échéance.
TSI , vol 11 , n°3 , pp 59-123.
[Bou98] BOUDEMAGH, N ; EZZIAT, C et DERBALA, A (1998). Ordonnancement en
temps réel et application des processus bandits à l’ordonnancement stochastique. Mémoire
d’Ingéniorat, Université de Blida , ALGERIE.
[Bro90] BROWNE, S et YECHIALI, U (1990). Scheduling deteriorating jobs on a single
processor. Operations Research, vol. 38 , N°3 , pp. 495-498.
[Car94] CARDEIRA , C et MAMMERI , Z (1994). Ordonnancement de tâches dans les
systèmes temps réel et répartis. Algorithmes et critères de classification. APII, vol28, n°4, pp.
353-384.
15
[Der98] DERBALA, A (1998). Semi-Markov two decisions Processes. Their use in
Stochastic Scheduling Processes. Proceedings of the 2nd International Symposium on SemiMarkov Models : Theory and Application. 10, Production and Communication Networks.
December 9-11, Compiègne, France.
[Der99] DERBALA, A (1999). Single-machine scheduling of deteriorating or delaying
stochastic jobs with dynamic priority. Revue des sciences et technologie, Synthèse, N°6,
November. Publication de l’université d’Annaba-Algérie. Actes de la conférence
Internationale en Informatique, Cii99, pp.335-342.
[Fre82] FRENCH, S (1982). Sequencing and scheduling. An introduction to the Mathematics
of the Job shop. Mathematics and its applications. Ellis Horwood Series.
[Git72] GITTINS, J.C et JONES, D.M (1972). A dynamic index for the sequential Design
of experiments. Colloquia Mathematica JANES BOLAI, 9, European meeting of statisticians,
BUDAPEST(HUNGARY), pp.241-266.
[Git77] GITTINS, J.C et GLAZEBROOK, K.D (1977). On Bayesian models in stochastic
scheduling. Journal of Applied Probability. 14, pp. 556-565.
[Git79a] GITTINS, J.C ( 1979a ). Bandit process and dynamic allocation indices. Journal of
the Royal statistic Society B, vol41, n°2, pp148-177.
[Git79b] GITTINS, J.C et JONES, D.M (1979b). A dynamic allocation index for the
discounted multiarmed bandit problem. Biometrika, 66, 3, pp. 561-565.
[Git 89] GITTINS, J C (1989). Multi armed Bandit allocation indices. John Wiley & sons.
[Gla76] GLAZEBROOK, K.D (1976). Stochastic scheduling. Phd Thesis. Downing College,
Cambridge. August .
[Gla83] GLAZEBROOK, K.D (1983 ). Optimal strategies for families of alternative bandit
processes. IEEE Transactions on Automatic control, vol. AC-28 , n°8, pp.858-861.
[Gla87] GLAZEBROOK, K.D (1987). Evaluating the effects of machine breakdowns in
stochastic scheduling problems. Naval Research Logistic Quarterly, vol. 34, pp.319-335.
[Got93] GOTHA (1993). Les problèmes d'ordonnancement. Rairo operations Research ,
vol27, n°1, pp. 77 - 150.
[Har92] HARO,C. et PROUST, C (1992). Un ordonnancement équitable par priorités
bornées. Colloque Méthodes et outils d’aide à la décision, MOAD’92BEJAIA, ALGERIE,
15-17dec 1992, pp.46-49.
[Lee97] LEE, C.Y ; LEI, L et PINEDO, M (1997). Current trends in deterministic scheduling.
Annals of operations Research 70, pp. 1-41.
[Nas 73] NASH,P (1973). Optimal allocation of resources between research projects. Ph.D.
Thesis. Cambridge University.
[Nas80] NASH, P (1980 ). A generalized bandit problem. J. R. statist. soc B, 42, n°2,
pp.165-169.
[Rob82] ROBINSON, D.R (1982). Algorithms for evaluating the dynamic allocation index.
Operations Research Letters, vol. 1, n°2 , pp.72-74.
[Sev71] SEVCIK, K.C (1971). The use of service time distributions in scheduling. PhD. diss,
Comm. on Information sciences, University of Chicago, Sept.1971.
[Sev74] SEVCIK, K.C (1974). Scheduling for minimum total loss using service time
distributions. Journal of the Association Computing Machinery. Vol. 21, n°1, pp.66-75.
[Smi56] SMITH, W.E (1956). Various optimizers for single state production. Naval Research
Logistic Quarterly, 3, pp. 59-66.
[Wei92a] WEISS, G (1992a). Turnpike optimality of smith's rule in parallel machines
stochastic scheduling. Mathematics of Operations Research , vol. 17, n°2, pp. 255-270.
[Wei92b] WEISS, G ( 1992b ). A tutorial in stochastic scheduling School of IsyE. Georgia
Tech, ATLANTA, GA 30332.
16
[Whi80] WHITTLE, P ( 1980 ). Multi-armed bandits and the Gittins index. J. R. statist soc B,
42, n°2, pp. 143-149.
17

Documents pareils