Você está na página 1de 20

Ley de Amdahl

Universidad de Sonora Arquitectura de Computadoras 2


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.


Alternativamente

mejora la usar sin o Rendimient
mejora la usar al o Rendimient
Speedup =
mejora la con ejecucin de Tiempo
mejora la sin ejecucin de Tiempo
Speedup =
Universidad de Sonora Arquitectura de Computadoras 3
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 Fraccin
mejora
= 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, Speedup
mejora
= 20/12.
Universidad de Sonora Arquitectura de Computadoras 4
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.


|
|
.
|

\
|
+ =
mej ora
mej ora
mej ora viej o nuevo
Speedup
Fraccin
) Fraccin - (1 ejecucin de Tiempo ejecucin de Tiempo
Universidad de Sonora Arquitectura de Computadoras 5
Ejemplo
Tiempo de ejecucin original: 60 segundos.
Mejora: 20 segundos se hacen ahora en 12.
Fraccin
mejora
: 20/60 = 0.333.
Speedup
mejora
: 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 6
Speedup global
El speedup global es:
mej ora
original
global
ejecucin de Tiempo
ejecucin de Tiempo
Speedup =
Alternativamente:
mej ora
mej ora
mej ora
global
Speedup
Fraccin
) Fraccin - (1
1
Speedup
+
=
Universidad de Sonora Arquitectura de Computadoras 7
Ejemplo
Fraccin
mejora
: 20/60 = 0.333.
Speedup
mejora
: 20/12 = 1.667.
Tiempo de ejecucin original: 60 segundos.
Tiempo de ejecucin con la mejora: 52 segundos.
Speedup
global
= 60 / 52 = 1.15.
Speedup
global
= 1 / ((1 0.333) + (0.333 / 1.667)) = 1.15.

Universidad de Sonora Arquitectura de Computadoras 8
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 9
Otro ejemplo
Usamos la ley de Amdahl:


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.
|
|
.
|

\
|
+ =
mej ora
mej ora
mej ora viej o nuevo
Speedup
Fraccin
) Fraccin - (1 ejecucin de Tiempo ejecucin de Tiempo
Universidad de Sonora Arquitectura de Computadoras 10
Otro ejemplo
20 = 100 x ((1 0.8) + (0.8 / Speedup
mejora
))
20 = 100 x (0.2 + 0.8 / Speedup
mejora
)
20 = 20 x 80 / Speedup
mejora

20 20 = 80 / Speedup
mejora

0 = 80 / Speedup
mejora


No hay forma de que el programa mejorado corra
en 20 segundos.
Universidad de Sonora Arquitectura de Computadoras 11
Corolario de la ley de Amdahl
El speedup global est limitado por la fraccin del programa
que se puede mejorar.
mej ora
global
Fraccin - 1
1
Speedup <
Cmo se interpreta ese lmite cuando Fraccin
mejora
es 1?
Universidad de Sonora Arquitectura de Computadoras 12
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 13
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:
Speedup
global
< 1 / (1 0.4) = 1.67
Usando la ley de Amdahl, el speedup global es:
mej ora
mej ora
mej ora
global
Speedup
Fraccin
) Fraccin - (1
1
Speedup
+
=
Universidad de Sonora Arquitectura de Computadoras 14
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 15
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 16
Aplicaciones
Se usa la ley de Amdahl:



Opcin 1:
Fraccin
mejora
= 0.2
Speedup
mejora
= 10
Speedup
global
= 1 / ((1 0.2) + (0.2 / 10)) = 1.219
mej ora
mej ora
mej ora
global
Speedup
Fraccin
) Fraccin - (1
1
Speedup
+
=
Universidad de Sonora Arquitectura de Computadoras 17
Aplicaciones
Opcin 2:
Fraccin
mejora
= 0.5
Speedup
mejora
= 1.6
Speedup
global
= 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 18
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 19
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 20
Aplicaciones
La ley de Amdahl se puede adaptar:



Fraccin
mejora
= 0.22.
Confiabilidad
mejora
= 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.

mej ora
mej ora
mej ora
global
dad Confiabili
Fraccin
) Fraccin 1 (
1
dad Confiabili
+
=

Você também pode gostar