La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Problèmes à machines parallèles avec serveur

Présentations similaires


Présentation au sujet: "Problèmes à machines parallèles avec serveur"— Transcription de la présentation:

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

2 Plan Présentation Etude de cas Algorithme Conclusion et perspectives
Définitions et Objectifs Etude de cas Algorithme Présentation et optimalité Conclusion et perspectives

3 Introduction Application répartie Salle Réseau Serveur Bus
M machines identiques Modules terminés Modules Salle Réseau

4 Introduction Nous nous intéressons : En particulier :
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 Critère 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ème Atelier Réseau LAN Deux classes de problèmes abordées :
On considère un ensemble de module à exécuter sur les machines du réseau le plus judicieusement possible pour ne pas encombrer le réseau. Au cours de mon stage de DEA, j’ai réalisé analyse de l’exécution de tâches et mesurer les temps d’exécutions des activités et les temps de communication sur monoprocesseur et répartis. Utilisation de PVM sur un réseau Linux. (gros grain) Cette analyse nous a conduit à considérer deux classes de problème s’en rapprochant 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) Hoogeveen et al. (1996)
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 S M1 M2 M1,1 M2,1
Serveur M1,1 p1,1 p5,1 p4,1 p2,1 p3,1 M2,1 p1,2 p4,2 p3,2 M2,2 p5,2 p2,2

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,22 pour tout i Théorème : Preuve : Exemple : Ci = 67/3
Tout ordonnancement semi-actif est une solution optimale pour le problème FH2,(1,P2)|pi,1=1, pi,22, 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 : M1,1 3 5 2 1 4 i pi,1 pi,2 1 1/3 2 3 4 5 Ci = 67/3 M2,1 3 2 1 4 M2,2 5 t1=1 t2=2

15 pi,2>2 pour tout i Théorème : Démonstration Exemple : Ci=33 M1,1 1
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 : Ci=33 M1,1 1 5 4 2 3 i pi,1 pi,2 1 3 2 4 6 5 M2,1 1 4 3 M2,2 5 2 t1 t2

16 pi,2 quelconques Ci=39 Ci=38
SPT ne donne pas une solution optimale pour le problème FH2,(1,P2)|pi,1=1,no-wait| Ci Contre exemple M1,1 i pi,1 pi,2 1 2 3 4 5 6 1 2 3 4 5 6 M2,1 1 3 5 Ci=39 M2,2 2 4 6 M1,1 3 4 1 5 2 6 M2,1 Ci=38 3 1 5 M2,2 4 2 6

17 pi,2 >0 ≥m-1 Algorithme en O(n log(n)): 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 AB 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 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 AB 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

18 Exemple i 1 2 3 4 5 6 7 8 9 10 pi,1 pi,2 M1,1 5 6 7 1 8 2 9 3 4 10 M2,1 5 1 2 3 10 Ci=88 M2,2 6 8 4 M2,3 7 9 1 2 3 1 2 1 3 1 2 1 2 3 1

19 Lemme Pour tout ordonnancement : Démonstration par récurrence
k, m  k  n : où p[i],2 correspond au travail de date de fin C[i] et où C[1]  C[2]  …  C[n] Démonstration par récurrence

20 Optimalité de l’Algorithme
Deux sous ensembles : 1 =AB1 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=B1B2 1=AB1 2=B2 M1,1 5 6 7 1 8 2 9 3 4 10 11 12 13 M2,1 5 1 2 3 10 13 M2,2 6 8 4 11 M2,3 7 9 12

21 Optimalité de l’Algorithme
Principe : Tant que A  : Pas de temps mort au premier étage Ci,1= pi,1= cste s=i, 1=i+1, 2=i+2, …, m-1=i+m-1, m i+m Ci(1) est minimale Lorsque A = : SPT sur les travaux restants de B : Ci(2) est minimale Avec le Lemme On montre que la partition est bonne Ci = Ci(1)+ Ci(2) est minimale

22 Reduction P2,S1|si=1| Ci O(nlog(n))  FH2,(1,P2)|pi,1=1, no-wait| Ci
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 P2,S1|si=s| Ci FH2,(1,P2)|pi,1=p, no-wait| Ci P,S1|si=s, pi=1| Ci O(n) FH2,(1,P)|pi,1=s, pi,2=1, no-wait| Ci

23 Conclusion Algorithme en O(n log(n)) pour résoudre FH2,(1,Pm)|pi,1=1, pi,2m-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 »


Télécharger ppt "Problèmes à machines parallèles avec serveur"

Présentations similaires


Annonces Google