You are on page 1of 20

Ley de Amdahl

Definicin
Evala como cambia el rendimiento al mejorar una parte de la
computadora.
Define el speedup (aceleracin) que se puede alcanzar al usar
cierta mejora.
Rendimient o al usar la mejora
Speedup
Rendimient o sin usar la mejora

Alternativamente

Tiempo de ejecucin sin la mejora


Speedup
Tiempo de ejecucin con la mejora

Universidad de Sonora Arquitectura de Computadoras 2


Factores
El speedup depende de dos factores:
1. La fraccin del proceso original que puede ser
mejorado.
Si la mejora afecta 20 segundos de un proceso que
tarda 60 segundos, entonces Fraccinmejora = 20/60.
2. Aceleracin de la fraccin que puede ser mejorada.
Si la mejora hace que la parte que tardaba 20
segundos ahora tarde 12, Speedupmejora = 20/12.

Universidad de Sonora Arquitectura de Computadoras 3


Tiempo de ejecucin
El tiempo de ejecucin mejorado es igual al tiempo que no se
usa la mejora mas el tiempo que si usa la mejora.

Fraccin mejora
Tiempo de ejecucin nuevo Tiempo de ejecucin viejo (1 - Fraccin mejora)
Speedup mejora

Universidad de Sonora Arquitectura de Computadoras 4


Ejemplo
Tiempo de ejecucin original: 60 segundos.
Mejora: 20 segundos se hacen ahora en 12.
Fraccinmejora: 20/60 = 0.333.
Speedupmejora: 20/12 = 1.667.
Tiempo de ejecucin con la mejora:
60 x ((1 0.333) + 0.333/1.667) =
60 x (0.667 + 0.2) =
60 x (0.867) =
52
Universidad de Sonora Arquitectura de Computadoras 5
Speedup global
El speedup global es:

Tiempo de ejecucin original


Speedup global
Tiempo de ejecucin mejora

Alternativamente:

1
Speedup global
Fraccin mejora
(1 - Fraccin mejora)
Speedup mejora

Universidad de Sonora Arquitectura de Computadoras 6


Ejemplo
Fraccinmejora: 20/60 = 0.333.
Speedupmejora: 20/12 = 1.667.
Tiempo de ejecucin original: 60 segundos.
Tiempo de ejecucin con la mejora: 52 segundos.
Speedupglobal = 60 / 52 = 1.15.
Speedupglobal = 1 / ((1 0.333) + (0.333 / 1.667)) = 1.15.

Universidad de Sonora Arquitectura de Computadoras 7


Otro ejemplo
Un programa tarda 100 segundos en correr.
El programa pasa 80 segundos en un procedimiento.
Qu tanto se debe mejorar ese procedimiento para
que todo el programa corra 5 veces ms rpido?

Universidad de Sonora Arquitectura de Computadoras 8


Otro ejemplo
Usamos la ley de Amdahl:
Fraccin mejora
Tiempo de ejecucin nuevo Tiempo de ejecucin viejo (1 - Fraccin mejora)
Speedup mejora
Tiempo de ejecucin original: 100 segundos.
Tiempo de ejecucin nuevo: 20 segundos.
Fraccin mejorada: 80 / 100 = 0.8
Falta por saber el speedup de la mejora.

Universidad de Sonora Arquitectura de Computadoras 9


Otro ejemplo
20 = 100 x ((1 0.8) + (0.8 / Speedupmejora))
20 = 100 x (0.2 + 0.8 / Speedupmejora)
20 = 20 x 80 / Speedupmejora
20 20 = 80 / Speedupmejora
0 = 80 / Speedupmejora

No hay forma de que el programa mejorado corra


en 20 segundos.

Universidad de Sonora Arquitectura de Computadoras 10


Corolario de la ley de Amdahl
El speedup global est limitado por la fraccin del programa
que se puede mejorar.
1
Speedup global
1 - Fraccin mejora

Cmo se interpreta ese lmite cuando Fraccinmejora es 1?

Universidad de Sonora Arquitectura de Computadoras 11


Ejemplo
Se tiene un servidor de Web.
Se le cambia la CPU por una CPU que es 10 veces ms
rpida que la antigua.
La CPU antigua estaba 40% del tiempo haciendo
clculos y 60% ociosa esperando I/O.
Cul es el speedup global con la nueva CPU?

Universidad de Sonora Arquitectura de Computadoras 12


Ejemplo
Fraccin que se puede mejorar: 40% = 0.4.
Speedup de la mejora: 10.
El corolario de la ley de Amdahl limita el speedup
global:
Speedupglobal < 1 / (1 0.4) = 1.67
Usando la ley de Amdahl, el speedup global es:
1
Speedup global
Fraccin mejora
(1 - Fraccin mejora)
Speedup mejora

Universidad de Sonora Arquitectura de Computadoras 13


Ejemplo
El speedup global es:

1 / ((1 0.4) + (0.4 / 10)) = 1.56

El servidor con la nueva CPU es 1.56 veces ms rpido


que el servidor con la antigua CPU.

Universidad de Sonora Arquitectura de Computadoras 14


Aplicaciones
La ley de Amdahl se puede usar para comparar entre
dos opciones.
Se quiere mejorar un programa que hace ciertos
clculos. Hay dos opciones:
1. Comprar un chip que acelera el 20% del programa 10
veces.
2. Recodificar el 50% del programa para que corra 1.6
veces ms rpido.
Qu opcin ofrece mejor speedup?

Universidad de Sonora Arquitectura de Computadoras 15


Aplicaciones
Se usa la ley de Amdahl:
1
Speedup global
Fraccin mejora
(1 - Fraccin mejora)
Speedup mejora

Opcin 1:
Fraccinmejora = 0.2
Speedupmejora = 10
Speedupglobal = 1 / ((1 0.2) + (0.2 / 10)) = 1.219

Universidad de Sonora Arquitectura de Computadoras 16


Aplicaciones
Opcin 2:
Fraccinmejora = 0.5
Speedupmejora = 1.6
Speedupglobal = 1 / ((1 0.5) + (0.5 / 1.6)) = 1.231
No hay mucha diferencia entre 1.219 y 1.231.
Hay que considerar otros factores en la decisin.

Universidad de Sonora Arquitectura de Computadoras 17


Aplicaciones
La ley de Amdahl se puede usar en otros estudios.
Un sistema de discos en un centro de cmputo tiene varios
componentes.
Cuando se presenta una falla, el porcentaje de que sea alguno de
los componentes es como sigue:
Componente Porcentaje
Discos 43%
Controlador SCSI 9%
Fuente de poder 22%
Abanico 22%
Cable SCSI 4%
Universidad de Sonora Arquitectura de Computadoras 18
Aplicaciones
Un estudio determina que instalando otra fuente de
poder eleva la confiabilidad (tiempo medio entre
fallas) de las fuentes de poder en 4,150 veces.
Qu tanto se eleva la confiabilidad de todo el sistema
de discos?

Universidad de Sonora Arquitectura de Computadoras 19


Aplicaciones
La ley de Amdahl se puede adaptar:
1
Confiabili dadglobal
Fraccin mejora
(1 Fraccin mejora)
Confiabili dadmejora
Fraccinmejora = 0.22.
Confiabilidadmejora = 4150.
La confiabilidad global es:
1 / ((1 0.22) + (0.22 / 4150) = 1.28
La confiabilidad del sistema con dos fuentes de poder
es 1.28 veces que con una sola fuente de poder.

Universidad de Sonora Arquitectura de Computadoras 20

You might also like