Ir al contenido

Amdahl y Gustafson

Tiempo secuencial normalizado a 1: fsf_s = fracción secuencial, fpf_p = fracción paralelizable, fs+fp=1f_s+f_p=1.

Problema de tamaño fijo: ¿qué tan rápido lo resuelvo con pp procesadores?

Tp=fs+fppS=1fs+fp/pE=1p(fs+1−fsp)lim⁡p→∞S=1fsT_p=f_s+\frac{f_p}{p}\qquad S=\frac{1}{f_s+f_p/p}\qquad E=\frac{1}{p\left(f_s+\frac{1-f_s}{p}\right)}\qquad \lim_{p\to\infty}S=\frac{1}{f_s}

Si el 10 % es secuencial, nunca pasarás de 10× aunque uses un millón de núcleos.

Carrera: 1 procesador vs p procesadores

Rojo = parte secuencial (solo P0 trabaja, el resto espera); azul = parte paralelizable repartida.

Secuencial (1 procesador)
P0
Paralelo (4 procesadores)
P0
P1
P2
P3
t = 0
Tₛ1
Tₚ0.4
S2.5
E0.625
tope 1/f_s5
Tp=fs+fpp, S=1fs+fp/pT_p=f_s+\tfrac{f_p}{p},\ S=\tfrac{1}{f_s+f_p/p}. Con más procesadores la barra azul se encoge, pero la roja no: S nunca pasa de 1/f_s.

Amdahl vs Gustafson

Mueve la fracción secuencial y observa el techo de Amdahl frente al crecimiento lineal de Gustafson.

Amdahl S(p)8.77
Amdahl E(p)0.137
Límite 1/f_s10
Gustafson S(p)57.7
Gustafson E(p)0.902
Speedup S(p) (ejes log)
11010010001101001000pS1/f_s = 10p=64
Amdahl (strong)Gustafson (weak)Ideal S = p
Eficiencia E(p) = S/p
00.20.40.60.811101001000pEp=64
AmdahlGustafson
Amdahl: S=1fs+fpp  →p→∞  1fsGustafson: S=fs+p fp\text{Amdahl: } S=\frac{1}{f_s+\frac{f_p}{p}}\;\xrightarrow{p\to\infty}\;\frac{1}{f_s} \qquad \text{Gustafson: } S=f_s+p\,f_p

Un algoritmo se paraleliza en 1000 procesos: (a) totalmente paralelizable, (b) 50 % paralelizable, (c) no paralelizable. Calcule SS y EE en strong y weak scaling (α=1\alpha=1) y describa la escalabilidad.

Ver solución
CasoStrong SSStrong EEWeak SSWeak EE
(a) fp=1f_p=1fpfp/p=p=1000\dfrac{f_p}{f_p/p}=p=10001fpp=pf_p p=p1
(b) fp=0.5f_p=0.510.5+0.5/p=2pp+1≈2\dfrac{1}{0.5+0.5/p}=\dfrac{2p}{p+1}\approx2≈0.002\approx0.002fs+fpp=p+12≈500f_s+f_p p=\dfrac{p+1}{2}\approx500≈0.5\approx0.5
(c) fp=0f_p=011/p1/p11/p1/p

(a) eficiencia constante: escalable en ambos casos. (b) con weak scaling sube mucho el speedup y la eficiencia: más escalable. (c) la eficiencia cae con pp: no es escalable.

Autoevaluación

0/4 correctas · 0 respondidas
1. fs=0.05f_s=0.05. Speedup máximo según Amdahl:
2. Con Gustafson, fs=0.1f_s=0.1, p=100p=100: S=S=
3. Con Amdahl, fs=0.1f_s=0.1, p=100p=100: S≈S\approx
4. ¿Por qué la eficiencia en strong scaling cae con más nodos y en weak se mantiene?

Fuente ·estudio/03_Amdahl_Gustafson.md §2–3 · U2.1-Diseño_en_paralelo-performance.pdf · U3.5 Ejercicios de repaso.pdf (Ej. 5)