Anda di halaman 1dari 22

Calcul de nalt performan

Adaptarea algoritmilor la puterea de calcul

Parametri de performan
TP(n) = Timpul de executie paralela cu p procesoare a unui algoritm corespunzator unei probleme de dimensiune n Ts (n)= Timpul de executie sequentiala L = Factorul de ncarcare (L) al unei probleme = n/p S(n) = Accelerarea = Ts(n)/Tp(n) pentru cel mai bun Ts(n)) E(n) = Eficienta = S(n)/p sau E(n) = Ts(n)/(p Tp(n) ) C(n) = Costul = pTP(n)

Adunarea a 16 numere intregi pe


un hipercub cu 4 dimensiuni Primul si al II-lea pas de comunicare

Copyright (r) 1994 Benjamin/Cummings Publishing Co.

Al III-lea si al IV-lea pas de comunicare

Copyright (r) 1994 Benjamin/Cummings Publishing Co.

Acumularea sumei in procesorul


0 dupa comunicarea finala

Copyright (r) 1994 Benjamin/Cummings Publishing Co.

Pseudocd
proc adunare1 n, d, a, s, sr /* n = 2m */ s a[id] masca 0 for i = 0 to m-1 if ((id AND masca) = 0) if ( (id and 2i) = 0 ) then sursa = id XOR 2i primeste(sr, sursa) s s + sr else destinatie = id XOR 2i trimite(s, destinatie) masca = masca XOR 2i end

Adaptarea algoritmilor la puterea de calcul


Uneori este usor de proiecatat algoritmi eficienti presupunand un numar mare de procesoare (p =n sau p=n2). Totusi numarul procesoarelor intr-un sistem de calcul paralel este limitat si in cele mai multe cazuri relativ mic. Pentru a rezolva o astfel de contradictie se foloseste tehnica emularii .

Exemplul 1 : Plasa

Copyright (r) 1994 Benjamin/Cummings Publishing Co.

Exemplul 2 : Hipercubul
Se are in vedere constructia recursiva

Copyright (r) 1994 Benjamin/Cummings Publishing Co.

Adunarea a 16 numere
Simularea primului pas de comunicare
a 16 procesoare prin 4 procesoare

Subpasul 1

Subpasul 2

Copyright (r) 1994 Benjamin/Cummings Publishing Co.

Simularea primului pas de


comunicare a 16 procesoare prin 4 procesoare - Continuare

Subpasul 3

Subpasul 4

Copyright (r) 1994 Benjamin/Cummings Publishing Co.

Simularea pasului al doilea de


comunicare a 16 procesoare prin 4 procesoare

Subpasul 1

Subpasul 2

Copyright (r) 1994 Benjamin/Cummings Publishing Co.

Simularea pasului al doilea de


comunicare a 16 procesoare prin 4 procesoare - Continuare

Subpasul 3

Subpasul 4

Copyright (r) 1994 Benjamin/Cummings Publishing Co.

Simularea pasului al III-lea de


comunicare a 16 procesoare prin 4 procesoare

Subpasul 1

Subpasul 2

Copyright (r) 1994 Benjamin/Cummings Publishing Co.

Simularea pasului al III-lea de


comunicare a 16 procesoare prin 4 procesoare

Copyright (r) 1994 Benjamin/Cummings Publishing Co.

Rezultatul final

Copyright (r) 1994 Benjamin/Cummings Publishing Co.

Complexitatea
Primii log p pasi necesita ((n/p) log p) timp paralel Ultimii log n - log p pasi necesita (n/p) timp Costul C = (n log p) (costul nu este optimal)

Pseudocd
proc adunare2 n, p, d, a, s, sp, sr /* n = 2m, p = 2d */ for j = 0 to 2m-d-1 sp[j] a[j2d+id] masca 0 for i = 0 to d-1 for j = 0 to 2m-d-1 if ((id AND masca) = 0) if ( (id and 2i) = 0 ) then sursa = id XOR 2i primeste(sr, sursa) sp[j] sp[j] + sr else destinatie = id XOR 2i trimite(sp[j], destinatie) masca = masca XOR 2i s0 if (id = 0) for j = 0 to 2m-d -1 s s + sp[j]; end

Solutie optimala

Complexitatea
Prima faza necesita (n/p) timp paralel Faza a doua necesita (logp) timp paralel Costul C = (n+plogp) Optimal cand n= (plogp)

Pseudocd
proc adunare3 n, p, d, a, s, sr /* n = 2m, p = 2d */ s0 for j = 0 to 2m-d -1 s s + a[id 2m-d +j]; masca 0 for i = 0 to d-1 if ((id AND masca) = 0) if ( (id and 2i) = 0 ) then sursa = id XOR 2i primeste(sr, sursa) s s + sr else destinatie = id XOR 2i trimite(s, destinatie) masca = masca XOR 2i end

Bibliografie
1.

2.

3.

M. Craus, (2010), Algoritmi Paraleli i Distribuii, note de curs format electronic V. Kumar, A. Grama A. Gupta &G Karypis, (2003), Introduction to Parallel Computing: Design andAnalysis of Algorithms, Addison Wesley Murray Cole (Edinburgh University) Note de curs

Anda mungkin juga menyukai