Ley de Amdahl - Universidad de Sonora
Transcript of Ley de Amdahl - Universidad de Sonora
Ley de Amdahl
Universidad de Sonora Arquitectura de Computadoras 2
Definición� Evalú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.
� Alternativamente
mejora lausar sin oRendimient
mejora lausar al oRendimientSpeedup =
mejora lacon ejecución de Tiempo
mejora lasin ejecución de Tiempo Speedup =
Universidad de Sonora Arquitectura de Computadoras 3
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 4
Tiempo de ejecución� El 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
Speedup
Fracción )Fracción - (1 ejecución de Tiempo ejecución de Tiempo
Universidad de Sonora Arquitectura de Computadoras 5
Ejemplo� Tiempo 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 6
Speedup global� El speedup global es:
mejora
originalglobal
ejecución de Tiempo
ejecución de Tiempo Speedup =
� Alternativamente:
mejora
mejoramejora
global
Speedup
Fracción )Fracción - (1
1 Speedup
+
=
Universidad de Sonora Arquitectura de Computadoras 7
Ejemplo� Fracció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 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 más rápido?
Universidad de Sonora Arquitectura de Computadoras 9
Otro ejemplo� Usamos la ley de Amdahl:
� Tiempo de ejecución original: 100 segundos.
� Tiempo de ejecución nuevo: 20 segundos.
� Fracción mejorada: 80 / 100 = 0.8
� Falta por saber el speedup de la mejora.
+×=
mejora
mejoramejoraviejonuevo
Speedup
Fracción )Fracción - (1 ejecución de Tiempo ejecución de Tiempo
Universidad de Sonora Arquitectura de Computadoras 10
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 11
Corolario de la ley de
Amdahl� El speedup global está limitado por la fracción del programa
que se puede mejorar.
mejora
global
Fracción - 1
1 Speedup <
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 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 13
Ejemplo� Fracció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
Speedup
Fracción )Fracción - (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 más rápido 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 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 16
Aplicaciones� Se usa la ley de Amdahl:
� Opción 1:
� Fracciónmejora = 0.2
� Speedupmejora = 10
� Speedupglobal = 1 / ((1 – 0.2) + (0.2 / 10)) = 1.219
mejora
mejoramejora
global
Speedup
Fracción )Fracción - (1
1 Speedup
+
=
Universidad de Sonora Arquitectura de Computadoras 17
Aplicaciones� Opción 2:
� Fracciónmejora = 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 decisión.
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 cómputo 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:
� Fracciónmejora = 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.
mejora
mejoramejora
global
dadConfiabili
Fracción )Fracción1(
1 dadConfiabili
+−
=