informatique parallèle ip 06 : lordonnancement. description formelle
TRANSCRIPT
![Page 1: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/1.jpg)
Informatique parallèle
IP 06 : L’ordonnancement
![Page 2: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/2.jpg)
Description formelle
![Page 3: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/3.jpg)
Le problème
Ce problème d’ordonnancement peut être décrit de façon formelle par :
• Un ensemble de machines P
• Un ensemble de ressources additionnelles R
• Un ensemble de travaux T
• Un ou plusieurs critères d’optimalité
Nous disposons d’une ou plusieurs machines (au sens large) avec lesquelles nous devons réaliser un ou plusieurs travaux qui peuvent être décomposés en tâches. Sur quelles machines et dans quel ordre effectuer ces travaux de manière à optimiser l’utilisation des machines, respecter les délais, répartir la charge … ?
![Page 4: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/4.jpg)
Les machines
L’ensemble des machines P={P1, …, Pm}
Les machines dédiées
Job-shop Open-shop Flow-shop
Les machines parallèles
Identiques Uniformes Unrelated
![Page 5: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/5.jpg)
Les machines
Open-shop (atelier de confection)
Une pièce à fabriquer (travail Tj) nécessite n opérations oij
qui peuvent être effectuées dans n’importe quel ordre.
Flow-shop (travail à la chaîne)
Un open-shop avec un ordre des opérations
Job-shop (atelier de réparation)
Un open-shop avec différentes pièces (donc un nombre différents d’opérations)
![Page 6: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/6.jpg)
Les machines
Processeurs identiques
Tous les processeurs ont la même vitesse de fonctionnement
Processeurs uniformes
Les processeurs ont une vitesse de fonctionnement différenteOn ramène à la vitesse du proc le plus lent (bi = 1)
Processeurs unrelated
Les vitesses des processeurs changent en fonction du traitementà effectuer (cas général)
![Page 7: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/7.jpg)
Les machines
L’ensemble des machines P={P1, …, Pm} peut avoir une taille fixe ou variable au cours
du temps :
• Figée : Les informations relatives à la machines parallèles processeurs, réseau …, sont stockée dans une base de données et sont « rarement » mises à jour. Cette représentation a donc une certaine probabilité d’être fausse (panne de machines), ce qui peut entraîner une erreur dans les calcul d’ordonnancement (on affecte des travaux à une machine en panne).
• Dynamique : La représentation est mise à jour par un système de surveillance. En cas d’écart, cela peut entraîner le recalcul des ordonnancement. Il faut trouver un compromis entre exactitude de la représentation et la perturbation engendrée par ce système (doit-on tout recalculer ou peut-on opérer une petite modification ?)
• Semi-dynamique : La représentation est accompagnée d’informations supplémen- taires concernant la « fiabilité » des éléments de la machine (MTBF, profil de disponibilité au cours du temps …) pour aider l’ordonnanceur a calculer des marges d’erreur sur ses prédiction et des plans de rechange.
![Page 8: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/8.jpg)
Les machinesExemple d’information sur la « fiabilité » : Rosenberg :
Affecter le plus gros travailEn utilisant la probabilité d’absence afin de minimiserla destruction prématuréedu travail
![Page 9: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/9.jpg)
Les ressources additionnelles
L’ensemble des ressources additonnelles R={R1, …, Rk}
Des ressources « secondaires » comme la mémoire, la présence d’un équipement particulier …, ce qui
permet de formaliser l’existence de contraintessupplémentaires
![Page 10: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/10.jpg)
Les travaux
L’ensemble des travaux T={T1, …, Tn}
Rigide Modulable(Moldable)
MalléableÉvolutif
![Page 11: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/11.jpg)
Les travaux
Rigide
Nombre deprocesseurs
DuréeLe nombre de processeurs est écriten dur dans le code, donc la duréeest indirectement fixée (en partie)
L’ensemble des travaux T={T1, …, Tn}
Modulable(Moldable)
MalléableÉvolutif
![Page 12: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/12.jpg)
Les travaux
DuréeUn travail évolutif est découpé en phases, il doit demander l’attribution de processeurs pour chaque phase (nous pouvons le considérer comme une suite de travaux rigides).
L’ensemble des travaux T={T1, …, Tn}
Rigide Modulable(Moldable)
MalléableÉvolutif
Phase 1
Phase 2
Phase 3
Phase 4Phase 5
![Page 13: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/13.jpg)
Les travaux
Un travail modulable peut fonctionner sur des nombres différents de processeurs mais lorsque ce nombre est fixé au démarrage, il ne peut pas être modifié en cours d’exécution
L’ensemble des travaux T={T1, …, Tn}
Rigide Modulable(Moldable)
MalléableÉvolutif
![Page 14: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/14.jpg)
Les travaux
Le nombre de processeurs peut êtremodifié au cours du fonctionnementafin de s’adapter à un ajout de machines ou des pannes
1 machinesen moins
7 machinesen plus
FonctionnementInitial
L’ensemble des travaux T={T1, …, Tn}
Rigide Modulable(Moldable)
MalléableÉvolutif
![Page 15: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/15.jpg)
Les travaux
Un travail Tj est caractérisé par les données suivantes (convention de notations) :
• la date de soumission du travail (ready time, arrival time ou release date) est notée rj
• le temps de traitement sur le processeur Pi (processing time) est noté Pij
(s’il s’agit de processeurs identiques, alors Pij = Pj)
• la date de fin attendue (due-date ou deadline) est notée dj
• la priorité (priority ou weight) est notée wj
• les besoins en ressources sont notés Rij
• la date de fin effective (completion time) est notée cj
• le temps de traitement par le système (flow time) est noté fj et est égal à fj = cj - rj
• le retard relatif (lateness) est noté lj, il peut être négatif (en cas d’avance) et est égal à lj = cj - dj
• le retard absolu (tardiness) est noté j et est égal à j = max {0, lj}
![Page 16: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/16.jpg)
Les travaux
Un travail Tj peut être pré-emptable.
Son fonctionnement peut être interrompu (les informations relatifs à ce fonctionnement – le
contexte – sont sauvegardés pour pouvoir être re-utilisé lors de la reprise)
Une souplesse supplémentaire dans
l’ordonnancement
Le coût du changement de
contexte
Modification du programme, capacité
de l’OS …etc
Un travail Tj peut être déplaçable.
Son fonctionnement peut être interrompu et relancé sur d’autres machines (le contexte est sauvegardés et transmis pour pouvoir être re-
utilisé lors de la reprise
Une souplesse supplémentaire dans
l’ordonnancement et la répartition de charge
Le coût du changement de
la migration
Modification du programme, capacité
de l’OS …etc
![Page 17: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/17.jpg)
Les travaux
Un travail Tj est caractérisé par le ratio entre les communications et les calculs :
La durée des travaux n’est pas proportionnelle au nombre de
processeurs utilisés
Nombre deprocesseurs
Durée
Surcoût dues aux communications
Partie rentable
![Page 18: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/18.jpg)
Les travaux
Un travail Tj est constitué de tâches entre lesquelles il existent des relations de précédence :
Nombre deprocesseurs
Durée
Ordonnancement à 2 niveaux :
• Entre les travaux
• Entre les tâches dans un travail
![Page 19: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/19.jpg)
Les critères d’optimalité
La longueur de l’ordonnancement (makespan), notée Cmax
Le critère d’optimalité : que souhaite-t-on optimiser (minimiser ou maximiser) ?
Un ordonnancement quelconque Un ordonnancement optimal
![Page 20: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/20.jpg)
Les critères d’optimalité
La moyenne des dates de fin, notée
Le critère d’optimalité : que souhaite-t-on optimiser (minimiser ou maximiser) ?
n
j
jcn 1
1
La moyenne des dates de fin pondérées, notée
n
j
j j cwn 1
1
Temps d’attente de l’utilisateur du travail rouge, entre le début de l’exécution du lot de travaux (batch) et l’obtention de son résultat.
![Page 21: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/21.jpg)
Les critères d’optimalité
La moyenne des temps de réponse, notée
Le critère d’optimalité : que souhaite-t-on optimiser (minimiser ou maximiser) ?
n
j
jj )rc(n 1
1
Temps d’attente de l’utilisateur du travail rouge, entre la soumission de son travail et l’obtention de son résultat.
Formation du lot de travauxpendant l’exécution du batchprécédent
![Page 22: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/22.jpg)
Les critères d’optimalité
L’écart-type sur la charge des machines, notée
Le critère d’optimalité : que souhaite-t-on optimiser (minimiser ou maximiser) ?
3 machines travaillent plus que les autres
Toutes les machines ont la même charge de travail
![Page 23: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/23.jpg)
Notation à 3 champs
Une notation pour spécifier le problème :
Machine Contrainte Critère
Exemples : P||Cmax, ou P|prec|Cmax
![Page 24: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/24.jpg)
Ratio de compétitivité
opt
exec
TT
Critère d’un ordonnancement donné(souvent makespan)
Même critère d’un ordonnancement optimal
optexec TT .
![Page 25: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/25.jpg)
L’ordonnancement
L’ordonnancement peut être vu comme la combinaison de deux actions :
• L’affectation consiste à déterminer pour chaque travail à accomplir l’ensemble des processeurs chargés de l’exécution. Cette affectation peut être de différentes natures :
• Le séquencement est la détermination du moment où s’accomplira le travail sur les processeurs affectés à son exécution
• Fixe : défini par l’administrateur pour « coller » à des contraintes administratives ou matérielles
• Variable : défini à la volée lors de la soumission des travaux rigides (elle peut être « arrondie » au nombre de processeurs supérieur pour respecter des contraintes techniques ou administratives
• Adaptable : semblable à la précédente mais concerne les travaux modulable ou malléable en se basant sur les machines « disponibles » et les conformations possibles des travaux
• Dynamique : la taille change en fonction de l’arrivée de nouvelles machines (ou les pannes) et ne concerne que des travaux malléables
![Page 26: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/26.jpg)
3 stratégie d’ordonnancement …L’ordonnancement étant composé de deux actions, on peut distinguer 3 stratégies :
• Le space-slicing partage les processeurs de la machine parallèle entre les travaux à exécuter sans recourir à la préemption. Elle revient à résoudre un problème de bin-packing consistant à placer des rectangles (modélisant les travaux) dans un rectangle englobant (correspondant au diagramme de Gantt)
• Le time-slicing découpe le temps de fonctionnement de la machines parallèles en quantum afin d’exécuter successivement différents travaux parallèles (extension du multi-tâches mono-processeurs au cas multi-processeur)
• Le gang-scheduling est une variante de la deuxième stratégies où 1 seul travail parallèle (qui occupe l’ensemble des machines) est exécuté par quantum de temps
Space-slicing Time-slicing Gang-scheduling
![Page 27: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/27.jpg)
Le bin-packing
http://users.cs.cf.ac.uk/C.L.Mumford/heidi/BinPacking.html
Le bin-packing a une dimension :
Etant donnée des boîtes de capacité C>0 et une liste d’objet o1, o2 … ayant une taille respective 0 < ci C. Quel est le rangement qui utilise le minimum de boîtes ?
Le bin-packing a deux dimensions :
Etant donnée des boîtes de dimension (L x l) et une liste d’objet o1, o2 … ayant comme dimensions respectives 0 < Li , li L, l. Quel est le rangement qui utilise le minimum de boîtes ? Dans ce cas de figure, on peut autoriser ou non a basculer la boite (L devient l et inversement ce qui augment la combinatoire)
Le bin-packing a trois dimensions est identique au problème précédent mais avec une dimension supplémentaire, il peut modéliser le problème de « mise en boite » des transporteurs
Ce problème peut modéliser le problème de « mise en barre » qu’on rencontre enchaudronnerie
![Page 28: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/28.jpg)
Casavant et Kuhl
Approchée Heuristique
Sous-optimaleOptimale
Coopérative Non coopérative
DistribuéeCentralisée
Dynamique
Approchée Heuristique
Sous-optimaleOptimale
Gloutonne Itérative
Statique
Allocation des tâches
![Page 29: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/29.jpg)
Statique et dynamique
Dans le cas dynamique (On-line), nous n’avons aucune connaissance des travaux à venir
Nous prenons les décisions au fur et à mesure de l’arrivée des travaux
![Page 30: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/30.jpg)
Statique et dynamique
Dans le cas statique (Off-line), nous avons un ensemble fini et parfaitement connu de travaux
Nous essayons de trouver un bon arrangement
![Page 31: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/31.jpg)
Quelques algorithmes et heuristiques pour Cmax
![Page 32: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/32.jpg)
Un algorithme : Branch and bound
3 (17) 4 (16) 5 (18)1 (60 2 (36
départ
1 (20) 2 (24)
1 (19) 2 (19)
3 (19)
5 (16)1 (52) 2 (40) 3 (27)
2 (19) 1 (19)
Mise à jour de la varia-ble « meilleur coût » : 19 remplace 22
Branches non explorée car le coût cumulé devient supérieur au meilleur coût
![Page 33: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/33.jpg)
Quelques heuristiques pour Cmax
Type de travaux
[Feitelson]
Rigide
Modulable
Politique d’ordonnancement [Casavant & Kuhl]
On-line Off-line
GrahamSJF
LJFXF
GrahamSJF
LJFXF
Allocation +
Strip-packingHeuristic : e.g.
Steinberg
Turek
MRT
GrahamSJF
LJFXF
![Page 34: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/34.jpg)
Shortest Job First (SJF)
Dans le cas monoprocesseur, SJF consiste simplement à placer en premier les petits travaux (petites durées), ce qui permet de minimiser la somme de C j
Dans le cas présent, cette somme est égale à 1+3+6+10+15+21=56. Tout autreordonnancement présentera une somme des Cj supérieure ou égale à 56. Par exemple, si on permute les deux premiers travaux, on 2+3+6+10+15+21=57
Dans le cas présent, cette somme est égale à 1+3+6+10+15+21=56. Tout autreordonnancement présentera une somme des Cj supérieure ou égale à 56. Par exemple, si on permute les deux premiers travaux, on 2+3+6+10+15+21=57
Dans le cas multi-processeur, la notions de petits travaux est moins “évidente”car il peut concerner la durée ou le nombre de processeurs. On privilégiera ladurée par rapport au nombre de processeurs (on part du principe qu’il faut libérer rapidement les processeurs occupés)
![Page 35: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/35.jpg)
Shortest Job First (SJF)Dans le cas off-line, on connaît tous les travaux donc on peut les ordonner en prenant dans l’ordre croissant de leur durée (estimée) d’exécution (et non de leur durée d’arrivée)
![Page 36: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/36.jpg)
Shortest Job First (SJF)Dans le cas on-line, on ne connaît tous les travaux, le tri s’effectue dans le buffer pendant l’exécution d’autres travaux. Ces travaux sontensuite ré-injectés dans le nouvelordre dans le diagramme de Gantt
![Page 37: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/37.jpg)
Largest Job First (LJF)LJF est une heuristique « duale » de la précédente. Elle ne permet (bien sûr) pas de minimiser la somme de Cj mais elle est utilisée pour favoriser les gros travaux par
rapport aux petits dans certaines plages horaires des centres de calcul (NASA …etc)
Off-line On-line
![Page 38: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/38.jpg)
eXpension Factor (XF)
http://www.cis.ohio-state.edu/~kettimut/iwpp02.pdf
défini par , ce qui permet de tenir compte
XF (eXpension Factor) classe les travaux par ordre décroissant de leur facteur d’expansion
du temps passé par les travaux dans la file d’attente (plus, ils y restent longtemps, plus ils deviennent prioritaires). L’ordonnancement s’effectue donc en se basant sur le Xfactor etLa durée de traitement estimée des travaux
![Page 39: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/39.jpg)
Le backfilling
3
4
1
2
Travaux dans la file d’attente (dans l’ordre d’arrivée)
Backfilling conservateur
Backfilling conservateur
(EASY)
Les mécanismes précédents peuvent être améliorés par le mécanisme de backfilling qui analyse la file d’attente « après » avoir ordonnancé les travaux afin de vérifier si le démarrage anticipé de petits travaux n’améliore le taux d’utilisation de la machine parallèle. Il en existe deux versions :
• Le backfilling conservateur bouche les trous avec des petits travaux sans retarder d’autres travaux (situation à long terme amélioré (2))
• Le backfilling aggressif bouche les trous avec des travaux en acceptant d’en retarder d’autres (situation à court terme amélioré (3)). On espère que d’autres travaux arriveront pour améliorer 4 (Amélioration de 3’, 3’’ …etc)
![Page 40: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/40.jpg)
Quelques heuristiques pour Cmax
Type de travaux
[Feitelson]
Rigide
Modulable
Politique d’ordonnancement [Casavant & Kuhl]
On-line Off-line
GrahamSJF
LJFXF
GrahamSJF
LJFXF
Allocation +
Strip-packingHeuristic : e.g.
Steinberg
Turek
MRT
Steinberg
![Page 41: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/41.jpg)
Graham 66Cette heuristique a été proposée par Graham en 1966. Cette heuristique est aussiconnue sous le nom d’algorithme glouton ou d’algorithme de listes car elle se base sur deux listes :
• les machines prêtes;• les travaux prêt.
1
2
3
Ce système a plutôt tendance à favoriser les petits aux détriments des gros (2 est arrivée avant 3 mais 3 s’exécute avant car il a suffisamment de processeurs pour commencer contrairement à 2)
Dans le cas on-line, nous essayons de démarrer lestravaux dès qu’ils arrivent s’il y a suffisamment deprocesseurs sinon ils sont stockés dans la liste destravaux prêts
Dans le cas off-line, nous prenons les travaux dansl’ordre en fonction du lien de précédence
![Page 42: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/42.jpg)
Graham 66
m 12
Cmax=10 Cmax=19*
Cmax Cmax*
19 (2-0,1) x 10
![Page 43: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/43.jpg)
Graham 66
Cmax Cmax ?*
Cmax et Cmax max pi
pi
m* *
Cmax = max (ri + pi)
K tel que Cmax = rk + pk (Tk est le dernier travail à être exécuté)
Toutes les machines sont occupée à la date rk donc rk
pi
mi kCmax + pk Cmax - + pk
pi
mpk
m
Cmax + pk Cmax Cmax + (1 - ) pk
1m
pi
mi k
*
Cmax + pk Cmax Cmax + (1 - ) Cmax
1m
* *
= 2 -1m
![Page 44: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/44.jpg)
Graham 66
P1
P2
P3
T1 (1)
T6 (4) T7 (4) T8 (4) T9 (4)T10 (9)
T2 (3) T3 (2) T4 (2) T5 (2)
1
T1 (1)
1 2
3 5
4
T1 (1)
T2 (3) T3 (2) T4 (2) T5 (2)
T6 (4) T7 (4) T8 (4) T9 (4)T10 (9)
1 2
3 5
4
T1 (1)
T6 (4) T7 (4) T8 (4) T9 (4)T10 (9)
T2 (3) T3 (2) T4 (2) T5 (2)
7
6 8
9
T1 (1)
T6 (4) T7 (4) T8 (4) T9 (4)T10 (9)
T2 (3) T3 (2) T4 (2) T5 (2)
1
7
6 8
9
2
3 5
4
101
7
6 8
9
102
3 5
4
T1 (1)
T6 (4) T7 (4) T8 (4) T9 (4)T10 (9)
T2 (3) T3 (2) T4 (2) T5 (2)
13
![Page 45: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/45.jpg)
Graham 66
13
T1 (1)
T10 (9)
P1
P2
P3
P4
T6 (4) T7 (4) T8 (4) T9 (4)
T2 (3) T3 (2) T4 (2) T5 (2)
1
T1 (1)T1 (1)
T10 (9) T6 (4) T7 (4) T8 (4) T9 (4)
T2 (3) T3 (2) T4 (2) T5 (2)
1 2
3
4
5
T1 (1)
T10 (9) T6 (4) T7 (4) T8 (4) T9 (4)
T2 (3) T3 (2) T4 (2) T5 (2)
1 2
3
4
5
8
7
6
9
T1 (1)
T10 (9) T6 (4) T7 (4) T8 (4) T9 (4)
T2 (3) T3 (2) T4 (2) T5 (2)
1
8
7
6
9
2
3
4
5
10
13
1
T1 (1)
T10 (9)
10
P1
P2
P3
P4
8
7
6
T6 (4) T7 (4) T8 (4) T9 (4)
9
2
3
4
T2 (3) T3 (2) T4 (2) T5 (2)
51ère anomalie de Graham :
Si on ajoute un processeur, le makespan peut augmenter
![Page 46: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/46.jpg)
Graham 66
P1
P2
P3
T1 (1)
T6 (3) T7 (3) T8 (3) T9 (3)T10 (8)
T2 (2) T3 (1) T4 (1) T5 (1)
13
1
T1 (1)
1 2
3 5
4
T1 (1)
T6 (3) T7 (3) T8 (3) T9 (3)T10 (8)
T2 (2) T3 (1) T4 (1) T5 (1)
T1 (1)
T6 (3) T7 (3) T8 (3) T9 (3)T10 (8)
T2 (2) T3 (1) T4 (1) T5 (1)
1 2
3 5
4 6
7
8
9
1
6
7
8
9
2
3 5
4
T1 (1)
T6 (3) T7 (3) T8 (3) T9 (3)T10 (8)
T2 (2) T3 (1) T4 (1) T5 (1)
10P1
P2
P3
1
6
7
8
9
2
3 5
4
T1 (1)
T6 (3) T7 (3) T8 (3) T9 (3)T10 (8)
T2 (2) T3 (1) T4 (1) T5 (1)
13
10
2ème anomalie de Graham : Si on diminue la durée des
travaux de 1 unité, le makespan peut augmenter
![Page 47: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/47.jpg)
Graham 66
P1
P2
P3
T1 (1)
T10 (9)
T6 (4) T7 (4) T8 (4) T9 (4)T2 (3) T3 (2) T4 (2) T5 (2)
13
1
T1 (1)T1 (1)
T10 (9)
T6 (4) T7 (4) T8 (4) T9 (4)T2 (3) T3 (2) T4 (2) T5 (2)
1
6
8
7
9
2
3 5
4
T1 (1)
T10 (9)
T6 (4) T7 (4) T8 (4) T9 (4)T2 (3) T3 (2) T4 (2) T5 (2)
1
6
8
7
9
2
3 5
4
10
13
P1
P2
P3
1
6
8
7
9
102
3 5
4
T1 (1)
T10 (9)
T6 (4) T7 (4) T8 (4) T9 (4)T2 (3) T3 (2) T4 (2) T5 (2)
3ème anomalie de Graham : Si on relâche certaines
contraintes de précédence, le makespan peut augmenter
![Page 48: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/48.jpg)
Quelques heuristiques pour Cmax
Type de travaux
[Feitelson]
Rigide
Modulable
Politique d’ordonnancement [Casavant & Kuhl]
On-line Off-line
GrahamSJF
LJFXF
GrahamSJF
LJFXF
Allocation +
Strip-packingHeuristic : e.g.
Steinberg
Turek
MRT
Steinberg
![Page 49: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/49.jpg)
Le strip-packing
Etant donnée des boîtes de dimension (L x ) et une liste d’objet o1, o2 … ayant comme dimensions respectives 0 < Li , li L, l. Quel est le rangement qui minimise la seconde dimension ?
Ce problème est étudié dans le cadre informatique mais également dans le cadre d’atelier de production (menuiserie, chaudronnerie …).
Comme dans le cas du bin-packing à deux dimension, on peut autoriser ou non a basculer la boite (L devient l et inversement ce qui augment la combinatoire).
Nous pouvons également imposer quelques contraintes afin de refléter la réalité duTraitement : par exemple, si on utilise une cisaille, la coupe se déroule sur toute lalongueur (ou la largeur) de la tôle mère (ou d’une partie de cette tôle)
![Page 50: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/50.jpg)
Steinberg
u
Qv
?
…etc
a1
b1T1
b2
a2
T2
T3
a3
b3
L
avec
![Page 51: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/51.jpg)
Steinberg
• couper le problème en 2 sous-problèmes (Q’, L’) and (Q’’, L’’) qui sont plus faciles à résoudre;
• résoudre une partie du problème (Q,L) et former un nouveau problème (Q’, L’) avec la partie non résolue.
Pour résoudre le problème (Q,L), Steinberg a défini 7 procédures qui peuvent effectuer 2 types de traitement :
![Page 52: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/52.jpg)
Steinberg
v’
v
u/2
u
Travaux classéspar le nombre de processeurs
utilisés dansl’ordre
décroissant
Nous plaçons les travaux dans le coin inférieurgauche du diagramme de Gantt tant que lenombre de processeurs est supérieur à u/2
Nous obtenonsune pile de travaux
ayant une hauteur v’
La procédure P1 (réalisable si ) :
![Page 53: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/53.jpg)
Steinberg
v’
v
u
Les travaux restants sontclassés pardurée dans
l’ordredécroissant
Nous plaçons les travaux dans le coin supérieur droit du diagramme de Gantt tant que la durée
est supérieure à v’
Nous obtenons un ensemble de travaux ayant une largeur u’
u’
La procédure P1 (réalisable si ) :
![Page 54: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/54.jpg)
Steinberg
v-v’
u-u’
Un nouveau sous-problème à résoudre
v’
v
u
u’
La procédure P1 (réalisable si ) :
![Page 55: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/55.jpg)
Steinberg
Nous scindons la liste L en deux sous-listes :
Nous considérons et nous coupons le rectangle Q dans le sens de la
largeur, nous obtenons alors :
• le rectangle Q’ ayant une largeur et une longueur ;
• le rectangle Q’’ de dimension et .
La procédure P3 (réalisable si et ) :
• L’={R1 … Rm} ;
• L’’={Rm+1 … Rl}.
![Page 56: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/56.jpg)
Steinberg
Ri
Rk
Q’
u
v
v’
u’et
La procédure P2 est réalisable si
Nous plaçons les travaux Ri et Rk dans le coin inférieur gauche du diagramme de Gantt, nous en
déduisons le rectangle Q’ dans le coin opposé
Nous obtenons unnouveau problème
(Q’, L’) avec L’=L \ {Ri ; Rk}
![Page 57: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/57.jpg)
Steinberg
Rk
Q’
u
v
v’
u’et
La procédure P0 est réalisable si
Nous plaçons le travail Rk dans le coin inférieur gauche du diagramme de Gantt, nous en
déduisons le rectangle Q’ dans le coin opposé
Nous obtenons unnouveau problème
(Q’, L’) avec L’=L \ {Rk}
![Page 58: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/58.jpg)
Steinberg
Les 3 dernières procédures (P-1, P-2 et P-3) sont en fait les procédure P1, P2
et P3 appliquées à la transposée du problème (Q, L) autrement dit le
problème (Q’, L’) où les rôles des hauteurs et des largeurs sont échangés.
![Page 59: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/59.jpg)
Quelques heuristiques pour Cmax
Type de travaux
[Feitelson]
Rigide
Modulable
Politique d’ordonnancement [Casavant & Kuhl]
On-line Off-line
GrahamSJF
LJFXF
GrahamSJF
LJFXF
Allocation +
Strip-packingHeuristic : e.g.
Steinberg
Turek
MRT
Steinberg
![Page 60: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/60.jpg)
MRT (3/2)
L’algorithme essaye de calculer un ordonnancement ayant une durée de 3/2 D. Cet
algorithme retourne
On fixe une durée maximale DM , une durée minimale Dm et on calcule D = (DM
+ Dm)/2
Un ordonnancement correct
L’ordonnancement (la liste des affectations) est enregistré et
on recommence l’algorithme en recalculant D avec DM = D
Un ordonnancement incorrect
On recommence l’algorithme en recalculant D avec Dm = D
Condition d’arrêt de cette recherche dichotomique de D : DM – Dm <
![Page 61: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/61.jpg)
Etant donné un ensemblede travaux malléables où chaque travail possède sonpropre profil qui reflète sacapacité à être parallélisé
On met les petites tâchesséquentielles de côté
Etant donnée une durée D
Sac à dos On sépare les travaux en deux ensembles S1 et S2 sur deux étagères
M
32D
DEtant donné un ensemble Mde processeurs identiques
MRT (3/2)
![Page 62: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/62.jpg)
MRT (3/2) : le sac à dos
Sac à dos d’une capacité C
Lunette de soleilUtilité u1
Capacité c1
BoussoleUtilité u2
Capacité c2
BoissonUtilité u3
Capacité c3
… etc
http://eleves.ensmp.fr/P00/00rouaul/sacados/sacados_texte.html
Sac à dos :• maximiser i ui
• respecter i ci C
Ce problème est connu pour être NP-complet
![Page 63: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/63.jpg)
32
M
D
D
32
M
D
D
3 Transformations possibles :• S’il reste des processeurs libres sur la première étagère, essayer de descendre une tâche de la 2ème étage.
• Si deux tâches de la 2ème étagère ont des durées complémentaires sur 1 processeur alors les mettre l’une au dessus de l’autre dans S0.
• Si une tâches de S1 a une durée inférieure à ¾ D alors la mettre sur p -1 processeurs dans S0.
MRT (3/2)
![Page 64: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/64.jpg)
32
M
D
D
32
M
D
D
2 Transformations à effectuer :• On essaye de tasser l’ordonnancement en descendant les travaux de S2.• On ajoute les tâches séquentielles qui ont été mises de côté.
MRT (3/2)
![Page 65: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/65.jpg)
Autres recherches actuelles
![Page 66: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/66.jpg)
Les comms : duplication
3
1 2
4
5
3
1 2
41
6
6
4 5
3
4
6
1
2
5
Diminution du
makespan
![Page 67: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/67.jpg)
On-line vers off-line: regroupement
3/2 et Steinberg sontdes heuristiques off-line
Le fonctionnement d’IXIest orienté on-line
Regroupement des travaux
Avec un seuil surle nombre de travaux
Périodiquement
Avec un seuil sur laquantité cumulée
de travaux
Regroupement des travaux durant le fonctionnement
du batch précédent (Shmoys)
![Page 68: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/68.jpg)
Le raffinement d’ordonnancement
Durée
nombre deprocesseurs
![Page 69: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/69.jpg)
Le raffinement d’ordonnancement
Durée
nombre deprocesseurs
![Page 70: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/70.jpg)
sessions interactives et batchs
Evolution du nombre de travaux par heures du jour sur une semaine
0
20
40
60
80
100
120
140
160
180
200
220
240
260
280
300
320
340
360
380
400
1 6
11
16
21
26
31
36
41
46
51
56
61
66
71
76
81
86
91
96
10
1
10
6
11
1
11
6
12
1
12
6
13
1
13
6
14
1
14
6
15
1
15
6
16
1
16
6
Nu
mb
er
of
job
s
![Page 71: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/71.jpg)
sessions interactives et batchs
Part du cluster dédié aux batchs pendant les creux
(nuit, week end …)
Ordo 2Ordo 1
RegSep
Ordo 2Ordo 1
RegSep
Part du cluster dédié aux travaux travaux interactifs
pendant le jour
![Page 72: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/72.jpg)
La répartition de charge
![Page 73: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/73.jpg)
Cas de la dynamique moléculaire
Les forces de liaison
Les forces de rotation
Les forces de torsion (l’angle dièdre)
Energie de Coulomb en O(1/r)
+
+
+
+
-
Energie de Van Der Waals en O(1/r6)
![Page 74: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/74.jpg)
Le découpage en cubes
?
Pile de processeurs
• Calcul des forces d’interaction géométrique• Calcul des forces d’interaction non-liée• Calcul du mouvement par intégration numérique des équations de Newton
![Page 75: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/75.jpg)
Le découpage en cubes
![Page 76: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/76.jpg)
La bipartition récursive (1)
![Page 77: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/77.jpg)
La bipartition récursive (2)
![Page 78: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/78.jpg)
La bipartition récursive (n)
A l’issue de la bipartition, lorsqu’il ne reste qu’unseul processeur, nous lui affectons l’ensemble des boîtes
![Page 79: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/79.jpg)
La bipartition récursive fine (1)
![Page 80: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/80.jpg)
La bipartition récursive fine (2)
![Page 81: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/81.jpg)
La bipartition récursive fine (3)
![Page 82: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/82.jpg)
La bipartition récursive fine (4)
![Page 83: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/83.jpg)
Impact de la largeur de coupe
Variation de l'écart-type de la charge normalisée pour une coupe de largeur 0
0
10
20
30
40
50
60
0 500 1000 1500 2000
Numéro de l'expérience
Eca
rt-t
ype
de
la
ch
arg
e n
orm
ali
sée
![Page 84: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/84.jpg)
Impact de la largeur de coupe
Variation de l'écart-type de la charge normalisée pour une coupe de largeur 1
0
10
20
30
40
50
60
0 500 1000 1500 2000
Numéro de l'expérience
Eca
rt-t
ype
de
la
ch
arg
e n
orm
ali
sée
![Page 85: Informatique parallèle IP 06 : Lordonnancement. Description formelle](https://reader035.vdocuments.pub/reader035/viewer/2022062318/551d9d94497959293b8ca65f/html5/thumbnails/85.jpg)
Evolution of IXI: meta-clustering
StatisticsService
Internet
User
Incoming mails server (POP3…)
Scheduling Service
Information in XML format providing by
Ganglia sensors
ClusterIXI client
IXI server
Cluster Managing Service
Mailing Service
Monitoring Service
Storing Service
Connecting Service
Load balancing