Gráficas Logarítmicas & Saturación
La velocidad de computación siguió una curva de crecimiento exponencial durante 50 años. En una gráfica logarítmica-lineal (velocidad logarítmica vs tiempo lineal), esto aparece como una línea recta con pendiente b = tasa de crecimiento en órdenes de magnitud por año.
Los límites físicos imponen un techo horizontal: una velocidad máxima S_max determinada por tamaño molecular, velocidad de la luz & restricciones de calor. Cuando el exponencial se acerca a S_max, el crecimiento debe ralentizarse.
Saturación Logística
Un modelo común para el crecimiento con un techo:
S(t) = S_max / (1 + e^(−r(t − t₀)))
Esta es la ecuación logística aplicada a la tecnología. En tiempos tempranos (t << t₀): S(t) ≈ S_max × e^(r(t−t₀)) — exponencial puro. Cerca del techo (t >> t₀): S(t) → S_max asintóticamente.
La geometría: una línea recta en coordenadas logarítmicas-lineales se dobla cerca del techo, produciendo una forma de S cuando se ve en coordenadas lineales-lineales.
¿Cuándo se Satura el Crecimiento?
Supongamos que la velocidad de un solo procesador crece en 10^(0.09t) comenzando desde 10⁰ ops/seg en 1940. Límite físico: S_max = 10^(12) ops/seg (una estimación aproximada para un procesador de un solo núcleo, limitado por restricciones térmicas & de velocidad de la luz).
Radio Máximo de Comunicación
La velocidad del reloj de un procesador determina el radio máximo dentro del cual puede comunicarse en un ciclo. Las señales viajan a aproximadamente 2×10⁸ m/s en cobre.
Para un período de reloj T (en segundos), el radio máximo de comunicación unidireccional:
r_max = v × T / 2
(divide entre 2 para viaje de ida y vuelta: la señal debe ir y regresar dentro de T)
Cuando la velocidad del reloj aumenta, T disminuye, por lo que r_max se reduce. Esta restricción geométrica obliga a los componentes a agruparse más cerca — reduciendo el área del chip — o aceptar latencia de múltiples ciclos para comunicación fuera del chip.
La Esfera de Influencia
Todos los componentes alcanzables dentro de un ciclo de reloj forman una esfera de radio r_max centrada en el procesador. Volumen: V = (4/3)π r_max³.
Si la densidad de componentes es ρ (componentes/m³), el número de componentes alcanzables dentro de un ciclo: N = ρ × V = ρ × (4/3)π r_max³.
Cuando r_max se reduce con el aumento de la velocidad del reloj, N se reduce cúbicamente — un aumento de velocidad de reloj de 2× reduce el conteo de componentes alcanzables por (1/2)³ = 1/8.
Componentes Alcanzables por Ciclo de Reloj
Una estación de trabajo de la era 1993 funciona a 100 MHz (T = 10 ns). Velocidad de señal = 2×10⁸ m/s. Densidad de componentes en una placa de circuito ≈ 10⁸ componentes/m³ (estimación aproximada incluyendo chips, resistores, condensadores).
Una GPU moderna funciona a 2 GHz (T = 0.5 ns).
El Límite de Aceleración Paralela
La velocidad del procesador único se acerca a los límites físicos. La respuesta de la industria: arquitecturas paralelas. La Ley de Amdahl cuantifica la aceleración alcanzable desde el paralelismo.
Ley de Amdahl
Supongamos que una fracción f de un programa puede paralelizarse, y la fracción (1−f) debe ejecutarse serialmente. Con p procesadores:
Speedup(p) = 1 / ((1−f) + f/p)
Cuando p → ∞: Speedup_max = 1 / (1−f)
La fracción serial (1−f) establece un techo duro en la aceleración alcanzable, independientemente de cuántos procesadores agregues.
Insight geométrico: la aceleración en función de p sigue una curva hiperbólica. La asíntota es 1/(1−f). Para f = 0.9, aceleración máxima = 10, incluso con procesadores infinitos. Para f = 0.99, aceleración máxima = 100.
La lección implícita de Hamming: el interés en arquitecturas paralelas era real, pero el beneficio dependía completamente de cuán paralelizable era la carga de trabajo — un hecho que muchos optimistas de la computación paralela ignoraron.
Computando la Aceleración Paralela
Una simulación científica se ejecuta en 1000 segundos en un procesador. La creación de perfiles revela: 200 segundos en una fase de inicialización serial (no puede paralelizarse); 800 segundos en una fase de computación paralela.