ForHosting KIT · Utilidades de desarrollo

Ley de Amdahl

Un programa paralelo al 95 % va unas 5,93 veces más rápido con 8 procesadores, no 8 veces, y nunca pasará de 20 veces por muchos que añada. Úselo para dimensionar un clúster o rebatir una promesa de multiplicar por N antes de comprar equipos. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Fracción paralela
0,95
Procesadores
8
Obtiene
Fracción serie
0,05
Aceleración
5,9259259259
Eficiencia
0,7407407407
Límite serial
20

La ley de Amdahl nombra el techo que el trabajo serie restante impone a la aceleración paralela. Si una fracción P de un programa puede ejecutarse de forma concurrente y el resto debe permanecer secuencial, añadir procesadores nunca multiplica el tiempo de ejecución por N. La aceleración teórica es uno entre uno menos P más P entre N: el resto serie se queda en el denominador por grande que sea N. Esta calculadora de la ley de Amdahl acepta la fracción paralelizable y el recuento de procesadores, y entonces devuelve el factor de aceleración, la fracción serie, la eficiencia paralela y el límite asintótico serie uno entre uno menos P siempre que quede trabajo serie. La aritmética es una identidad de forma cerrada, plenamente determinista, sin simulación y sin modelo de lenguaje. Sirve para dimensionar un clúster, rebatir una afirmación ingenua de N veces o comprobar una curva de aceleración de manual antes de comprar hardware.

Qué mide la ley de Amdahl y cómo se obtiene el factor de aceleración

La ley de Amdahl es la observación de Gene Amdahl de 1967: el trabajo serie que queda limita cuánto más rápido puede ejecutarse un programa completo, por muchos procesadores que se apliquen a la parte paralela. Escriba P para la fracción del tiempo de reloj de un solo procesador que puede ejecutarse de forma concurrente, y N para el recuento de procesadores. La fracción secuencial es uno menos P.

Tras dividir el trabajo paralelo en N partes, el tiempo relativo pasa a ser uno menos P más P entre N, de modo que la aceleración teórica S de N es el recíproco de esa suma: uno dividido entre uno menos P más P entre N. Cuando P vale uno, cada ciclo se paraleliza y la aceleración es igual a N. Cuando P vale cero, el trabajo es puramente serie y la aceleración se queda en uno para cualquier N.

Entre esos extremos, la aceleración crece con N pero se aplana hacia el límite serie uno entre uno menos P. Ese techo es el sentido de la ley: un programa que es solo un cinco por ciento serie nunca puede superar una aceleración de veinte veces, ni siquiera en un millón de núcleos, porque el cinco por ciento serie permanece después de que el océano paralelo se haya rebanado hasta el infinito.

La eficiencia paralela es la aceleración dividida entre N; cae conforme crece N salvo que P sea exactamente uno. Esta calculadora evalúa esas identidades de forma directa. No es un perfilador, ni un simulador de eventos discretos, ni el modelo de aceleración escalada de Gustafson, que formula otra pregunta al hacer crecer el problema con la máquina.

Si conoce P por medición o por una estimación de servilleta que separa bucles calientes y preparación, la fórmula de Amdahl da la aceleración teórica que cabe esperar antes de que los efectos de caché, la contención de bloqueos o el tráfico NUMA empeoren la curva real.

Dónde rinde una calculadora de la ley de Amdahl

Utilice la herramienta del navegador cuando dimensiona un clúster, revisa una afirmación de rendimiento según la cual la aceleración seguirá el recuento de núcleos, o explica en clase por qué un noventa y cinco por ciento paralelo sigue tocando techo a veinte veces. Incremente N hasta que la aceleración se acerque al límite serie y deje de comprar núcleos que no podrá aprovechar.

Contraste el resultado con la ley de Gustafson si la carga crece con la máquina; Amdahl mantiene fijo el tamaño del problema, que es la cota conservadora para trabajos por lotes, compiladores y núcleos científicos que no se agrandan por arte de magia al añadir zócalos. Los resultados son plenamente deterministas: los mismos P y N producen siempre el mismo vector de aceleración, de modo que puede fijar ejemplos en pruebas y materiales didácticos. No hay modelo de lenguaje, ni servicio externo de perfilado, ni aleatoriedad.

Dimensionado de clústeres y recuento de núcleos

Introduzca la fracción paralelizable medida y recorra recuentos de procesadores hasta que la aceleración teórica se acerque al límite serie; entonces deje de comprar núcleos que no podrá aprovechar.

Comprobaciones realistas en revisiones de rendimiento

Sustituya una afirmación ingenua de aceleración N veces por la cota de Amdahl, de modo que las revisiones de arquitectura muestren el resto serie en lugar de una curva lineal sin tope.

¿Qué ocurre si la fracción paralelizable queda fuera de 0 a 1?

P es una fracción del tiempo de un solo procesador, así que los valores por debajo de 0 o por encima de 1 se rechazan y no se facturan. Envíe 0.95 para el 95 por ciento, no 95.

¿En qué se diferencia esto de la ley de Gustafson?

Amdahl mantiene fijo el tamaño del problema y pregunta cuánto más rápido corre el mismo trabajo en N procesadores. Gustafson deja que el problema crezca con la máquina.

¿Cuál es la fórmula de la ley de Amdahl?

La aceleración es uno dividido entre la fracción secuencial más la fracción paralela repartida entre los procesadores. Con 0,95 de parte paralela y 8 procesadores, queda uno entre 0,05 más 0,95 dividido entre 8: unas 5,93 veces.

¿Qué indica la eficiencia paralela?

Es la aceleración dividida entre el número de procesadores. Con 5,93 veces en 8 procesadores, la eficiencia ronda 0,74: cada procesador aporta unas tres cuartas partes de lo ideal, y esa parte baja al añadir más.

¿Mi programa real alcanzará esta aceleración?

Normalmente no. El resultado es un techo teórico para una carga de trabajo fija. La caché, los bloqueos y el tráfico de memoria empeoran las curvas reales, así que tómelo como el mejor caso para comparar con sus mediciones.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/dev/amdahls-law

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/dev/amdahls-law \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parallel_fraction":0.95,"processors":8}'
{
  "parallel_fraction": 0.95,
  "processors": 8
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.amdahls_law",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

max_processors1000000000000
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Contrato de entrada, forma de la respuesta y comportamiento ante errores

Tras la validación, el motor calcula la fracción serie como uno menos P, el denominador de Amdahl como ese resto serie más P entre N, la aceleración como uno entre el denominador y la eficiencia como aceleración entre N. Cuando P vale uno el límite serie no está acotado, de modo que esa clave se omite en lugar de emitirse como null. Ejemplo: P igual a 0.95 y N igual a ocho produce una aceleración de unos 5.93, una eficiencia de unos 0.74 y un límite serie de veinte. Es un oráculo de aceleración teórica bajo el modelo de carga fija de Amdahl, no una medición de su binario ni una calculadora de aceleración escalada de Gustafson. Envíe por POST un cuerpo JSON con dos campos obligatorios. parallel_fraction es la fracción paralelizable P, un número finito de cero a uno inclusive; envíe 0.95 para el noventa y cinco por ciento, nunca noventa y cinco. Se aceptan los alias p, parallelizable_fraction y f. processors es el recuento de procesadores N, un entero de uno a un billón. Se aceptan los alias n, cores y n_processors. Los campos ausentes, los valores no finitos, los recuentos de procesadores no enteros, N inferior a uno, N por encima del máximo publicado y una fracción paralelizable fuera de cero a uno fallan con invalid_input nombrando el campo y no se facturan. El cuerpo JSON repite parallel_fraction y processors, y entonces devuelve serial_fraction, speedup, efficiency y una cadena formula que reformula S de N igual a uno entre uno menos P más P entre N. Cuando P es estrictamente menor que uno también devuelve serial_limit, la cota asintótica uno entre uno menos P.

Dónde rinde una calculadora de la ley de Amdahl

Utilice la API cuando un script, un entorno de entrevistas, un cuaderno de arquitectura o una comprobación de integración continua necesite JSON estable para muchos pares (P, N) bajo un mismo contrato. Cada solicitud correcta es un artículo facturable a $0.002; la validación fallida no consume saldo. El rango publicado de procesadores mantiene la evaluación de forma cerrada dentro de dobles IEEE-754 ordinarios y cubre toda máquina práctica que se dimensionaría a mano. Conecte el endpoint a tutoriales de computación paralela, planificadores de capacidad, revisiones de arquitectura u oráculos de entrevistas de programación donde prefiera la identidad exacta de Amdahl a tablas anecdóticas de aceleración que ocultan el resto serie.

Docencia de computación paralela

Ofrezca al alumnado un oráculo determinista para S(N)=1/((1-P)+P/N), incluidos los casos P=0, P=1 y el límite serie, sin montar un perfilador.

¿Cuál es la fórmula de la ley de Amdahl para la aceleración?

Envíe parallel_fraction P en [0, 1] y processors N como entero ≥ 1. La API devuelve S(N)=1/((1-P)+P/N), más la fracción serie 1-P y la eficiencia S/N.

¿Qué es el límite serie que devuelve la calculadora?

serial_limit es 1/(1-P), la aceleración máxima cuando N tiende a infinito. Se omite cuando P=1 porque un programa plenamente paralelo no tiene cota serie.

¿Cuánto cuesta la calculadora de la ley de Amdahl?

La herramienta del navegador es gratuita. Las solicitudes a la API usan saldo KIT prepago a $0.002 por llamada correcta; la entrada no válida no se factura.

Ver la documentación completa del KIT →