Post on 07-Feb-2016
description
Universidad de Sonora Arquitectura de Computadoras 1
PROGRAMA CION PARALELA Y DISTRIBUIDA
PRESENTA:JESUS BECERRIL PACHECO
LEY DE AMDAHL
Ley de Amdahl
Universidad de Sonora Arquitectura de Computadoras 3
DefiniciónEvalúa como cambia el rendimiento al mejorar una
parte de la computadora.Define el speedup (aceleración) que se puede alcanzar
al usar cierta mejora.
Alternativamentemejora lausar sin oRendimientmejora lausar al oRendimientSpeedup
mejora lacon ejecución de Tiempomejora lasin ejecución de Tiempo Speedup
Universidad de Sonora Arquitectura de Computadoras 4
Factores El speedup depende de dos factores:1. La fracción del proceso original que puede
ser mejorado.Si la mejora afecta 20 segundos de un proceso que tarda 60 segundos, entonces Fracciónmejora = 20/60.
2. Aceleración de la fracción 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 5
Tiempo de ejecuciónEl tiempo de ejecución mejorado es igual al tiempo
que no se usa la mejora mas el tiempo que si usa la mejora.
mejora
mejoramejoraviejonuevo
SpeedupFracción )Fracción - (1 ejecución de Tiempo ejecución de Tiempo
Universidad de Sonora Arquitectura de Computadoras 6
EjemploTiempo de ejecución original: 60 segundos.Mejora: 20 segundos se hacen ahora en 12.Fracciónmejora: 20/60 = 0.333.Speedupmejora: 20/12 = 1.667.Tiempo de ejecución 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 7
Speedup globalEl speedup global es:
mejora
originalglobal
ejecución de Tiempoejecución de Tiempo Speedup
Alternativamente:
mejora
mejoramejora
global
SpeedupFracción )Fracción - (1
1 Speedup
Universidad de Sonora Arquitectura de Computadoras 8
EjemploFracciónmejora: 20/60 = 0.333.Speedupmejora: 20/12 = 1.667.Tiempo de ejecución original: 60 segundos.Tiempo de ejecución 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 9
Otro ejemploUn 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 más rápido?
Universidad de Sonora Arquitectura de Computadoras 10
Otro ejemploUsamos la ley de Amdahl:
Tiempo de ejecución original: 100 segundos.Tiempo de ejecución nuevo: 20 segundos.Fracción mejorada: 80 / 100 = 0.8Falta por saber el speedup de la mejora.
mejora
mejoramejoraviejonuevo
SpeedupFracción )Fracción - (1 ejecución de Tiempo ejecución de Tiempo
Universidad de Sonora Arquitectura de Computadoras 11
Otro ejemplo20 = 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 12
Corolario de la ley de AmdahlEl speedup global está limitado por la fracción del
programa que se puede mejorar.
mejoraglobal
Fracción - 11 Speedup
¿Cómo se interpreta ese límite cuando Fracciónmejora es 1?
Universidad de Sonora Arquitectura de Computadoras 13
EjemploSe tiene un servidor de Web.Se le cambia la CPU por una CPU que es 10
veces más rápida que la antigua.La CPU antigua estaba 40% del tiempo
haciendo cálculos y 60% ociosa esperando I/O.
¿Cuál es el speedup global con la nueva CPU?
Universidad de Sonora Arquitectura de Computadoras 14
EjemploFracción 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:
mejora
mejoramejora
global
SpeedupFracción )Fracción - (1
1 Speedup
Universidad de Sonora Arquitectura de Computadoras 15
EjemploEl speedup global es:
1 / ((1 – 0.4) + (0.4 / 10)) = 1.56
El servidor con la nueva CPU es 1.56 veces más rápido que el servidor con la antigua CPU.
Universidad de Sonora Arquitectura de Computadoras 16
Aplicaciones La ley de Amdahl se puede usar para
comparar entre dos opciones. Se quiere mejorar un programa que hace
ciertos cálculos. 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 más rápido. ¿Qué opción ofrece mejor speedup?
Universidad de Sonora Arquitectura de Computadoras 17
AplicacionesSe usa la ley de Amdahl:
Opción 1: Fracciónmejora = 0.2Speedupmejora = 10Speedupglobal = 1 / ((1 – 0.2) + (0.2 / 10)) =
1.219
mejora
mejoramejora
global
SpeedupFracción )Fracción - (1
1 Speedup
Universidad de Sonora Arquitectura de Computadoras 18
AplicacionesOpción 2:
Fracciónmejora = 0.5Speedupmejora = 1.6Speedupglobal = 1 / ((1 – 0.5) + (0.5 / 1.6)) =
1.231No hay mucha diferencia entre 1.219 y 1.231.Hay que considerar otros factores en la
decisión.
Universidad de Sonora Arquitectura de Computadoras 19
AplicacionesLa ley de Amdahl se puede usar en otros estudios.Un sistema de discos en un centro de cómputo tiene
varios componentes.Cuando se presenta una falla, el porcentaje de que sea
alguno de los componentes es como sigue:
Componente PorcentajeDiscos 43%Controlador SCSI
9%
Fuente de poder
22%
Abanico 22%Cable SCSI 4%
Universidad de Sonora Arquitectura de Computadoras 20
AplicacionesUn 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 21
AplicacionesLa ley de Amdahl se puede adaptar:
Fracciónmejora = 0.22.Confiabilidadmejora = 4150.La confiabilidad global es:
1 / ((1 – 0.22) + (0.22 / 4150) = 1.28La confiabilidad del sistema con dos fuentes
de poder es 1.28 veces que con una sola fuente de poder.
mejora
mejoramejora
global
dadConfiabiliFracción )Fracción1(
1 dadConfiabili