La Ley de Amdahl es una fórmula que se utiliza para calcular el máximo aumento de velocidad posible de un programa o proceso como resultado de la paralelización. La ley lleva el nombre del informático estadounidense Gene Amdahl, y fue presentada por primera vez en 1967. La fórmula básica es la siguiente
S(n) = 1 / ( (1-p) + (p/n) )
donde:
S(n) = Speedup
n = Número de procesadores
p = Fracción del programa que se puede paralelizar
La fórmula muestra que el speedup está limitado por la porción del programa que no se puede paralelizar (1-p). Por ejemplo, si un programa es paralelizable en un 90%, el aumento de velocidad máximo posible sería de 10 veces.
La ley se utiliza a menudo en el campo de la computación paralela para determinar la viabilidad de una aplicación determinada. Si el aumento de velocidad no es significativo, puede que no merezca la pena el esfuerzo de paralelizar el programa.
¿Cuál es la diferencia entre la ley de Moore y la ley de Amdahl?
La ley de Moore es la observación de que el número de transistores en un circuito integrado denso se duplica aproximadamente cada dos años.
La ley de Amdahl es una ley teórica de la arquitectura informática que establece que la velocidad de un programa que se ejecuta en un ordenador paralelo está limitada por la parte más lenta del programa, independientemente del número de procesadores que se utilicen.
¿Qué se llama speedup y throughput?
Speedup es la relación entre el tiempo de ejecución de un algoritmo en una entrada determinada y el tiempo de ejecución del mismo algoritmo en una entrada más lenta. El rendimiento es el número de entradas procesadas por un algoritmo en una unidad de tiempo determinada.