Informatique parallèle IP 06 : Lordonnancement. Description formelle.

85
Informatique parallèle IP 06 : L’ordonnancement

Transcript of Informatique parallèle IP 06 : Lordonnancement. Description formelle.

Page 1: Informatique parallèle IP 06 : Lordonnancement. Description formelle.

Informatique parallèle

IP 06 : L’ordonnancement

Page 2: Informatique parallèle IP 06 : Lordonnancement. Description formelle.

Description formelle

Page 3: Informatique parallèle IP 06 : Lordonnancement. 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 … ?

Page 4: Informatique parallèle IP 06 : Lordonnancement. Description formelle.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Quelques algorithmes et heuristiques pour Cmax

Page 32: Informatique parallèle IP 06 : Lordonnancement. Description formelle.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Steinberg

u

Qv

?

…etc

a1

b1T1

b2

a2

T2

T3

a3

b3

L

avec

Page 51: Informatique parallèle IP 06 : Lordonnancement. Description formelle.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Autres recherches actuelles

Page 66: Informatique parallèle IP 06 : Lordonnancement. Description formelle.

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.

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.

Le raffinement d’ordonnancement

Durée

nombre deprocesseurs

Page 69: Informatique parallèle IP 06 : Lordonnancement. Description formelle.

Le raffinement d’ordonnancement

Durée

nombre deprocesseurs

Page 70: Informatique parallèle IP 06 : Lordonnancement. Description formelle.

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.

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.

La répartition de charge

Page 73: Informatique parallèle IP 06 : Lordonnancement. Description formelle.

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.

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.

Le découpage en cubes

Page 76: Informatique parallèle IP 06 : Lordonnancement. Description formelle.

La bipartition récursive (1)

Page 77: Informatique parallèle IP 06 : Lordonnancement. Description formelle.

La bipartition récursive (2)

Page 78: Informatique parallèle IP 06 : Lordonnancement. Description formelle.

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.

La bipartition récursive fine (1)

Page 80: Informatique parallèle IP 06 : Lordonnancement. Description formelle.

La bipartition récursive fine (2)

Page 81: Informatique parallèle IP 06 : Lordonnancement. Description formelle.

La bipartition récursive fine (3)

Page 82: Informatique parallèle IP 06 : Lordonnancement. Description formelle.

La bipartition récursive fine (4)

Page 83: Informatique parallèle IP 06 : Lordonnancement. Description formelle.

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.

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.

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