Download Ley de Amdahl - Universidad de Sonora
Document related concepts
no text concepts found
Transcript
Ley de Amdahl 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. Speedup Rendimient o al usar la mejora Rendimient o sin usar la mejora Alternativamente Speedup Universidad de Sonora Tiempo de ejecución sin la mejora Tiempo de ejecución con la mejora Arquitectura de Computadoras 2 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 3 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. Fracción mejora Tiempo de ejecución nuevo Tiempo de ejecución viejo (1 - Fracción mejora) Speedup mejora Universidad de Sonora Arquitectura de Computadoras 4 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 5 Speedup global El speedup global es: Tiempo de ejecución original Speedup global Tiempo de ejecución mejora Alternativamente: 1 Speedup global (1 - Fracción mejora) Universidad de Sonora Arquitectura de Computadoras Fracción mejora Speedup mejora 6 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 7 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 8 Otro ejemplo Usamos la ley de Amdahl: Fracción mejora Tiempo de ejecución nuevo Tiempo de ejecución viejo (1 - Fracción mejora) Speedup mejora 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. Universidad de Sonora Arquitectura de Computadoras 9 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 fracción del programa que se puede mejorar. 1 Speedup global 1 - Fracción mejora ¿Cómo se interpreta ese límite cuando Fracciónmejora 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 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 12 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: 1 Speedup global (1 - Fracción mejora) Universidad de Sonora Arquitectura de Computadoras Fracción mejora Speedup mejora 13 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 14 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 15 Aplicaciones Se usa la ley de Amdahl: Speedup global 1 (1 - Fracción mejora) Fracción mejora Speedup mejora Opción 1: Fracciónmejora = 0.2 Speedupmejora = 10 Speedupglobal = 1 / ((1 – 0.2) + (0.2 / 10)) = 1.219 Universidad de Sonora Arquitectura de Computadoras 16 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 17 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 Universidad de Sonora Porcentaje Discos 43% Controlador SCSI 9% Fuente de poder 22% Abanico 22% Cable SCSI 4% Arquitectura de Computadoras 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: 1 Confiabili dadglobal (1 Fracción mejora) Fracción mejora Confiabili dadmejora 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. Universidad de Sonora Arquitectura de Computadoras 20