Sie sind auf Seite 1von 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.
Speedup = Rendimiento al usar la mejora Rendimiento sin usar la mejora

Alternativamente
Speedup = Tiempo de ejecucin sin la mejora Tiempo de ejecucin con la mejora

Universidad de Sonora

Arquitectura de Computadoras

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

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.

Fraccinmejora Tiempo de ejecucinnuevo = Tiempo de ejecucinviejo (1 - Fraccinmejora) + Speedupmejora

Universidad de Sonora

Arquitectura de Computadoras

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 ejecucinoriginal Speedupglobal = Tiempo de ejecucinmejora


Alternativamente:
Speedupglobal = 1 (1 - Fraccinmejora) + Fraccinmejora Speedupmejora

Universidad de Sonora

Arquitectura de Computadoras

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

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

Otro ejemplo
Usamos la ley de Amdahl:
Fraccinmejora Tiempo de ejecucinnuevo = Tiempo de ejecucinviejo (1 - Fraccinmejora) + Speedupmejora

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

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 Speedupglobal < 1 - Fraccinmejora


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:
Speedupglobal = 1 (1 - Fraccinmejora) + Fraccinmejora Speedupmejora
13

Universidad de Sonora

Arquitectura de Computadoras

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

Qu opcin ofrece mejor speedup?

Universidad de Sonora

Arquitectura de Computadoras

15

Aplicaciones
Se usa la ley de Amdahl:
Speedupglobal = 1 (1 - Fraccinmejora) + Fraccinmejora Speedupmejora

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 Discos Controlador SCSI Fuente de poder Abanico Cable SCSI
Universidad de Sonora Arquitectura de Computadoras

Porcentaje 43% 9% 22% 22% 4%


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:
Confiabilidadglobal = 1 (1 Fraccinmejora) + Fraccinmejora Confiabilidadmejora

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

Das könnte Ihnen auch gefallen