Post on 03-Apr-2015
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 »