43
Chapitre I : Introduction Chapitre II : Complexit´ e des probl` emes d’ordonnancement Chapitre III : M´ ethodes de R´ esolution Les algorithmes approch´ es Chapitre IV : Ordonnancement sur machines parall` eles Cours d’ordonnancement Adel ESSAFI December 7, 2013 Adel ESSAFI Cours d’ordonnancement

Notes de cours d'ordonnancement

  • Upload
    isig

  • View
    1.670

  • Download
    2

Embed Size (px)

DESCRIPTION

ordonnancement, Complexité, methodes de résolutions

Citation preview

Page 1: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Cours d’ordonnancement

Adel ESSAFI

December 7, 2013

Adel ESSAFI Cours d’ordonnancement

Page 2: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

PLAN

1 Chapitre I : Introduction

2 Chapitre II : Complexite des problemes d’ordonnancement

3 Chapitre III : Methodes de ResolutionCritere de performancemethodes Exactes

4 Les algorithmes approches

5 Chapitre IV : Ordonnancement sur machines paralleles

Adel ESSAFI Cours d’ordonnancement

Page 3: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Introduction : un ordonnancement c’est quoi?

Adel ESSAFI Cours d’ordonnancement

Page 4: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Definition

Definition

Le probleme d’ordonnancement consiste a organiser dans le tempsla realisation d’un ensemble de taches, compte tenu de contraintestemporelles (delais, contraintes d’enchainements, ...) et decontraintes portant sur l’utilisation et la disponibilite des ressourcesrequises.

Adel ESSAFI Cours d’ordonnancement

Page 5: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Donnees d’un probleme d’ordonnancement

Les taches : Un ensemble de taches avec eventuellement descontraintes ou de carateriques speciales.

Ressources : Un environnement de ressources pour effectuerles taches

Fonction Objectif : Un critere d’optimisation

Objectif : Determiner les ressources sur lesquelles les taches vonts’executer ainsi que les dates de debut d’execution

Adel ESSAFI Cours d’ordonnancement

Page 6: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Exemple : Gestion des projets

Grands Projets

Chantiers de constructions

...........................

Adel ESSAFI Cours d’ordonnancement

Page 7: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Exemple : Ateliers

Ateliers simples (menuisier avec une seule machine )

Ateliers complexes (plusieurs etages sequentiel / Paralleles )

...........................

Adel ESSAFI Cours d’ordonnancement

Page 8: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Exemple : Administration

Gestions des ressources humaines

Emploi de temps

Gestions des pauses dans les centres d’appels

...........................

Adel ESSAFI Cours d’ordonnancement

Page 9: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Exemple : Informatique

Partage des ressources (processeur) entre les processus

Partage des coeurs entre les processus

Gestion des ressources partages

Ordonnancement sur les plateformes de calcul distribues(machines paralleles, grilles, cloud ...)

Adel ESSAFI Cours d’ordonnancement

Page 10: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Taches : proprietes

Duree : depends des ressources / environnement

Ready date (date de debut au plus tot) : c’est la date avantlaquelle la tache ne peut pas etre executees.

Due date: c’est la date buttoire (imposee par des intervenantsexternes : contrainte a respecter).

Nature de la tache : tache simple (s’execute sur uneressources unique), taches avec queue .....

Dependances : Relation de precedence entre les taches

Adel ESSAFI Cours d’ordonnancement

Page 11: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Taches : Illustration

Adel ESSAFI Cours d’ordonnancement

Page 12: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Taches : dependance

Adel ESSAFI Cours d’ordonnancement

Page 13: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Ressources

Machines qui executent les taches

Une ou plusieurs machines

Organisation : parallele / serie (ordre de passage des taches )

Une ressource execute une seule tache a la fois

Adel ESSAFI Cours d’ordonnancement

Page 14: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Objectifs

Quelle est la fonction a optimiser ?Exemples (minimiser le temps):

Temps d’attente devant une chaisse (social?)

Nombre de taches en retards / retard maximal

La date de fin de la derniere tache executee

Moyenne des dates de fin d’execution des taches

Exemples (minimiser l’utilisation des ressources):

Ordonnancement economique : utiliser le nombre minimal deressources

Reseau: Optimiser l’utilisation de la bande passante

Probleme de transport : minimiser les distances parcourues.

....................

Adel ESSAFI Cours d’ordonnancement

Page 15: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Notations et Definition

Graphe de taches G = (V ,E )V : ensemble de taches (instruction selon la granularite)E : ensemble d’arretes (representent les liens entre ces taches(associes au volume des donnees a transferer).Statique : Structures et volume connus a priori Dynamique : levolule des donnees est connu au fur et a mesure du deroulementl’executionrelation de precedence : relation d’ordre partiel

Vi ≺ Vj

La tache Vi doit s’executer entierement avant de commencerl’executuion de Vj

Adel ESSAFI Cours d’ordonnancement

Page 16: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Notations et Definition

Definition

Ordonnancer un systeme de taches, c’est determiner les deuxapplications π et σ ou π associe un processeur a chaque tache et σleur associe un temps de debut d’execution.

Adel ESSAFI Cours d’ordonnancement

Page 17: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Notations

rj : release datedj : due datewj : poid de la tache Cj = σ(j) + pj : date de fin d’executionLj = max(dj − Cj) : retard Ui : date de retard

Adel ESSAFI Cours d’ordonnancement

Page 18: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Ordonnancement realisable

Un ordonnancement est realisable ssi

σ(j) ≥ σ(i) + pi + λ(i , j)

et ce pour tout (i , j) telque i ≺ jλ(i , j) : temps necessaire au transfert de donnee de Vi a Vj

Adel ESSAFI Cours d’ordonnancement

Page 19: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Notation a 3 champs

Le schema de classification propose par (Graham et al, 1979).Classification a trois champs α|β|γα : environnement des machines β : les caracteristiques des tachesγ : critere(s) a optimiser

Adel ESSAFI Cours d’ordonnancement

Page 20: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Le champs α

Caraterise les ressources

Compose de deux sous champs α1α2

Une seule machine ⇒ α1 = et α2 = 1

Machines paralleles : α1 ∈ {P,Q,R} et α2=nombre demachines

Ateliers α1 ∈ {F , J,O}

Adel ESSAFI Cours d’ordonnancement

Page 21: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Le champs β

Caraterise les taches

β = β1β2β3β4....

β1 = pmtn si la preemption des taches est autorisee, sinon β1est absent

S’il y a des contraintes de precedence entre les taches alorsβ2 ∈ {prec , chain, in − tree, out − tree}, sinon β2 est vide

β3 = rj si les dates de debut au plus tot rj (ou dates dedisponibilite) des taches ne sont pas forcement identiques

..................

Adel ESSAFI Cours d’ordonnancement

Page 22: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Le champs γ

fonction objectif : critere de performance

Cmax : Makespan

Lmax : Retard maximal∑WjCj : Somme ponderees des dates de fin∑UJ : Nombre de taches en retards

Adel ESSAFI Cours d’ordonnancement

Page 23: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Introduction

Ordonnancement (pb combinatoire ) : complexite est unequestion importante

Probleme complexe : recherche d’un algorithme efficace(optimal)

Dans le cas contraire, il est pratique de montrer que ceprobleme est NP-difficile

Adel ESSAFI Cours d’ordonnancement

Page 24: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Probleme de calcul

Ordonnancement (pb combinatoire ) : complexite est unequestion importante

Probleme complexe : recherche d’un algorithme efficace(optimal)

Dans le cas contraire, il est pratique de montrer que ceprobleme est NP-difficile

Adel ESSAFI Cours d’ordonnancement

Page 25: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Probleme de calcul

Fonction h qui transforme toute entree x de taille |x | en unesortie h(x).

Mesure d’efficacite : nombre d’instruction pour effectuer cettetransformation

Nombre d’instruction depend de la taille de x

Taille de l’entree : taille de la plus grande valeur enrepresentation binaire

Exemple : un entier a est represente sur log2a bits

Exemple : un tableau de taille m est represente sur mlog2abits ou a est le plus grand entier present

Objectif : Determiner T (n) : Nombre d’instructions de h au piredes cas.

Adel ESSAFI Cours d’ordonnancement

Page 26: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Regles de calcul

Blocks consecutifs : on retient la complexite du plus grandblock

Brachement : On retient la complexite du plus grand blockparmis les blocks alernatifs

Voir cours complexite des algorithmes

Adel ESSAFI Cours d’ordonnancement

Page 27: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Notation en O

on note f = O(g) ssi∃C > 0 , ∃n0 telque ∀n > n0 , |f (n)| ≤ cg(n)

Adel ESSAFI Cours d’ordonnancement

Page 28: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Classes d’algorithmes

Polynomial

Pseudo-polynomial

Adel ESSAFI Cours d’ordonnancement

Page 29: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Probleme de decision

Un probleme de decision est defini par:

un nom

des parametres generiques (Instance)

une question.

Adel ESSAFI Cours d’ordonnancement

Page 30: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Probleme de decision : Exemples

Probleme PARTITION:Instance:A = a1, ....., anQuestion: Existe t-il un sous ensemble B de A telque∑

i∈Bai =

∑i∈A*{B}ai

Adel ESSAFI Cours d’ordonnancement

Page 31: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Probleme de decision : Exemples

Vertex Cover (Couvrant):Instance:Un Graphe G=(V,E)Un Entier k Question: Existe t-il un un sous ensemble V ′ de V detaile k telque chaque arrete de E soit adjacente au moins a unelement de V ′.Vertex Cover:

Minimum Vertex Cover:

Adel ESSAFI Cours d’ordonnancement

Page 32: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Definition des certificats

Etant donne un enonce I de longueur n, on se pose la question:A partir de quelle information sur I , de longueur polynomiale en n,peut-on verifier que I est a reponse ”oui”?On appelle alors certificats de I les informations susceptibles depermettre cette verification.En anglais, si une instance a une reponse oui , elle est noteeyes-instance.

Adel ESSAFI Cours d’ordonnancement

Page 33: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Definition de l’algorithme de verification

On construit un algorithme de verification V , dont les donneessont les couples (I , c) ou c est une instance de I, tel que :

si I est une entree valide du probleme, alors, il existe uncertificat c tel que V repond oui pour la donnee (I,c)

si I n’est une entree valide du probleme, V repond non pourtoute donnee (I,c)

V est de complexite polynomiale la taille de I

Adel ESSAFI Cours d’ordonnancement

Page 34: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Reduction de KARP

Soient L1 et L2 deux langages sur un alphabet Σ.Une fonction τ de Σ∗ vers Σ∗ est une reduction de L1 vers L2 ssi:

∀x ∈ Σ∗, x ∈ L1⇔ τ(x) ∈ L2

τ est une transformation polynomiale

Adel ESSAFI Cours d’ordonnancement

Page 35: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Reduction de problemes

Soient π et π′ deux problemeπ se reduit a π′ , note π ∝ π′ ssi :τ transforme toute instance positive de π en un instance positivede π′ et transforme toute instance negative de π en un instancenegative de π′.⇒ : π′ est au moins aussi difficile que π.La reduction est une relation d’ordre entre les problemes

Adel ESSAFI Cours d’ordonnancement

Page 36: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Critere de performancemethodes Exactes

Ratio d’approximation

Le rapport d’approximation d’un algorithme A pour un problemede minimisation :

ρA = inf {r ≥ 1 tel que ρA(I ) ≤ r}

pour toutes les instances I

ρA(I ) =wA(I )

w∗(A): rapport de la valeur de l’objectif de A a l’optimal

pour l’instance I

Adel ESSAFI Cours d’ordonnancement

Page 37: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Critere de performancemethodes Exactes

Programmation lineaire

Probleme d’affectation des taches aux ressources:Objectif :

min(maxk∑i

aikpi )

Variables d’affectation

aik =

{1 si la tache i est affectee a la machine k

0 sinon.

Contraintes d’affectation : ∀i∑

k aik = 1Une tache est affectee exactement a 1 machineDate de fin sur la machine k :

∑i piaik

Adel ESSAFI Cours d’ordonnancement

Page 38: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Critere de performancemethodes Exactes

Branch and Bound

Adel ESSAFI Cours d’ordonnancement

Page 39: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Algorithmes de liste

Priorite sur les taches : liste L

Sequencement glouton des tachesSi la ressource est libre, sequencer la premiere tache disponiblede la liste

Principe glouton:ne pas laisser la ressource inoccupee si destaches sont disponibles

La liste sert a arbitrer lorsque plusieurs taches sont disponiblesen meme temps

Adel ESSAFI Cours d’ordonnancement

Page 40: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Listes optimales

1||Ci : Liste SPT1||Tmax : Liste EDD1|ri |Cmax :∀ liste L

Adel ESSAFI Cours d’ordonnancement

Page 41: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Algorithme de Liste

Tout algorithme de liste a une garantie 2− 1m pour Pm||Cmax

Borne atteinte avec SPT pour l’instance suivante :

m(m − 1) taches de duree 1

1 tache de duree m

Nous avons alors

Cmax(SPT ) = 2m − 1

C ∗max = m

Adel ESSAFI Cours d’ordonnancement

Page 42: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Algorithme LPT

Placer d’abord les taches les plus longuesListe LPT (Largest Processing Time) : sequence des taches parduree decroissanteL’algorithme de liste LPT a une garantie 4/3− 1/3m pourPm||Cmax et cette borne est atteinteInstance limite:

m machines

2m + 1 taches de tailles(2m − 1, 2m − 1, 2m − 2, 2m − 2, ....,m,m,m)

Pour cette instance nous avons,

Cmax(LPT ) = 4m − 1

C ∗max = 3m

Adel ESSAFI Cours d’ordonnancement

Page 43: Notes de cours d'ordonnancement

Chapitre I : IntroductionChapitre II : Complexite des problemes d’ordonnancement

Chapitre III : Methodes de ResolutionLes algorithmes approches

Chapitre IV : Ordonnancement sur machines paralleles

Adel ESSAFI Cours d’ordonnancement