La ley de Amdahl es una teoría que implica la realización de algoritmos en serie o en paralelo. Afirma que los beneficios de ejecutar en paralelo (es decir, realizar varios pasos simultáneamente) están limitados por cualquier sección del algoritmo que solo se pueda ejecutar en serie (un paso a la vez). El uso más común de la ley de Amdahl es en computación paralela, como en máquinas de múltiples núcleos.
En el fondo, la ley de Amdahl es una fórmula matemática. En su forma más simple, dice que el mayor aumento de velocidad que se puede lograr al paralelizar un proceso es igual a uno dividido por la proporción del proceso que no se puede paralelizar, menos uno. Por ejemplo, si el 80% de un proceso se puede paralelizar, entonces uno dividido por el 20% restante da cinco; quitando uno deja cuatro. Esto significa que paralelizar el proceso de esta manera hace que se ejecute cuatro veces más rápido. La fórmula también funciona cuando solo se puede paralelizar una minoría del proceso: si se puede paralelizar el 12%, el cálculo es uno dividido por 88%, lo que equivale a 1.136, menos uno, lo que suma un aumento del 13.6% en la velocidad.
La fórmula se puede adaptar para su uso en situaciones más complicadas donde diferentes etapas del proceso obtienen diferentes aumentos de velocidad al ser paralelizadas. Esto implica producir una cifra para cada etapa, que es el porcentaje de tiempo dedicado a esa etapa antes de la paralelización, dividido por el aumento de velocidad, y luego sumar estas cifras para producir un total. Luego, la fórmula divide uno por este total y resta uno del resultado, lo que da el aumento general de velocidad.
El área principal donde se usa la ley de Amdahl es en computación paralela. Aquí es donde varios procesadores trabajan en una tarea a la vez. Se trata de uno de los principales inconvenientes de los procesadores de computadora, que es que funcionan muy rápido pero solo pueden realizar una acción a la vez. En algunos casos, un procesador de múltiples núcleos puede realizar de manera efectiva computación en paralelo, ya que simula múltiples procesadores.
Si bien algunas personas argumentan que la ley de Amdahl es un nombre engañoso y que realmente debería ser el «argumento de Amdahl», el nombre es un juego de palabras relacionado con la ley de Moore. Esta es una teoría basada en una declaración de 1965 del fundador de Intel, Gordon Moore. Predijo que la tecnología avanzaría de modo que el número de transistores que caben en un circuito integrado se duplicaría cada dos años, una predicción que ha demostrado ser extremadamente precisa.