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