Un algoritmo es escalable si mantiene eficiencia constante al incrementar simultáneamente p p p y el tamaño n n n .
Qué se fija Pregunta Respuesta típica en el examen Fuerte n n n constante¿E E E se mantiene al crecer p p p ? E = O ( 1 / p ) E=O(1/p) E = O ( 1/ p ) o similar ⇒ no escala en forma fuerte Débil n n n crece con p p p ¿qué n = f ( p ) n=f(p) n = f ( p ) mantiene E E E constante? «escala si p ∝ n / log n p\propto n/\log n p ∝ n / log n » (o la relación que salga)
Con T s = W T_s=W T s = W y Brent T p = O ( W / p + T ∞ ) T_p=O(W/p+T_\infty) T p = O ( W / p + T ∞ ) :
S = W W p + T ∞ E = S p = 1 1 + p T ∞ ( n ) W ( n ) S=\frac{W}{\frac Wp+T_\infty}\qquad E=\frac{S}{p}=\frac{1}{1+\dfrac{p\,T_\infty(n)}{W(n)}} S = p W + T ∞ W E = p S = 1 + W ( n ) p T ∞ ( n ) 1
Débil: E E E constante ⟺ p T ∞ ∝ W ⟺ p ∝ W ( n ) T ∞ ( n ) \iff p\,T_\infty\propto W\iff p\propto\dfrac{W(n)}{T_\infty(n)} ⟺ p T ∞ ∝ W ⟺ p ∝ T ∞ ( n ) W ( n ) (el paralelismo disponible). Si se agrega comunicación, p. ej. + log p +\log p + log p :
E = 1 1 + p T ∞ W + p log p W ⇒ dos condiciones: p ∝ W T ∞ y p log p ∝ W E=\frac{1}{1+\dfrac{p\,T_\infty}{W}+\dfrac{p\log p}{W}}\;\Rightarrow\;\text{dos condiciones: }p\propto\frac{W}{T_\infty}\;\text{ y }\;p\log p\propto W E = 1 + W p T ∞ + W p log p 1 ⇒ dos condiciones: p ∝ T ∞ W y p log p ∝ W
Error común
Decir «escala» sin decir cómo . La respuesta completa es: «no escala fuerte; escala débil si n n n crece como f ( p ) f(p) f ( p ) ». Y comparar esquemas: el más escalable es el que, para un mismo p p p , necesita un n n n menor para sostener la eficiencia (p. ej. n ∝ p log p n\propto\sqrt{p\log p} n ∝ p log p gana a n ∝ p n\propto p n ∝ p ).
Calculadora Brent → S, E y escalabilidad Elige W(n) y T∞(n) (o un ejercicio previo). Se asume T_s = W (costo óptimo) y la cota de Brent T_p = W/p + T∞ .
Ejercicio / plantilla P1 — Subsecuencia máxima (D&V + prefix) PD02 2025-I — Quicksort con prefix sum (a) PD02 2025-I — Quicksort + comunicación log p (b) Mergesort paralelo (merge secuencial) Suma por reducción / prefix sum Mult. matrices 3D (expansión + reducción) PD02 2026-I — Mult. matrices por proceso P(i,j) PD02 2026-I — Árbol 2-3 (variable m, log n fijo) W(n) = T_s(n) 1 log n log² n √n n n log n n² n³ T∞(n) 1 log n log² n √n n n log n n² n³ Comunicación sin término extra + log p (colectiva en árbol) + p (colectiva lineal)
P1.md: E = 1/(1 + p log n / n) ⇒ débil si p ∝ n / log n.
T p ( n , p ) = O ( n log n p + log 2 n ) S = n log n T p E = 1 1 + p log 2 n n log n T_p(n,p)=O\!\left(\frac{n\log n}{p}+\log^2 n\right)\qquad S=\frac{n\log n}{T_p}\qquad E=\frac{1}{1+\dfrac{p\,\log^2 n}{n\log n}} T p ( n , p ) = O ( p n log n + log 2 n ) S = T p n log n E = 1 + n log n p log 2 n 1 n = 2^16 = 65500 Eficiencia objetivo E₀ = 0.5
Escalabilidad fuerte: n fijo, crece p
0 0.2 0.4 0.6 0.8 1 1 10 100 1000 10000 p E E₀=0.5 E(p), n = 65500 E(p), n = 1.05e6
Speedup — se satura en W/T∞
1 10 100 1000 10000 1 10 100 1000 10000 p S S(p), n = 65500 S = p W/T∞ (paralelismo) = 4100
Escalabilidad débil: n mínimo para sostener E ≥ 0.5 (función de isoeficiencia, numérica)
10 100 1000 10000 1.00e5 10 100 1000 10000 p n necesario n(p) numérico referencia n ∝ p
Lectura para el examen. Fuerte (n constante):
E → 0 E\to 0 E → 0 al crecer p ⇒
no escala en forma fuerte . Débil: E constante si
p log 2 n ∝ n log n p\,\log^2 n\propto n\log n p log 2 n ∝ n log n , es decir
p ∝ n log n p\propto \frac{n}{\log n} p ∝ l o g n n .
E = T s T s + T o ⇒ T s = K T o E=\frac{T_s}{T_s+T_o}\quad\Rightarrow\quad T_s=K\,T_o E = T s + T o T s ⇒ T s = K T o
Ejemplo PD01 (suavizado): T o = 8 p t t w T_o=8\,p\,t\,t_w T o = 8 p t t w ⇒ n = 8 K t w 3 t c p n=\dfrac{8Kt_w}{3t_c}\,p n = 3 t c 8 K t w p : isoeficiencia lineal . Práctica 3 (filas, colectivas en árbol): T o = Θ ( p log p ) T_o=\Theta(p\log p) T o = Θ ( p log p ) con W = Θ ( N 2 ) W=\Theta(N^2) W = Θ ( N 2 ) ⇒ N = Θ ( p log p ) N=\Theta(\sqrt{p\log p}) N = Θ ( p log p ) .
SubsecuenciaMaxima(A,l,r) hace dos llamadas recursivas sobre mitades y MaximoCentro recorre linealmente de l l l a r r r . (a) Recurrencia secuencial. (b) Versión paralela, W W W y T ∞ T_\infty T ∞ . (c) T p T_p T p , S S S , E E E y escalabilidad.
Ver solución (a) T ( n ) = 2 T ( n / 2 ) + Θ ( n ) T(n)=2T(n/2)+\Theta(n) T ( n ) = 2 T ( n /2 ) + Θ ( n ) . Teorema maestro con a = b = 2 a=b=2 a = b = 2 , f ( n ) = Θ ( n ) = n log 2 2 f(n)=\Theta(n)=n^{\log_2 2} f ( n ) = Θ ( n ) = n l o g 2 2 ⇒ T ( n ) = Θ ( n log n ) T(n)=\Theta(n\log n) T ( n ) = Θ ( n log n ) .
(b) Las llamadas ML y MR son independientes ⇒ pardo. MaximoCentro se paraleliza con dos scans (prefix-sum con + y prefix-max con max), cada uno O ( n ) O(n) O ( n ) trabajo y O ( log n ) O(\log n) O ( log n ) span:
W ( n ) = 2 W ( n / 2 ) + O ( n ) = Θ ( n log n ) T ∞ ( n ) = T ∞ ( n / 2 ) + O ( log n ) = O ( log 2 n ) W(n)=2W(n/2)+O(n)=\Theta(n\log n)\qquad T_\infty(n)=T_\infty(n/2)+O(\log n)=O(\log^2 n) W ( n ) = 2 W ( n /2 ) + O ( n ) = Θ ( n log n ) T ∞ ( n ) = T ∞ ( n /2 ) + O ( log n ) = O ( log 2 n ) (sin paralelizar MaximoCentro, el span sería O ( n ) O(n) O ( n ) ).
(c) Brent:
T p = O ( n log n p + log 2 n ) S = n log n n log n p + log 2 n E = 1 1 + p log n n T_p=O\!\left(\frac{n\log n}{p}+\log^2 n\right)\quad S=\frac{n\log n}{\frac{n\log n}{p}+\log^2n}\quad E=\frac{1}{1+\frac{p\log n}{n}} T p = O ( p n log n + log 2 n ) S = p n l o g n + log 2 n n log n E = 1 + n p l o g n 1 Fuerte (n n n cte): E = O ( 1 / p ) E=O(1/p) E = O ( 1/ p ) , no escala. Débil: E E E constante si p ∝ n / log n p\propto n/\log n p ∝ n / log n . (Elige el preset «P1» en el playground.)
Autoevaluación 0/4 correctas · 0 respondidas Reiniciar 1. E = 1 1 + p log n / n E=\dfrac{1}{1+p\log n/n} E = 1 + p log n / n 1 . Condición de escalabilidad débil: a) p ∝ n p\propto n p ∝ n b) p ∝ n / log n p\propto n/\log n p ∝ n / log n c) p ∝ log n p\propto\log n p ∝ log n d) n ∝ log p n\propto\log p n ∝ log p 2. Mergesort con merge secuencial: W = n log n W=n\log n W = n log n , T ∞ = n T_\infty=n T ∞ = n . ¿ p p p máximo con E constante? a) p ∝ n p\propto n p ∝ n b) p ∝ log n p\propto\log n p ∝ log n c) p ∝ n / log n p\propto n/\log n p ∝ n / log n d) p ∝ n 2 p\propto n^2 p ∝ n 2 3. Esquema A necesita n ∝ p n\propto p n ∝ p ; esquema B, n ∝ p log p n\propto\sqrt{p\log p} n ∝ p log p . ¿Cuál es más escalable? a) A b) B c) Iguales d) Depende de α
4. Con n n n fijo, E = O ( 1 / ( p log p ) ) E=O(1/(p\log p)) E = O ( 1/ ( p log p )) . Entonces… a) escala fuerte b) no escala fuerte c) escala débil siempre d) es costo óptimo
Fuente ·P1.md · estudio/03_Amdahl_Gustafson.md §4 · estudio/08_Solvers_Examenes_Previos.md (Arquetipo E) · practica_3_ofi/executed/analisis_escalabilidad.md · PD01-Ejercicio1-Resolucion.md §6