09/01/2017
1
StéphaneVialle
Stephane.Vialle@centralesupelec.fr
http://www.metz.supelec.fr/~vialle
M2ILC– Parallélisme,systèmes distribués etgrille
Algorithmique distribuée
AlgorithmiqueDistribuée
1. ProduitdematricessurtoredePprocesseurs
2. NcorpssurunanneaudeP=q×q processeurs
3. Quicksortsurhypercube deP=2
dprocesseurs
ProduitdematricessurtoredePproc
Algorithmedistribué
A,B,C:nxn=Néléments
C=A.B
n
kkj
b
ik
a
ij
c
1
).(
O(Nbrd’opérations)=O(N3/2)
Quels
partitionnement
etcirculation?
sprocesseur PP
éléments
N
N
A
B
C
09/01/2017
2
0;0 0;1 0;2
1;0 1;1 1;2
2;0 2;1 2;2
0;0 0;1 0;2
1;0 1;1 1;2
2;0 2;1 2;2
éléments
de blocs
P
N
P
N
PP
éléments
N
N
sprocesseur PP
Partitionnement2Dunique
(opérandesetrésultatsaumêmeformat)
ProduitdematricessurtoredePproc
Algorithmedistribué
CirculationdesblocsdeAenligne
CirculationdesblocsdeBencolonne
Schémasdecirculation:
Chaqueprocesseurvoitpassertouteslesdonnéesutilesàsescalculs
A
B
C
ProduitdematricessurtoredePproc
Algorithmedistribué
0;0
0;0
0;1
0;1
0;2
0;2
1;0
1;0
1;1
1;1
1;2
1;2
2;0
2;0
2;1
2;1
2;2
2;2
C=A.B
n
k
kj
b
ik
a
ij
c
1
).(
Seulslesprocesseursdelapremière
diagonalesontsatisfaits!
Modifierlepartitionnementinitial
besoinsimultané desblocs
jk
B
ki
A
,
et
,
Problèmedeséquencement:
A
B
C
ProduitdematricessurtoredePproc
Algorithmedistribué
09/01/2017
3
Onconserveleprincipedupartitionnementen2D
Onconserveleschémadecirculation(Aenligne,Bencolonne)
Maisonchercheunpartitionnementinitialadapté
onplacelesdonnéesdePE(0;0),etonpropagelescontraintes
Démarche:
0;0
0;0
BlocsA(0;0)
etB(0;0)
placéssurPE(0;0)
PE(0;0)
ProduitdematricessurtoredePproc
Algorithmedistribué
0;0
0;0
0;1 0;2
1;0
2;0
Lesschémasdecirculationimposent:
•lesblocsdeAsurlapremièrelignedeprocesseurs
•lesblocsdeBsurlapremièrecolonnedeprocesseurs
Circulationenligne
verslagauche
Circulationen
colonneverslehaut
ProduitdematricessurtoredePproc
Algorithmedistribué
0;0
0;0 1;1 2;2
1;1
2;2
0;1 0;2
1;0
2;0
L’algorithmedeproduitmatricielimpose:
•lesblocsdeBsurlapremièrelignedeprocesseurs
•lesblocsdeAsurlapremièrecolonnedeprocesseurs
Blocscompatibles
jk
B
ki
A,
et
,
Blocscompatibles
jk
B
ki
A,
et
,
ProduitdematricessurtoredePproc
Algorithmedistribué
09/01/2017
4
Lesschémasdecirculationimposent:
•lesblocsdeAsurleslignesdeprocesseursrestantes
•lesblocsdeBsurlescolonnesdeprocesseursrestantes
1;1
1;1 2;2 3;3
2;2
3;3
0;0
0;0 1;1 2;2
1;1 1;2
2;1
1;0
0;2
2;2 2;0
0;1
2;1
1;2
0;1 0;2
1;0
2;0
Onvérifiesilesnouveaux
couplessontcompatibles…
Oui!Onatoujours:
jk
B
ki
A,
et
,
Blocscompatibles
ProduitdematricessurtoredePproc
Algorithmedistribué
1;1
1;1 2;2 3;3
2;2
3;3
0;0
0;0 1;1 2;2
1;1 1;2
2;1
1;0
0;2
2;2 2;0
0;1
2;1
1;2
0;1 0;2
1;0
2;0
Finalement:
• Partitionnementfixésurtouslesprocesseurs
•Touslescouplesdeblocssontcompatiblesàlapremièreétape
•Touslescouplesdeblocssontcompatiblesaprèschaquecirculation
PuisCalculcompletenétapes
P
Généralisation
Colonne0décaléede0cranverslehau
t
Colonne1décaléede1cranverslehau
t
Colonne2décaléede2cranverslehau
t
ProduitdematricessurtoredePproc
Algorithmedistribué
AlgorithmedeCanon:
Produitdematricesdeélémentssuruntoredeprocs.
P
P
N
N
0;00;10;2
1;01;11;2
2;02;12;2
1– Partitionnementdesmatricesen
éléments de blocs
P
N
P
N
PP
2–Prédécalagesinitiauxdesblocssurletoredeproc:
. crans de décalage : 1])-;0[( colonne -
, crans de décalage : 1])-;0[( ligne -
jPj
iPi
1
1
2
2
3‐ étapes{calculs:sommepartielledeC(i,j);
circulations:A(i,j)1cran,etB(i,j)1cran}
P
4– DernièrecirculationoupostdécalagesdeAetBsinécessaire.
ProduitdematricessurtoredePproc
Algorithmedistribué
09/01/2017
5
PseudoCodedel’algorithmedeCanonsurchaque processeur:
main()
{partitionnement();
predecalage();
barriere();
for (step=0; step < SQRT_P-1; step++) {
multiplication_locale();
circulation_ligne_colone();
barriere();
}
multiplication_locale();
postdecalage();
}
Postdécalage:
• nécessairesionsouhaiteréutiliserlesmatricespourdes
opérationsvariées(+,x,…)
ProduitdematricessurtoredePproc
Algorithmedistribué
1‐ Performancesavecmessagesbloquantsetsansrecouvrement :
gepostdécala ns;circulatio 1-P et calcul de étapesPdécalages;-pré
w
t
P
N
decalpost
t
w
t
P
N
decalpre
t
..2
..2
Hyp:Toutes lescommunicationspeuventsefaireenparallèle
Modélisationen«t
s+Q.tw»
•PréetPostdécalages:
w
t
P
N
P
decalpost
t
w
t
P
N
P
decalpre
t
..1.2
..1.2
dansunvraitoreunidirectionnel:
dansuncluster:
ProduitdematricessurtoredePproc
Modélisationdesperformances
gepostdécala ns;circulatio 1-P et calcul de étapesPdécalages;-pré
• Circulation:
w
t
P
N
circ
t..2
1
•Calcul:
w
t
P
N
decalpost
t
w
t
P
N
decalpre
t..2 :et ..2
•Préetpostdécalage:
flop
t
P
N
calc
t.
2/3
2/3
.2
1
w
t
P
N
P
flop
t
P
N
P
par
T.1.2.
2/3
.2)(
Doncsuruncluster,
avecdesmsgsbloquants:
1‐ Performancesavecmessagesbloquantsetsansrecouvrement :
ProduitdematricessurtoredePproc
Modélisationdesperformances
1 / 20 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !