Salta al contingut

    ↑ ↓ per moure't↵ per obrir

    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ó φ\varphi 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

    • TseqT_{seq} i TparT_{par}
    • Fracció paral·lelitzable φ\varphi
    • Model ideal amb PP processadors
    • Llei d'Amdahl
    Prova-hoLlei d'Amdahl
    4,71speed-up Sp
    59%eficiència Ep
    10sostre amb p → ∞

    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:

    • TseqT_{\text{seq}}: temps no paral·lelitzable (seqüencial).
    • TparT_{\text{par}}: temps paral·lelitzable.
    T=Tseq+Tpar.T = T_{\text{seq}} + T_{\text{par}}.

    Definim la fracció paral·lelitzable del programa com:

    φ=TparT1⇒1−φ=TseqT1.\varphi = \frac{T_{\text{par}}}{T_1} \qquad \Rightarrow \qquad 1 - \varphi = \frac{T_{\text{seq}}}{T_1}.

    Intuïtivament, φ\varphi mesura quina part del codi podria beneficiar-se del paral·lelisme. 1−φ1 - \varphi, en canvi, ens expressa quina fracció del programa ens frena d’obtenir un millor rendiment.

    Model ideal amb PP processadors: si suposem un repartiment perfecte de la part paral·lelitzable (sense desbalanceig ni costos addicionals):

    TP=Tseq+TparP=(1−φ) T1+φ T1P.T_P = T_{\text{seq}} + \frac{T_{\text{par}}}{P} = (1 - \varphi), T_1 + \varphi, \frac{T_1}{P}.

    Part paral·lelitzable (φ\varphi) gran: el tram TparT_{\text{par}} es reparteix entre P0…P3 en quatre trossos de Tpar/4T_{\text{par}}/4, i els trams TseqT_{\text{seq}} 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 φ\varphi és gran (quasi tot és paral·lelitzable), podem obtenir speedups elevats, però sempre acotats per 1−φ1 - \varphi.
    • Si φ\varphi és petita (part seqüencial gran), encara que augmentem molt PP, el speedup quedarà limitat.

    φ\varphi petit → TseqT_{\text{seq}} domina: de P=1P = 1 a P=8P = 8 el temps total gairebé no baixa. (figura al dossier, p. 10)