RISC-V

Arquitectura de Computadores

Home

❯

Ejemplos

❯

Ejemplo Ley de Amdahl

Ejemplo Ley de Amdahl

  • ejercicio_resuelto

Una mejora local no acelera necesariamente el programa completo en la misma proporción. Este ejemplo usa la ley de Amdahl del formulario para separar la parte que mejora de la que permanece igual.

Enunciado

Un programa tarda 120 segundos en procesar un conjunto de imágenes. De ese tiempo, 90 segundos corresponden a aplicar un filtro y los otros 30 segundos a leer archivos y guardar resultados. Se reemplaza el filtro por una versión que realiza esa misma tarea tres veces más rápido. La lectura y el guardado no cambian.

Pregunta: ¿cuántas veces más rápido será el programa completo?

1. Extraer los datos del enunciado

La fórmula del formulario es:

SM​=(1−F)+SF​1​

Antes de sustituir, identifiquemos qué frase proporciona cada dato:

  • «120 segundos»: tiempo total antes de la mejora. Lo necesitamos para calcular qué fracción del programa ocupaba el filtro.
  • «90 segundos corresponden a aplicar un filtro»: tiempo antes de la mejora de la parte que sí se optimiza. Por tanto, F=90/120=0,75.
  • «Los otros 30 segundos»: parte que no cambia. Su fracción es 1−F=30/120=0,25.
  • «Tres veces más rápido»: aceleración de solo el filtro, es decir, S=3. No es todavía la aceleración del programa completo, SM​.

¿Por qué dividir 90 entre 120?

F representa una fracción del tiempo total original, no una cantidad de segundos ni el porcentaje de instrucciones del programa. Aquí el filtro ocupaba el 75% del tiempo antes de optimizarlo. Si usáramos el tiempo del filtro después de la mejora para calcular F, estaríamos mezclando dos situaciones distintas.

2. Sustituir en la ley de Amdahl

SM​=(1−0,75)+30,75​1​

Primero, la parte que no cambia ocupa 0,25 del tiempo original. La parte optimizada pasa de ocupar 0,75 a ocupar 0,75/3=0,25 de ese mismo tiempo:

SM​=0,25+0,251​=2

Respuesta: el programa completo será 2 veces más rápido, aunque el filtro aislado sea 3 veces más rápido.

3. Comprobarlo con tiempos reales

La lectura y el guardado siguen tardando 30 segundos. El filtro, que antes tardaba 90 segundos, ahora tarda 90/3=30 segundos. Entonces:

Tiempo nuevo=30s+30s=60s

La aceleración total es la razón entre el tiempo anterior y el nuevo:

SM​=60s120s​=2

El resultado coincide con la fórmula. El límite está en los 30 segundos que no se optimizaron: por mucho que acelere el filtro, esa parte seguirá consumiendo tiempo.


Notas relacionadas

  • 0. Formulario
  • Ejercicios
  • Enunciado
  • 1. Extraer los datos del enunciado
  • 2. Sustituir en la ley de Amdahl
  • 3. Comprobarlo con tiempos reales

Creado con Quartz v4.5.2 © 2026