Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
a.a. 2019-2020
2
Speed-up
Si definisce il rapporto T(1) su T(p)
T(1)
S(p)
T(p)
Lo speed up misura la riduzione del
tempo di esecuzione rispetto
all’algoritmo su 1 processore
S(p) p
SPEEDUP IDEALE
Sideale (p) p
3
Overhead totale Oh
T (1)
Sideale
( p) p
T ( p)
Oh = pT(p) – T(1)
T(p) = (Oh + T(1)) /p
OVERHEAD totale
4
Efficienza
Si definisce il rapporto…
S(p)
E(p)
p
EFFICIENZA IDEALE
Sideale ( p)
Eideale ( p) 1
p
5
Domanda
T(1)
Lo speed-up S( p) misura la riduzione del tempo di
T( p)
esecuzione dell’algoritmo sequenziale rispetto al tempo di esecuzione
dell’ algoritmo parallelo
6
PRIMA SCELTA
7
SECONDA SCELTA
T(1) = tempo di esecuzione del migliore
algoritmo sequenziale
Difficoltà:
• individuazione del “miglior” algoritmo sequenziale
• disponibilità di software che implementa tale algoritmo
8
Convenzione: prima scelta con efficienza
9
Domanda
Quando è possibile
ottenere
speed-up prossimi allo
speed-up ideale ?
10
Il tempo di esecuzione sequenziale T(1)
si può decomporre in 2 parti:
Ts Tc
T(1) = Ts + Tc
11
Esempio: Somma di n =4, T(1)= (n -1)tcalc =3tcalc
dell’algoritmo
parallelo su 2 1 addizione eseguita in sequenziale (Ts) da 1 processore al passo 2
processori
Ts = 1 tcalc
Operazione che deve essere
T(1) = Ts + Tc eseguita in sequenziale
Tc = 2 tcalc
T (1) (1 2 ) t 3t Operazioni che possono
calc calc
essere eseguite in parallelo
12
T (1 ) T s T c
0
Tempo
Ts Tc T(1)
Operazioni che Operazioni
devono essere eseguite eventualmente
da 1 processore parallelizzabili con
Calcoliamo il tempo impiegato
P processori
dall’algoritmo parallelo
con P processori, tenendo
presente che
Ts Tc / P T(P)
le operazioni relative alla parte
parallela
T sono ora seguite
c
T ( p) T concorrentemente
s p
dai P processori
13
Esempio: Somma di n =4 su p=2, T(1)= (n -1)tcalc =3tcalc
Ts = 1 tcalc
Operazione che viene
T(p) = Ts +Tc / p eseguita in sequenziale
Somma di n =4 su p=2,
T(1) =3 tcalc
T(2)= 2 tcalc
T (1) 3tcalc
S(2) 1,5 2 S ideale( p)
T ( p) 2tcalc
15
In generale MIMD-SM
16
In generale MIMD-DM
Il tempo di esecuzione di un algoritmo parallelo, distribuito su p
processori, comprende 3 componenti:
- Ts tempo per eseguire la parte seriale
- Tc/p tempo per eseguire la parte parallela
- Tcom costo di comunicazione con Tcom(p)≥0, p>1
17
Senza considerare le comunicazioni
T
T ( p) T c
T ( p ) (1 ) / p
s p
T (1) 1
S( p)
T ( p) 1
p
Legge di Ware (Amdahl)
18
Lo Speed–up
Analizziamo l’andamento dello speed-up (W-A)
all’aumentare del numero p di processori, ovvero per
p∞
1 1
S(p)
(1 ) p ∞
p
Il valore asintotico di
1
S(p) è
19
Esempio 1 (n fissato e p variabile)
Applichiamo la legge di Amdahl con n =32 e p =2, 4, 8, 16
20
Esempio 1 (n fissato e p variabile)
Applichiamo la legge di Amdahl con n =32 e p =2, 4, 8, 16
21
In sintesi
MA
Le prestazioni peggiorano!
22
Esempio 2 (n aumenta e p è fissato)
Applichiamo alla somma di n numeri
la legge di Amdahl con p =2 e n = 8, 16, 32, 64
23
Esempio 2 (n aumenta e p è fissato)
Applichiamo alla somma di n numeri
la legge di Amdahl con p =2 e n = 8, 16, 32, 64
24
Esempio 2 (n aumenta e p è fissato)
Applichiamo alla somma di n numeri
la legge di Amdahl con p =2 e n = 8, 16, 32, 64
1
S(p) p
(1 ) α 0
p Il valore asintotico di
0 0 S(p) è p
(Sideale ( p) p)
26
In sintesi
Fissando il numero p di processori e
aumentando la dimensione del
problema si possono ottenere
speed up prossimi a quello ideale
MA
non è possibile aumentare in
maniera indefinita la dimensione n
del problema:
le risorse (hardware) sono limitate!
27
Secondo la legge di Ware…
…
superato questo valore le prestazioni peggiorano!!!
GENERALIZZATA
1
S ( p) p 1
1
k 2 k
k
p
p
30
Esempio: somma di n numeri in parallelo (Ist)
n
4 è costante
p
n p α (1-α)/p S(p,n) E(p,n) La frazione di
8 2 0,14 0,86 1,75 0,875 operazioni
16 4 0,06 0,8 3 0,75 eseguite in
sequenziale
32 8 0,03 0,77 5,1 0,64
tende a zero!
64 16 0,01 0,76 9 0,56
31
Esempio: somma di n numeri in parallelo
Applichiamo la legge di Amdhal con p= 2, 4, 8, 16
Consideriamo quindi n= 8 , 16, 32, 64
n
4 è costante
p
n p α (1-α)/p S(p,n) E(p,n)
32
Esempio: somma di n numeri in parallelo
Applichiamo la legge di Amdhal con p= 2, 4, 8, 16
Consideriamo quindi n= 8 , 16, 32, 64
n
4 è costante
p
Lo speed up
n p α (1-α)/p S(p,n) E(p,n)
aumenta!
8 2 0,14 0,86 1,75 0,875
33
Esempio: somma di n numeri in parallelo
Applichiamo la legge di Amdhal con p= 2, 4, 8, 16
Consideriamo quindi n= 8 , 16, 32, 64
n
4 è costante
p
n S(p,n) E(p,n)
L’efficienza è
p α (1-α)/p
“quasi costante”!
8 2 0,14 0,86 1,75 0,875
34
Quindi…
Aumentando sia n che p,
con un rapporto fissato,
le prestazioni
dell’algoritmo parallelo
non degradano
Ma
aumentando sia n che p
cosa ci aspettiamo dall’algoritmo parallelo?
35
Considerazioni …
Se p=2 ci si aspetta di
calcolare nel tempo T(1,n) la
somma di 2n numeri
37
Conclusioni
T(1,pn) pT(1,n)
SS(p,n)
T(p,pn) T(p,np)
SPEEDUP SCALATO
38
Conclusioni
SS(p,n) T(1,n)
ES(p,n)
p T(p,pn)
EFFICIENZA SCALATA
39
Speedup ed Efficienza scalati
ES(p,n) = cost
40
Allora…
41
Domanda
OVVERO
T (1)
Sideale
( p) p
T ( p)
Oh = pT(p) – T(1)
T(p) = (Oh + T(1)) /p
OVERHEAD totale
43
Come calcolare l’isoefficienza?
S ( p ,n ) 1
S(p ,n ) 1
1 1
= ,n )
0 0
E ( p ,n ) E( p
0 0 1 1 p O (n , p )
p O (n ,p )
0 0 1 h 1 1
0 h
1 1
T ( 1, n ) T (1, n )
0 1
Oh(n1,p1 )
T( 1, n1 ) T( 1, n0 )
Oh(n0 ,p0 ) ISOEFFICIENZA
C 44
Calcoliamo l’isoefficienza nella somma
45
In generale…
46
La somma è un algoritmo scalabile?
C
n p log p
1 1 2 1
n0 p 0 log 2 p 0 p0 = 4 n0 = 64
p1 = 8 n1 = 3? x n0 = 192
p2 = 16 n2 = 8?x n0 = 512
C = (8 x 3) / (4 x 2) = 3
C = (16 x 4) / (4 x 2) = 8
47
La somma è un algoritmo scalabile?
C
n1 p 1 log 2 p 1
n0 p 0 log 2 p 0 p0 = 4 n0 = 64 T(4) = 17
p1 = 8 n1 =192 T(8) = 26
p2 = 16 n2 = 512 T(16) = 35
n
T(p)= ( -1 +log2 p) tcalc
p
48
somma di n numeri con p processori: isoefficienza
Calcoliamo l’efficienza secondo i T(p) calcolati
Efficienza
p
n 1 4 8 16
64 1.0 0.91 0.57 0.33
50