Problèmes à machines parallèles avec serveur Samuel Guirchoun.

Post on 03-Apr-2015

106 views 1 download

Transcript of Problèmes à machines parallèles avec serveur Samuel Guirchoun.

Problèmes à machines parallèles avec serveur

Samuel Guirchoun

2

Plan

Présentation Définitions et Objectifs

Etude de cas

Algorithme Présentation et optimalité

Conclusion et perspectives

3

Introduction

Serveur

Salle Réseau

Applicationrépartie

Modules

Modules terminésM machines identiques

Bus

4

Introduction

Nous nous intéressons : aux problèmes d’ordonnancement de processus

distants dans les systèmes informatiques

En particulier : Un réseau LAN constitué de plusieurs machines

clientes et un serveur

Lien atelier-informatique : Existe-t-il des modèles d’ordonnancement de

problèmes d’atelier utilisables pour les problèmes client-serveur?

5

Le problème

Hypothèses Machines distantes identiques Temps de communication/transport négligeables Pas d’interruption des processus (pas de préemption

possible) Chaque processus est chargé par le serveur/robot

sur une machine qui l’exécute (deux opérations par tâche)

Chargement du processus immédiatement suivi de son exécution (contrainte no-wait)

Critère Minimiser l’occupation des machines distantes : Ci

6

Le problèmeAtelier Réseau LAN

Serveur Deux classes de problèmes abordées : Les problèmes à machines parallèles avec serveur notés

P,S (Hall et al., PMS 1996) Les flow shop hybrides : notés FH2 (Vignier et al., 1999)

7

Etat de l’art : PS

C. P. Koulamas (1996) P2,S1||Cmax Beam Search

S. A. Kravchenko et F. Werner (1997), N. G. Hall et al. (1996), P. Brucker et al. (2002)

Résultats de complexité : si=s, pi=p et/ou ri

Glass et al. (2000) travaux dédiés

Kravchenko et Werner (2001) Heuristique : si=1 et Ci

Abdekhodaee et Wirth (2002) Heuristiques : si+pi=s+p et Ci

8

Définition des problèmes P,S

Problèmes à machines parallèles avec serveur : M machines parallèles identiques et un serveur noté S n travaux avec des temps d’exécution pi Chargement, durée si, est réalisé par le serveur si est immédiatement suivi de pi pour tout i (no-wait) M et S ne peuvent réaliser qu’une opération à la fois Chargement si possible si S et une des machines M sont disponibles

(multiressource)

Environnements de production

Informatique : pas de Multiressource

s1

p4

s5 s4 s2 s3

p1

p5 p2

p3

S

M1

M2

9

Etat de l’art : FH Gupta (1988)

fortement NP-difficiles

Hoogeveen et al. (1996) même pour les version préemptives

Vignier et al. (1999) , Linn et Zhang (1999) état de l’art sur les problèmes de flow shop hybrides

Pinedo (1995) solution optimale avec la règle SPT (Shortest Processing

Time) pour Ci avec : toutes les opérations d’un même travail ont la même durée.

résultat non valide avec le no-wait.

10

Définition des problèmes FH

Problèmes de type Flow shop hybride : 1 machine au premier étage (le serveur) M machines parallèles identiques au deuxième étage n travaux avec deux opérations oi,1 et oi,2 de durée d’exécution

pi,1 et pi,2. oi,1 est exécutée au premier étage et oi,2 au deuxième oi,1 est immédiatement suivie de oi,2 (no-wait) Toutes les machines ne peuvent exécuter qu’une opération à

la fois

Ces problèmes FH sont connus pour être NP-difficiles.

p1,1

p4,2

p5,1 p4,1 p2,1 p3,1

p1,2

p5,2 p2,2

p3,2

M1,1

M2,1

M2,2

11

Exemple Diagramme de Gantt P,S

Diagramme de Gantt FH

Serveur

p1,1

p4,2

p5,1 p4,1 p2,1 p3,1

p1,2

p5,2 p2,2

p3,2

M1,1

M2,1

M2,2

s1

p4

s5 s4 s2 s3

p1

p5 p2

p3

S

M1

M2

12

Reduction

Réduction : FH2,(1,P)|pi,1=s, no-wait| Ci se réduit au

problème P,S1|si=s| Ci (Guirchoun et al., 2003) P2,S1|si=1| Ci O(nlog(n))

Pm,S1|si=1| Ci O(nlog(n))

pi≥m-2

P,S1|si=1| Ci NP-difficile

P2,S1|si=s| Ci NP-difficile

P,S1|pi=1, si=s| Ci O(n)

FH2,(1,P2)|pi,1=1, no-wait| Ci ?

FH2,(1,Pm)|pi,1=1, no-wait| Ci ?

FH2,(1,P)|pi,1=1, no-wait| Ci NP-difficile

FH2,(1,P2)|pi,1=s, no-wait|Ci NP-difficile

FH2,(1,P)|pi,1=s, pi,2=1, no-wait| Ci ?O(n)

13

Plusieurs cas !

SPT/FAM optimal pour P2||Ci

Trois cas pour FH2,(1,P2)|pi,1=1, no-wait|Ci :

Lorsque pi,2 2 pour tout travail i

Lorsque pi,2 >2 pour tout travail i

Algorithme pour pi,2 >0 pour tout travail i

14

pi,22 pour tout i Théorème :

Tout ordonnancement semi-actif est une solution optimale pour le problème FH2,(1,P2)|pi,1=1, pi,22, no-wait| Ci.

Preuve : Ci=Ci,1+pi,2 1 machine toujours disponible au deuxième

étage Ci = Ci,1+ pi,2 pi,2= K1 et Ci,1= n(n+1)/2 =K2 Ci = K

Exemple :i pi,1 pi,2

1 1 1/3

2 1 1

3 1 2

4 1 2

5 1 2

Ci = 67/3

1

4

5 42

3 1

5

3M1,1

M2,1

M2,2

t1=1 t2=2

2

15

pi,2>2 pour tout i

Théorème : SPT/FAM donne une solution optimale pour le problème

FH2,(1,P2)|pi,1=1, pi,2>2, no-wait| Ci en O(n log(n)).

Démonstration SPT/FAM les Ci de deux travaux consécutifs ne coïncident jamais Pas de temps morts sur M2,1 et M2,2 (sauf [0,t1] sur M2,1 et [0,t2] sur

M2,1) On se ramène au problème Pm||Ci pour lequel SPT/FAM donne

l’optimal (Kaspi et Montreuil, 1988)

Exemple :i pi,1 pi,2

1 1 3

2 1 4

3 1 6

4 1 3

5 1 3

1

4

5 4 2 3

1

5

3

M1,1

M2,1

M2,2t1

t2

Ci=33

2

16

pi,2 quelconques

SPT ne donne pas une solution optimale pour le problème FH2,(1,P2)|pi,1=1,no-wait| Ci

Contre exemple

i pi,1 pi,2

1 1 1

2 1 1

3 1 2

4 1 3

5 1 4

6 1 6

3

1

4

2

1

3

5

4

2

5

6

6Ci=38

1

1

2

2

3

3

4

4

5

5

6

6Ci=39

M1,1

M2,1

M2,2

M1,1

M2,1

M2,2

17

Algorithme en O(n log(n)): 1=1, 2=2

Déterminer A={ i | pi,2 =1} et B={ i | pi,2 2}

Tant que AB Soit Mk,2 la machine telle que k=min{k | k = 1, 2}

Si (B = ou i compatible de A alors) Placer l’opération oi,2 sur Mk,2 A A \ {i} et k= k+ pi,2

Sinon Placer l’opération oi,2 de B de plus petit pi,2 sur Mk,2 B B \ {i} et k= k+ pi,2

Fin si

Fin tant que

pi,2 >0≥m-1 Algorithme en O(n log(n)):

1=1, 2=2 ,…, m=m

Déterminer A={ i | pi,2 =m-1} et B={ i | pi,2 m}

Tant que AB Soit Mk,2 la machine telle que k=min{k | k = 1, …, m}

Si (B = ou i compatible de A alors) Placer l’opération oi,2 sur Mk,2 A A \ {i} et k= k+ pi,2

Sinon Placer l’opération oi,2 de B de plus petit pi,2 sur Mk,2 B B \ {i} et k= k+ pi,2

Fin si

Fin tant que

18

Exemple

1 2

M1,1

M2,2

M2,3

M2,1

i 1 2 3 4 5 6 7 8 9 10

pi,1 1 1 1 1 1 1 1 1 1 1

pi,2 2 2 2 2 3 3 4 4 5 6

5 6 7

5

6

73

1

1

8

8

2

2

9

9

3

3

4

4

10

10

1 2 2 23 31 1 1 1

Ci=88

20

Optimalité de l’Algorithme Deux sous ensembles :

1 =AB1 sous ensemble des travaux ordonnancés jusqu’au dernier travail appartenant à A={ i | pi,2 =m-1}

2 =B2 sous ensemble des travaux ordonnancés restant Avec B=B1B2

M1,1

M2,2

M2,3

M2,1

5 6 7

5

6

7

1

1

8

8

2

2

9

9

3

3

4

4

10

10

11

11

12

12

13

13

1=AB1 2=B2

22

Reduction

P2,S1|si=1| Ci O(nlog(n)) FH2,(1,P2)|pi,1=1, no-wait| Ci O(nlog(n))

Pm,S1|si=1| Ci O(nlog(n)) pi≥m-2

FH2,(1,Pm)|pi,1=1, no-wait| Ci O(nlog(n)) pi,2≥m-1

P,S1|si=1| Ci NP-difficile

FH2,(1,P)|pi,1=1, no-wait| Ci NP-difficile

P2,S1|si=s| Ci NP-difficile

FH2,(1,P2)|pi,1=p, no-wait| Ci NP-difficile

P,S1|si=s, pi=1| Ci

O(n) FH2,(1,P)|pi,1=s, pi,2=1, no-wait| Ci

O(n)

23

Conclusion

Algorithme en O(n log(n)) pour résoudre FH2,(1,Pm)|pi,1=1, pi,2m-1, no-wait| Ci

Les problèmes PS et FH2 avec nowait sont très voisins Contrainte de multiressource

Ces deux modèles sont proches d’un réseau LAN Réseau simplifié

24

Perspectives Modification de l’algorithme pour qu’il soit optimal dans le

cas des pi,2 quelconques Ou tester ses performances en tant qu’Heuristique

Etendre la réduction à d’autres critères : Cmax,…

Se rapprocher d’un réseau informatique : En supprimant le no-wait En incluant des temps de communication En ajoutant les contraintes de précédence En autorisant la préemption (systèmes multitâches) …

D’autres modélisations: Environnement client-serveur : Blazewizc et al.(1996), mémoire

tampon et recirculation « Multiprocessor tasks »