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

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

Informatique parallèle

Présentations similaires


Présentation au sujet: "Informatique parallèle"— Transcription de la présentation:

1 Informatique parallèle
IP 06 : L’ordonnancement

2 Description formelle

3 Le problème 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 … ? 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é

4 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

5 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)

6 Les machines Processeurs identiques
Tous les processeurs ont la même vitesse de fonctionnement Processeurs uniformes Les processeurs ont une vitesse de fonctionnement différente On 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)

7 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.

8 Les machines Exemple d’information sur la « fiabilité » : Rosenberg :
Affecter le plus gros travail En utilisant la probabilité d’absence afin de minimiser la destruction prématurée du travail

9 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 contraintes supplémentaires

10 L’ensemble des travaux T={T1, …, Tn}
Les travaux L’ensemble des travaux T={T1, …, Tn} Rigide Évolutif Modulable (Moldable) Malléable

11 L’ensemble des travaux T={T1, …, Tn}
Les travaux L’ensemble des travaux T={T1, …, Tn} Rigide Évolutif Modulable (Moldable) Malléable Nombre de processeurs Durée Le nombre de processeurs est écrit en dur dans le code, donc la durée est indirectement fixée (en partie)

12 L’ensemble des travaux T={T1, …, Tn}
Les travaux L’ensemble des travaux T={T1, …, Tn} Rigide Évolutif Modulable (Moldable) Malléable Phase 5 Phase 4 Un 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). Phase 3 Durée Phase 2 Phase 1

13 L’ensemble des travaux T={T1, …, Tn}
Les travaux L’ensemble des travaux T={T1, …, Tn} Rigide Évolutif Modulable (Moldable) Malléable 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

14 L’ensemble des travaux T={T1, …, Tn}
Les travaux L’ensemble des travaux T={T1, …, Tn} Rigide Évolutif Modulable (Moldable) Malléable 1 machines en moins Le nombre de processeurs peut être modifié au cours du fonctionnement afin de s’adapter à un ajout de machines ou des pannes 7 machines en plus Fonctionnement Initial

15 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}

16 Les travaux Son fonctionnement peut être interrompu (les informations relatifs à ce fonctionnement – le contexte – sont sauvegardés pour pouvoir être re-utilisé lors de la reprise) Un travail Tj peut être pré-emptable. Une souplesse supplémentaire dans l’ordonnancement Le coût du changement de contexte Modification du programme, capacité de l’OS …etc 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 Un travail Tj peut être déplaçable. 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

17 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 Surcoût dues aux communications Durée Partie rentable Nombre de processeurs

18 Les travaux Un travail Tj est constitué de tâches entre lesquelles il existent des relations de précédence : Ordonnancement à 2 niveaux : Entre les travaux Entre les tâches dans un travail Durée Nombre de processeurs

19 Les critères d’optimalité
Le critère d’optimalité : que souhaite-t-on optimiser (minimiser ou maximiser) ?  La longueur de l’ordonnancement (makespan), notée Cmax Un ordonnancement quelconque Un ordonnancement optimal

20 Les critères d’optimalité
Le critère d’optimalité : que souhaite-t-on optimiser (minimiser ou maximiser) ?  La moyenne des dates de fin, notée  La moyenne des dates de fin pondérées, notée 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.

21 Les critères d’optimalité
Le critère d’optimalité : que souhaite-t-on optimiser (minimiser ou maximiser) ?  La moyenne des temps de réponse, notée 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 travaux pendant l’exécution du batch précédent

22 Les critères d’optimalité
Le critère d’optimalité : que souhaite-t-on optimiser (minimiser ou maximiser) ?  L’écart-type sur la charge des machines, notée 3 machines travaillent plus que les autres Toutes les machines ont la même charge de travail

23 Notation à 3 champs a | b | g
Une notation pour spécifier le problème : Machine Contrainte Critère Exemples : P||Cmax, ou P|prec|Cmax

24 Ratio de compétitivité
Critère d’un ordonnancement donné (souvent makespan) Même critère d’un ordonnancement optimal

25 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 : 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 Le séquencement est la détermination du moment où s’accomplira le travail sur les processeurs affectés à son exécution

26 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

27 Le bin-packing 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 ? Ce problème peut modéliser le problème de « mise en barre » qu’on rencontre en chaudronnerie 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

28 Casavant et Kuhl Approchée Heuristique Sous-optimale Optimale
Coopérative Non coopérative Distribuée Centralisée Dynamique Gloutonne Itérative Statique Allocation des tâches

29 Nous prenons les décisions au fur et à mesure de l’arrivée des travaux
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

30 Nous essayons de trouver un bon arrangement
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

31 Quelques algorithmes et heuristiques pour Cmax

32 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) 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

33 Quelques heuristiques pour Cmax
Politique d’ordonnancement [Casavant & Kuhl] On-line Off-line Type de travaux [Feitelson] Rigide Modulable Graham SJF LJF XF Graham SJF LJF XF Strip-packing Heuristic : e.g. Steinberg Allocation + Turek Graham SJF LJF XF MRT

34 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 Cj Dans le cas présent, cette somme est égale à =56. Tout autre ordonnancement présentera une somme des Cj supérieure ou égale à 56. Par exemple, si on permute les deux premiers travaux, on =57 Dans le cas présent, cette somme est égale à =56. Tout autre ordonnancement présentera une somme des Cj supérieure ou égale à 56. Par exemple, si on permute les deux premiers travaux, on =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 la durée par rapport au nombre de processeurs (on part du principe qu’il faut libérer rapidement les processeurs occupés)

35 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)

36 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 sont ensuite ré-injectés dans le nouvel ordre dans le diagramme de Gantt

37 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

38 eXpension Factor (XF) XF (eXpension Factor) classe les travaux par ordre décroissant de leur facteur d’expansion défini par , ce qui permet de tenir compte 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 et La durée de traitement estimée des travaux

39 Le backfilling 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 : Travaux dans la file d’attente (dans l’ordre d’arrivée) 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) 2 4 1 3 Backfilling conservateur Backfilling conservateur (EASY)

40 Quelques heuristiques pour Cmax
Type de travaux [Feitelson] Rigide Modulable Politique d’ordonnancement [Casavant & Kuhl] On-line Off-line Graham SJF LJF XF Allocation + Strip-packing Heuristic : e.g. Steinberg Turek MRT

41 Graham 66 Cette heuristique a été proposée par Graham en Cette heuristique est aussi connue 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. Dans le cas on-line, nous essayons de démarrer les travaux dès qu’ils arrivent s’il y a suffisamment de processeurs sinon ils sont stockés dans la liste des travaux prêts Dans le cas off-line, nous prenons les travaux dans l’ordre en fonction du lien de précédence 2 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) 1 3

42 Graham 66 Cmax   Cmax * 19  (2-0,1) x 10 Cmax=10 * Cmax=19

43 Graham 66 Cmax   Cmax ? * pi m Cmax  et Cmax  max pi * *
Cmax = max (ri + pi)  K tel que Cmax = rk + pk (Tk est le dernier travail à être exécuté) pi m rk  Toutes les machines sont occupée à la date rk donc i  k pi m pi m pk m Cmax  pk  Cmax  pk i  k 1 m Cmax  pk  Cmax  Cmax + ( ) pk * 1 m Cmax  pk  Cmax  Cmax + ( ) Cmax * * 1 m  = 2 -

44 Graham 66 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 10 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 7 6 8 9 10 2 3 5 4 T1 (1) T6 (4) T7 (4) T8 (4) T9 (4) T10 (9) T2 (3) T3 (2) T4 (2) T5 (2) 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 T1 (1) 13 P1 P2 P3

45 Graham 66 13 13 1ère anomalie de Graham : Si on ajoute un processeur,
2 3 4 5 8 7 6 9 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) 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 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 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) 1ère anomalie de Graham : Si on ajoute un processeur, le makespan peut augmenter

46 Graham 66 13 13 2ème anomalie de Graham : Si on diminue la durée des
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) 10 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) P1 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 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 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) 2ème anomalie de Graham : Si on diminue la durée des travaux de 1 unité, le makespan peut augmenter

47 Graham 66 13 13 3ème anomalie de Graham : Si on relâche certaines
8 7 9 2 3 5 4 10 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 13 P1 P2 P3 1 6 8 7 9 10 2 3 5 4 T1 (1) T10 (9) T6 (4) T7 (4) T8 (4) T9 (4) T2 (3) T3 (2) T4 (2) T5 (2) 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) 3ème anomalie de Graham : Si on relâche certaines contraintes de précédence, le makespan peut augmenter

48 Quelques heuristiques pour Cmax
Type de travaux [Feitelson] Rigide Modulable Politique d’ordonnancement [Casavant & Kuhl] On-line Off-line Graham SJF LJF XF Allocation + Strip-packing Heuristic : e.g. Steinberg Turek MRT

49 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é du Traitement : par exemple, si on utilise une cisaille, la coupe se déroule sur toute la longueur (ou la largeur) de la tôle mère (ou d’une partie de cette tôle)

50 Steinberg ? …etc a1 b1 T1 b2 a2 T2 T3 a3 b3 L u Q v avec

51 Steinberg Pour résoudre le problème (Q,L), Steinberg a défini 7 procédures qui peuvent effectuer 2 types de traitement : 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.

52 Steinberg u v v’ u/2 La procédure P1 (réalisable si ) :
Travaux classés par le nombre de processeurs utilisés dans l’ordre décroissant u/2 v v’ Nous plaçons les travaux dans le coin inférieur gauche du diagramme de Gantt tant que le nombre de processeurs est supérieur à u/2 Nous obtenons une pile de travaux ayant une hauteur v’

53 Steinberg u v v’ u’ Les travaux restants sont classés par durée dans
La procédure P1 (réalisable si ) : v’ v u Les travaux restants sont classés par durée dans l’ordre décroissant u’ 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’

54 Un nouveau sous-problème à résoudre
Steinberg La procédure P1 (réalisable si ) : v’ v u u’ u-u’ v-v’ Un nouveau sous-problème à résoudre

55 Steinberg La procédure P3 (réalisable si et ) :
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 . Nous scindons la liste L en deux sous-listes : L’={R1 … Rm} ; L’’={Rm+1 … Rl}.

56 Steinberg Ri Rk Q’ u v v’ u’ La procédure P2 est réalisable si et
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 un nouveau problème (Q’, L’) avec L’=L \ {Ri ; Rk}

57 Steinberg Rk Q’ u v v’ u’ La procédure P0 est réalisable si et
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 un nouveau problème (Q’, L’) avec L’=L \ {Rk}

58 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.

59 Quelques heuristiques pour Cmax
Type de travaux [Feitelson] Rigide Modulable Politique d’ordonnancement [Casavant & Kuhl] On-line Off-line Graham SJF LJF XF Allocation + Strip-packing Heuristic : e.g. Steinberg Turek MRT

60 MRT (3/2) On fixe une durée maximale DM , une durée minimale Dm
et on calcule D = (DM + Dm)/2 L’algorithme essaye de calculer un ordonnancement ayant une durée de 3/2 D. Cet algorithme retourne Un ordonnancement correct Un ordonnancement incorrect L’ordonnancement (la liste des affectations) est enregistré et on recommence l’algorithme en recalculant D avec DM = D On recommence l’algorithme en recalculant D avec Dm = D Condition d’arrêt de cette recherche dichotomique de D : DM – Dm < 

61 On met les petites tâches
MRT (3/2) Etant donné un ensemble de travaux malléables où chaque travail possède son propre profil qui reflète sa capacité à être parallélisé On met les petites tâches séquentielles de côté Sac à dos On sépare les travaux en deux ensembles S1 et S2 sur deux étagères Etant donnée une durée D 3 2 D Etant donné un ensemble M de processeurs identiques M

62 MRT (3/2) : le sac à dos Sac à dos : maximiser  i ui
… etc Lunette de soleil Utilité u1 Capacité c1 Boussole Utilité u2 Capacité c2 Boisson Utilité u3 Capacité c3 Sac à dos : maximiser  i ui respecter  i ci  C Ce problème est connu pour être NP-complet Sac à dos d’une capacité C

63 MRT (3/2) 3 Transformations possibles : D
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. 3 2 D Si une tâches de S1 a une durée inférieure à ¾ D alors la mettre sur p -1 processeurs dans S0. M

64 MRT (3/2) 2 Transformations à effectuer : D M
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é. 3 2 M D

65 Autres recherches actuelles

66 Les comms : duplication
3 1 2 4 5 6 Diminution du makespan

67 On-line vers off-line: regroupement
3/2 et Steinberg sont des heuristiques off-line Le fonctionnement d’IXI est orienté on-line Regroupement des travaux Avec un seuil sur la quantité cumulée de travaux Regroupement des travaux durant le fonctionnement du batch précédent (Shmoys) Avec un seuil sur le nombre de travaux Périodiquement

68 Le raffinement d’ordonnancement
Durée nombre de processeurs

69 Le raffinement d’ordonnancement
Durée nombre de processeurs

70 sessions interactives et batchs

71 sessions interactives et batchs
Ordo 2 Ordo 1 Reg Sep Sep Reg Ordo 1 Ordo 2 Part du cluster dédié aux travaux travaux interactifs pendant le jour Part du cluster dédié aux batchs pendant les creux (nuit, week end …)

72 La répartition de charge

73 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)

74 ? 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

75 Le découpage en cubes

76 La bipartition récursive (1)

77 La bipartition récursive (2)

78 La bipartition récursive (n)
A l’issue de la bipartition, lorsqu’il ne reste qu’un seul processeur, nous lui affectons l’ensemble des boîtes

79 La bipartition récursive fine (1)

80 La bipartition récursive fine (2)

81 La bipartition récursive fine (3)

82 La bipartition récursive fine (4)

83 Impact de la largeur de coupe

84 Impact de la largeur de coupe

85 Evolution of IXI: meta-clustering
Load balancing Statistics Service Internet User Incoming mails server (POP3…) Scheduling Service Information in XML format providing by Ganglia sensors Cluster IXI client IXI server Cluster Managing Service Mailing Service Monitoring Service Storing Service Connecting Service


Télécharger ppt "Informatique parallèle"

Présentations similaires


Annonces Google