Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoAllegria Graziano Modificato 11 anni fa
1
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 06/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI
2
Algoritmi Paralleli e Distribuiti a.a. 2008/09 2 Interconnessione tramite Reti La comunicazione tra processori avviene passando attraverso opportuni canali direttamente dalla memoria locale di un processore a quella di uno o più processori adiacenti. Esempi di reti di interconnessione: Vettore Matrice (mesh) Albero binario completo Ipercubo etc
3
Algoritmi Paralleli e Distribuiti a.a. 2008/09 3 Broadcast su rete a Vettore Si adoperano N processori Input su P 0 Broadcast(x) begin P 0 :a 0 = x for i = 1 to N-1 do P i : a i = a i-1 end Tempo parallelo N xx 0 1 2 N-1
4
Algoritmi Paralleli e Distribuiti a.a. 2008/09 4 Broadcast su mesh Si adoperano RxC processori Input su P 0,0 Broadcast(x) begin P 0,0 :a 0,0 = x for j = 1 to C-1 do P 0,j : a 0,j = a 0,j-1 for i = 1 to R-1 do for j = 0 to C-1 pardo P i,j : a i,j = a i-1,j end Tempo parallelo C+R xx xx xx x x x x 0 1 2 C-1 0 1 2 R-1
5
Algoritmi Paralleli e Distribuiti a.a. 2008/09 5 Con n foglie e 2n-1 processori Input alla radice Broadcast(x) begin P 1 :a 1 = x for i = 0 to log n -1 do for j = 2 i to 2 i+1 -1 pardo P j : a 2j = a j a 2j+1 = a j end Tempo parallelo logaritmico Broadcast su albero binario a2a2 a4a4 a5a5 a3a3 a6a6 a7a7 a1a1
6
Algoritmi Paralleli e Distribuiti a.a. 2008/09 6 Si adoperano n=2 d processori Input su P 0 Broadcast(x) begin P 0 :a 0 = x for i = 0 to d-1 do for j = 0 to 2 i -1 pardo P j : a j+2 i = a j end Tempo parallelo d = log n Broadcast su ipercubo xx xx xx xx xx xx xx x 000 001 101 111 110 010 100 011
7
Algoritmi Paralleli e Distribuiti a.a. 2008/09 7 Somma su P-RAM EREW Si adoperano n processori Per semplicità assumiamo n potenza di 2 Somma(A) begin for i = 1 to log n do for j = 0 to n/2 i -1 pardo P j : A[ j ] = A[ j ] + A[ j+n/2 i ] return A[ 0 ] end Tempo parallelo logaritmico Questa tecnica è detta della prima metà 42741638 581012 1520 35
8
Algoritmi Paralleli e Distribuiti a.a. 2008/09 8 Somma su mesh Si adoperano RxC processori Ciascun processore ha un proprio valore nella variabile a Somma_Mesh() begin for i = 1 to R-1 do for j = 0 to C-1 pardo P i,j : a i,j = a i,j + a i-1,j for j = 1 to C-1 do P R-1,j : a R-1,j = a R-1,j + a R-1,j-1 return a R-1, C-1 end Tempo parallelo R+C aa a a
9
Algoritmi Paralleli e Distribuiti a.a. 2008/09 9 Somma su albero binario (1) Con n foglie e 2n-1 processori Input alle foglie output alla radice Numerazione dalla radice alle foglie Somma(x) begin for i = n to 2n-1 pardo P i :a i = read() /* input alle foglie */ for i = log n -1 to 0 do for j = 2 i to 2 i+1 -1 pardo P j : a j = a 2j + a 2j+1 return a 1 end Tempo parallelo logaritmico X 1 +…+x 4 X 1 +x 2 X 3 +x 4 X 5 +…+x 8 X 5 +x 6 X 7 +x 8 X 1 +…+x 8 x1x1 x2x2 x2x2 x3x3 x5x5 x6x6 x7x7 x8x8 P2P2 P1P1 P4P4 P8P8 P5P5 P6P6 P7P7 P3P3 P 15
10
Algoritmi Paralleli e Distribuiti a.a. 2008/09 10 X 1 +…+x 4 X 1 +x 2 X 3 +x 4 X 5 +…+x 8 X 5 +x 6 X 7 +x 8 X 1 +…+x 8 x1x1 x2x2 x2x2 x3x3 x5x5 x6x6 x7x7 x8x8 P 13 P 15 P9P9 P1P1 P 10 P 11 P 12 P 14 P8P8 Somma su albero binario (2) Con n foglie e 2n-1 processori Input alle foglie output alla radice Numerazione dalle foglie alla radice Somma(x) begin for i = 1 to n pardo P i :a i = read() /* input alle foglie */ for i = log n -1 to 0 do for j = 2 i to 2 i+1 -1 pardo P 2n-j : a 2n-j = a 2n-2j + a 2n-(2j+1) return a 1 end Tempo parallelo logaritmico
11
Algoritmi Paralleli e Distribuiti a.a. 2008/09 11 Si adoperano n=2 d processori Ciascun processore ha un proprio valore nella variabile a Somma_Ipercubo() begin for i = d-1 to 0 do for j = 0 to 2 i -1 pardo P j :a j = a j + a j+2 i return a 0 end Tempo parallelo d = log n Somma su ipercubo a2a2 a3a3 a0a0 a1a1 a6a6 a7a7 a4a4 a5a5
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.