Sources de parallélisme

Parall lisme de donn es, de t ches, et de flux · course

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

p=n

Tn=1

Publicité

Sn=T1/Tn= n

En= Sn/p= 1

Parallélisme de tâches

t1 : a<- a+2

t2 : b<- b-4

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)

Publicité

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

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

Publicité

O1(i) : A(i)+2

O2(i) : …..*B(i)

O3(i) : …….../3 ----→ C(i)

P1 (O1)

P2(O2)

P3(O3)

1 2 3 4 5

O1(1) O1(2) O1(3) O1(4) ……

O2(1) O2(2) O2(3)

Publicité

O3(1) ->C(1) O3(2)

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