Está en la página 1de 20

Ley de Amdahl

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

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

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

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?

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
+
=
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.
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%
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?
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
+
=