lisation
Parall lisation
thodologie de Parall
MMMM thodologie de
lisation
lisation
Parall
Parall
thodologie de
thodologie de
quentiels
Algorithmes S quentiels
ddddAlgorithmes S
quentiels
quentiels
Algorithmes S
Algorithmes S
Plan du cours
Plan du cours
Plan du cours
Plan du cours
lisation
parall lisation
1. Principe de parall
1. Principe de
lisation
lisation
parall
parall
1. Principe de
1. Principe de
2. Graphe de t ches
2. Graphe de t ches
2. Graphe de t ches
2. Graphe de t ches
3. Ordonnancement de t ches
3. Ordonnancement de t ches
3. Ordonnancement de t ches
3. Ordonnancement de t ches
parall lesleslesles
algorithmes parall
Complexit des des des des algorithmes
4. 4. 4. 4. Complexit
parall
parall
algorithmes
algorithmes
Complexit
Complexit
raux
sultats gggg nnnn raux
5. 5. 5. 5. RRRR sultats
rauxraux
sultats
sultats
lisation
parall lisation
1. Principe de parall
1. Principe de
lisation
lisation
parall
parall
1. Principe de
1. Principe de
Pour parall liser un algo sur une machine // donn e, on proc de comme suit :
(cid:1)
(cid:1)
(cid:1)
Partitionner lalgo en t ches (instructions ou groupes dinstructions) :
ce partitionnement peut tre fait automatiquement par programme ou
bien au cas par cas.
le graphe de pr c dence qui permet de d finir
Elaborer
les
contraintes temporelles pour lex cution des t ches et de rechercher
les t ches ind pendantes, susceptibles d tre ex cut es en parall le.
Ordonnancer ensuite les t ches sur les procs, en respectant les
contraintes de d pendances, ainsi que les contraintes mat rielles li es
larchitecture de la machine.
2
Remarque
(cid:1)
(cid:1)
(cid:1)
Un m me algo peut conduire plusieurs versions parall les
diff rentes suivant :
"
"
"
"
lacc s aux donn es,
le d coupage en t ches,
laffectation des t ches aux procs,
etc.
Certaines versions seront mieux adapt es une structure
dordinateurs.
Plusieurs facteurs peuvent influencer le choix de la meilleure (au sens
performances) version parmi toutes les versions parall les obtenues
pour la machine utilis e (voir plus tard).
3
2. Graphe de t ches
Publicité
2. Graphe de t ches
2. Graphe de t ches
2. Graphe de t ches
2.1. Notion de t che
(cid:1)
(cid:1)
(cid:1)
(cid:1)
t che est une unit de
Une
indivisible caract ris e
uniquement par son comportement ext rieur: entr es, sorties,
instructions et temps dex cution.
traitement
Le temps dex cution (ou dur e) dune t che est en g n ral la somme
de 2 termes: le temps de calcul et le temps de communications.
L tude des d pendances entre les t ches permet de construire un
syst me de pr c dence qui traduit le parall lisme interne lalgo.
Dans un tel syst me, 2 t ches sont soit li es par une relation de
leur ex cution est s quentielle) soit
pr c dence (dans ce cas
ind pendantes et leur ex cution peut tre effectu e en //.
4
2.2. Notion de granularit
Plusieurs d compositions diff rentes sont possibles pour un m me algo.
Exemple: Produit matriciel C=A*B
(cid:1)
Si nous prenons comme t ches les op rations l mentaires:
C(i,j) = C(i,j) + A(i,k) * B(k,j)
la granularit de la d composition est fine.
A B C
5
(cid:1)
Si chaque t che est le calcul dun l ment de C:
Pour k=1 n faire
C(i,j) = C(i,j) + A(i,k) * B(k,j)
la granularit de la d composition est moyenne.
A B C
6
(cid:1)
Si chaque t che correspond au calcul dune ligne ou dune colonne du
produit:
Pour j = 1 n faire
Pour k = 1 n faire
C(i,j) = C(i,j) + A(i,k) * B(k,j)
la granularit est grosse.
A B C
7
(cid:1)
Le choix de la meilleure d composition est un probl me difficile li aux
temps dex cution des t ches et larchitecture de la machine. Les
principaux facteurs de choix sont :
"
"
"
"
Le nombre de processeurs.
Le rapport entre unit de temps de communication et unit de
temps de calcul.
Les acc s m moire.
Etc.
8
2.3. Syst me de t ches
D finitions
(cid:1)
(cid:1)
Un syst me de t ches S=(T1,&,Tn,<<) est un ensemble de t ches
muni dune relation dordre partiel not e <<.
Ti << Tk (i`k) signifie que lex cution de la t che Ti doit tre termin e
avant que lex cution de Tk ne commence.
2 t ches Ti et Tk sont ind pendantes si elles ne modifient aucune
variable commune, sinon elles sont d pendantes.
Ti
Tk
ind pendantes
Ti
Tk
d pendantes
9
(cid:1)
(cid:1)
Les t ches Ti et Tk sont cons cutives sil nexiste aucune autre t che
Tj / Ti<<Tj<<Tk ou Tk<<Tj<<Ti.
Un syst me de t ches S=(T1,&,Tn,<<) est un syst me de pr c dence
si, pour tout couple de t ches cons cutives (Ti,Tk), une et une seule des
3 conditions suivantes est v rifi e :
"
"
"
Ti<<Tk.
Tk<<Ti.
Ti et Tk sont ind pendantes.
10
2.4. Graphe de pr c dence
D finition
(cid:1)
(cid:1)
(cid:1)
Le graphe de pr c dence G associ un syst me de pr c dence
S=(T1,&,Tn,<<) est d fini de la mani re suivante :
"
"
Publicité
Lensemble des sommets de G est lensemble des t ches de S.
Ti et Tk sont reli es par un arc ssi Ti et Tk sont cons cutives et
ordonn es par la relation <<.
Les contraintes de pr c dence qui lient les t ches ont un graphe de
connexion sans circuit (DAG : Directed Acyclic Graph).
En cas de d pendance, il faut respecter lordre s quentiel des t ches.
11
Construction du graphe de t ches
Exemple
Consid rons un algo compos de 8 t ches T1,&,T8 dont le syst me de
pr c dence associ est le suivant :
T1<<T3 T1<<T4 T1<<T5 T1<<T6 T1<<T7 T1<<T8
T2<<T3 T2<<T4 T2<<T5 T2<<T6 T2<<T7 T2<<T8
T3<<T7 T3<<T8
T4<<T6 T4<<T7 T4<<T8
T5<<T7
T6<<T8
12
En liminant les contraintes redondantes, on obtient lensemble de relations
suivantes:
T1<<T3 T1<<T4 T1<<T5
T2<<T3 T2<<T4 T2<<T5
T3<<T7 T3<<T8
T4<<T6 T4<<T7
T5<<T7
T6<<T8
13
Le graphe de pr c dence associ est le suivant :
T1 T2
T3 T4 T5
T6 T7
T8
14
3. Ordonnancement de t ches
3. Ordonnancement de t ches
3. Ordonnancement de t ches
3. Ordonnancement de t ches
3.1. Le probl me
(cid:1)
(cid:1)
(cid:1)
Dans un contexte
t ches (sous-
programmes, processus, fils dex cution, &) revient affecter chaque
t che :
informatique, ordonnancer des
Une date dex cution
Un processeur
"
"
(Sous contraintes de ressources ou non)
Le probl me de lallocation des t ches dun prog // un ensemble de
procs est tr s difficile.
On suppose ici quon connaisse les t ches (en particulier leur temps
dex cution ou une estimation de co t) et les relations de pr c dence
qui les lient entre elles.
15
3.2. Mod le de r f rence
(cid:1)
(cid:1)
Les t ches Tj (j=1..n) sont caract ris es par une dur e dex cution, et
ventuellement par une date au plut t ou une date au plus tard.
On sinterdit la pr emption: possibilit dinterrompre lex cution dune
t che commenc e.
3.3. Objectif
(cid:1)
Le plus courant objectif r aliser est de minimiser la fonction qui
repr sente le temps dex cution total (le makespan).
16
Exemple pr c dent avec p=3 et t ches identiques
un 1er ordonnancement peut tre repr sent par le diagramme de Gantt suivant :
T1 T2
Processeurs
T3 T4 T5
P3 T5 T7
T6 T7
P2 T2 T4 T6
Temps libre
(temps dinactivit )
P1 T1 T3 T8
Temps
Makespan (Cmax)
T8
Graphe de t ches Diagramme de Gantt associ
17
Exercice
Soit le code suivant :
For i=1,n
T che Ti : X(i) = B(i)/A(i,i)
For j=i+1,n
T che Ti,j : B(j) = B(j) A(j,i) * X(i)
Fin
Fin
1. Que fait-il un tel programme?
2. D terminer lordre s quentiel des t ches
3. Repr senter le graphe des t ches
18
des algorithmes parall lesleslesles
4. Complexit des algorithmes parall
4. Complexit
des algorithmes parall
des algorithmes parall
Publicité
4. Complexit
4. Complexit
(cid:1)
(cid:1)
(cid:1)
La complexit a t connue tre la plus importante mesure de
performances dun algorithme.
Lanalyse de la complexit // permet de mesurer lefficacit des algos //s
et de les comparer.
influen ant
la performance peuvent tre mesur s
Les crit res
quantitativement comme suit:
Temps dex cution.
"
Nombre de processeurs.
"
Le co t de lalgorithme ( = temps dex cution * nombre de
"
processeurs) .
19
(cid:1)
(cid:1)
Le type darchitecture // quon a suppos (MIMD m moire partag e)
est id alis au sens o pour valuer la vitesse dun algo //, on n glige
les temps de transfert des donn es.
On dit, sous ces hypoth ses, quun algo est optimal si son temps
dex cution est minimal parmi toutes les versions possibles.
Remarques
(cid:1)
Il peut exister plusieurs algos n cessitant des nombres diff rents de
procs qui sex cutent en temps optimal.
(cid:1)
//,
En algorithmique
suppl mentaire du Pb.
le nombre p de procs est un param tre
20
D finitions fondamentales
(cid:1)
(cid:1)
(cid:1)
(cid:1)
Le probl me fondamental de la parall lisation dune m thode de calcul
est de trouver un ordonnancement optimal pour affecter les t ches aux
procs en respectant le graphe de pr c dence, de telle fa on que lalgo
// sex cute en temps minimal (que lon note topt) sur un nombre infini de
procs.
Dans une phase ult rieure, d terminer le nombre minimum de procs
(popt) n cessaires pour effectuer lalgo en topt.
Enfin, tant donn un nombre p fix de procs, on doit tre en mesure
de trouver un algo optimal.
Les r sultats asymptotiques sont obtenus quand n -> (n tant la taille
du probl me).
21
(cid:1)
(cid:1)
On dit quun algo est asymptotiquement optimal quand E est max (E
tant lefficacit asymptotique).
Pour concevoir des algorithmes parall les fficaces, on doit consid rer
les r gles g n rales suivantes:
"
"
"
Le nombre de processeurs doit tre born par la taille du probl me.
Le temps dex cution parall le doit tre consid rablement inf rieur
au temps dex cution du meilleur algo s quentiel.
Le co t de lalgorithme est optimal. (attention: utiliser plus de
processeurs peut augmenter le co t de lalgo).
22
raux
sultats g nnnn raux
5. R5. R5. R5. R sultats g
raux
raux
sultats g
sultats g
5.1. D compositions du graphe de pr c dence
(cid:1)
(cid:1)
(cid:1)
(cid:1)
Supposons pour simplifier que toutes les t ches ont le m me temps
dex cution (on le prend gal 1). On parle alors de t ches UET (Unit
Execution Time).
Le temps dun chemin du graphe de pr c dence est la somme des
temps dex cution des t ches qui le composent.
Le plus long chemin du graphe de pr c dence est celui dont le temps
dex cution est le plus grand.
La hauteur H(G) du graphe des t ches est le nombre de t ches du plus
long chemin.
23
(cid:1)
On appellera d composition en niveaux du graphe des t ches,
lensemble :
D(G)={N1,&,NH(G)}
qui constitue une partition en H(G) sous-ensembles (niveaux) des
sommets de ce graphe v rifiant les conditions suivantes:
"
"
"
Le niveau 1 est constitu de t ches nayant aucun pr d cesseur.
Publicité
Le niveau k est constitu de t ches dont tous les pr d cesseurs sont
dans des niveaux inf rieurs et dont tous les successeurs sont dans
des niveaux sup rieurs.
Le niveau H(G) est constitu de t ches nayant aucun successeur.
Remarque
Un m me graphe peut admettre plusieurs d compositions en niveaux.
24
(cid:1) On
appellera d composition par pr d cesseur Dp(G)
la
d composition en niveaux suivante:
"
"
Le niveau 1 est constitu de toutes les t ches nayant aucun
pr d cesseur.
Pour k=2 H(G), le niveau k est constitu des t ches dont tous les
pr d cesseurs sont dans des niveaux inf rieurs et ayant au moins
un pr d cesseur dans le niveau k-1.
(cid:1)
Cette d composition est aussi appel e d composition au plus t t.
Exemple
Niveau(1) = {T1,T2}
Niveau(2) = {T3,T4,T5}
Niveau(3) = {T6,T7}
Niveau(4) = {T8}
25
(cid:1)
De m me, on appellera d composition par successeur Ds(G) la
d composition en niveaux suivante:
"
"
Le niveau H(G) est constitu des t ches nayant aucun successeur.
Pour k=H(G)-1 1, le niveau k est constitu des t ches dont tous les
successeurs sont dans des niveaux sup rieurs et ayant au moins un
successeur dans le niveau k+1.
Cette d composition est aussi appel e d composition au plus tard.
Exemple
Niveau(1) = {T1,T2}
Niveau(2) = {T4}
Niveau(3) = {T3,T5,T6}
Niveau(4) = {T7,T8}
26
Autres d compositions possibles :
Niveau(1) = {T1,T2}
Niveau(2) = {T3,T4}
Niveau(3) = {T5,T6}
Niveau(4) = {T7,T8}
Niveau(1) = {T1,T2}
Niveau(2) = {T4,T5}
Niveau(3) = {T3,T6}
Niveau(4) = {T7,T8}
27
(cid:1)
On appellera largeur dune d composition D(G) le maximum des
cardinaux des niveaux :
L(D) = max(|Nk|), pour k = 1..H(G)
(cid:1) On appellera en fin largeur L(G) du graphe le min des largeurs des
d compositions de G :
L(G) = min(L(D))
28
5.2. T ches UET
On tudie dans ce paragraphe le temps de calcul et le nombre de
processeurs optimaux (topt et popt) pour ex cuter un algo //.
D termination de topt et de popt
Th or me
(1) Avec un nombre illimit de procs, le temps topt dun algo // optimal est
gal au temps dex cution du plus long chemin du graphe des t ches,
c- -d H(G) (sans communications).
(2) Le nombre minimal de procs popt permettant de r aliser un algo
sex cutant en temps topt est gal la largeur L(G) du graphe des
t ches.
29
Exemple
Consid rons le graphe de t ches 8 t ches et supposons que toutes
les t ches sont UET.
Le plus long chemin (T1-T4-T6-T8 ou T2-T4-T6-T8) a un temps
dex cution = 4 et par cons quent topt = 4.
A chacune des 4 d compositions en niveaux correspond un algo //.
30
D composition par pr d cesseur D composition par successeur
sa largeur = 3
sa largeur = 3
P3 T5 T7
P2 T2 T4 T6
P3
T5 T7
P2 T2 T4 T6
P1 T1 T3 T8
P1 T1 T3 T8
31
Autres d compositions :
largeur = 2
largeur = 2
P2 T2 T4 T6 T8 P2 T2 T5 T6 T8
P1 T1 T3 T5 T7 P1 T1 T4 T3 T7
Do , popt = 2
32
Nombre fix de processeurs
(cid:1)
Probl me difficile (voir plus loin) !
33