Sources de parallélisme
Parallélisme de données
Pour i de 1 à n faire
A(i) <- A(i)+4
Fin Pour
On parallélise la boucle ‘Pour’ : toutes ses itérations sont parallèles
T1=3n
Publicité
p=n
Tn=1
Sn=T1/Tn= n
En= Sn/p= 1
Parallélisme de tâches
t1 : a<- a+2
t2 : b<- b-4
Publicité
t3 : d<- d+9
t4 : c<- a*b-d
Ici t1 ; t2 et t3 peuvent se faire en parallèle car indépendantes et t4 ne peut se faire que qu’après car elle utilise des variables que t1,t2 et t4 modifient.
T1=5 (une opération coûte 1 unité de temps)
p=3
T3=3 (1 unité de tempspour t1,t2 et t3 simultanément puis 2 unités pour t4)
S3=T1/T3= 5/3
Publicité
E3= S3/3= 5/9
Parallélisme de flux
Pour i de 1 à n faire
C(i)<-((A(i)+2)*B(i))/3
Fin Pour
On définit les 3 opérations O1,O2 et O3 pour chaque itération qui seront affectées respectivement aux processeurs P1,P2 et P3
O1(i) : A(i)+2
Publicité
O2(i) : …..*B(i)
O3(i) : …….../3 ----→ C(i)
P1 (O1) P2(O2) P3(O3)
1 O1(1) 2 O1(2) O2(1) 3 O1(3) O2(2) O3(1) ->C(1) 4 O1(4) O2(3) O3(2) 5 ……
O1(n) O2(n-1) O3(n-2)
O2(n) O3(n-1) O3(n) -> C(n) T1= 3*n p=3 Tp = n+(p-1) Dans ce cas T3 = n+2 S3= T1 /T3 =3n/(n+2) presque 3 E3= S3/p =3n/3(n+2) = n/(n+2) presque 1