Upload
gul-marty
View
116
Download
5
Embed Size (px)
Citation preview
Informatique parallèle
IP 06 : L’ordonnancement
Description formelle
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 … ?
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
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)
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)
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.
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
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
Les travaux
L’ensemble des travaux T={T1, …, Tn}
Rigide Modulable(Moldable)
MalléableÉvolutif
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
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
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
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
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}
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
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
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
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
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.
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
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
Notation à 3 champs
Une notation pour spécifier le problème :
Machine Contrainte Critère
Exemples : P||Cmax, ou P|prec|Cmax
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 .
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
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
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
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
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
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
Quelques algorithmes et heuristiques pour Cmax
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
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
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)
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)
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
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
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
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)
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
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
Graham 66
m 12
Cmax=10 Cmax=19*
Cmax Cmax*
19 (2-0,1) x 10
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
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
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
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
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
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
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)
Steinberg
u
Qv
?
…etc
a1
b1T1
b2
a2
T2
T3
a3
b3
L
avec
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 :
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 ) :
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 ) :
Steinberg
v-v’
u-u’
Un nouveau sous-problème à résoudre
v’
v
u
u’
La procédure P1 (réalisable si ) :
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}.
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}
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}
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.
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
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 <
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)
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
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)
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)
Autres recherches actuelles
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
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)
Le raffinement d’ordonnancement
Durée
nombre deprocesseurs
Le raffinement d’ordonnancement
Durée
nombre deprocesseurs
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
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
La répartition de charge
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)
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
Le découpage en cubes
La bipartition récursive (1)
La bipartition récursive (2)
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
La bipartition récursive fine (1)
La bipartition récursive fine (2)
La bipartition récursive fine (3)
La bipartition récursive fine (4)
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
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
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