Mesurar el paral·lelisme · 2.2
Fracció paral·lelitzable i llei d'Amdahl
Separes el temps en part seqüencial i part paral·lelitzable. La fracció et diu quina part del codi es pot beneficiar del paral·lelisme, i la llei d'Amdahl, fins on pot arribar el guany.
Conceptes clau
- i
- Fracció paral·lelitzable
- Model ideal amb processadors
- Llei d'Amdahl
Sp = 1 / ((1 − φ) + φ/p). La part que no es pot paral·lelitzar posa un sostre: encara que tinguis infinits processadors, no passaràs mai de 1/(1 − φ).
real ideal (Sp = p) sostre
Separarem el temps d’execució en dues parts:
- : temps no paral·lelitzable (seqüencial).
- : temps paral·lelitzable.
Definim la fracció paral·lelitzable del programa com:
Intuïtivament, mesura quina part del codi podria beneficiar-se del paral·lelisme. , en canvi, ens expressa quina fracció del programa ens frena d’obtenir un millor rendiment.
Model ideal amb processadors: si suposem un repartiment perfecte de la part paral·lelitzable (sense desbalanceig ni costos addicionals):
Part paral·lelitzable () gran: el tram es reparteix entre P0…P3 en quatre trossos de , i els trams es queden a P0. (figura al dossier, p. 10)
Llei d’Amdahl: el guany del paral·lelisme està limitat per la part seqüencial del programa:
- Si és gran (quasi tot és paral·lelitzable), podem obtenir speedups elevats, però sempre acotats per .
- Si és petita (part seqüencial gran), encara que augmentem molt , el speedup quedarà limitat.
petit → domina: de a el temps total gairebé no baixa. (figura al dossier, p. 10)