Download
slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
An lisis comparativo de rendimiento PowerPoint Presentation
Download Presentation
An lisis comparativo de rendimiento

An lisis comparativo de rendimiento

421 Views Download Presentation
Download Presentation

An lisis comparativo de rendimiento

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

    1. Anlisis comparativo de rendimiento Usuarios, administradores y diseadores

    3. 1. Introduccin Qu es la referenciacin? Factores influyentes Las cargas de prueba Comparacin del rendimiento de dos sistemas

    4. Qu es la referenciacin? Referenciacin (benchmarking) Tcnicas usadas en la comparacin del rendimiento de diferentes sistemas informticos Todos los sistemas se han de someter a la misma carga

    7. Medidas del rendimiento Tiempo: el computador que hace la misma cantidad de trabajo en el mnimo tiempo es el ms rpido Las medidas de rendimiento han de ser reproducibles, indicando las condiciones en que se han obtenido Procesador, frecuencia de funcionamiento, memoria, cache, ... No hay que confundir el rendimiento del sistema con el rendimiento del procesador

    8. Factores influyentes en la referenciacin Elementos hardware de cada equipo Procesador, placa base y chipset, memoria principal, discos, ... Sistema operativo Sistema de memoria Configuraciones de las memorias cache y virtual Efecto del compilador sobre el cdigo ejecutable Cuidado con las posibles optimizaciones j=log(5.0); por for(i=1;i<=5000;i++) j=log(5.0); x=exp(log(x)/2*T1) por la expresin x=sqrt(exp(log(x)/T1)), ya que sqrt(exp(x))=exp(x/2) Hay compiladores listos que detectan los benchmarks clsicos

    9. Carga de trabajo (workload) Conjunto de todas las demandas a que est sometido un sistema informtico durante un periodo de tiempo Programas, datos, rdenes, usuarios, ... Carga de prueba (test workload) Carga a que se somete un sistema informtico durante una sesin de medida de rendimiento Carga de trabajo y carga de prueba

    10. La carga real Difcil de utilizar en la evaluacin de sistemas Resulta complicado reproducirla Vara a lo largo del tiempo Interacciona con el sistema informtico

    11. Caracterizacin o modelado de la carga Descripcin cuantitativa Toma de medidas de rendimiento A partir del sistema y carga reales, o bien a partir de modelos El modelado de la carga

    12. Obtencin de los ndice de prestaciones

    13. Ejemplo de medida de rendimiento

    14. Terminologa Perspectivas de rendimiento Usuario: tiempo de respuesta o tiempo de ejecucin Administrador: cantidad de trabajo hecha por unidad de tiempo o productividad Hay que evitar terminologa ambigua Este sistema es tantas veces ms lento que aquel Este sistema es tantas veces mejor que aquel Hablaremos de Mejora del rendimiento Mejora del tiempo de respuesta o de ejecucin

    15. Qu sistema es ms rpido? El rendimiento del computador A es n veces mejor que el rendimiento del computador B si Ejemplo: TA=10 s y TB=15 s El computador A es 1.5 veces ms rpido que el B

    16. Qu sistema es ms rpido? El rendimiento del computador A es un n% superior al rendimiento del computador B si Ejemplo: TA=10 s y TB=15 s El computador A es un 50% ms rpido que el B

    17. Rendimientos diferentes? Ejecucin de n programas en dos mquinas A y B Son significativas las diferencias obtenidas? Hay que usar mecanismos estadsticos Intervalo de confianza para las diferencias Nivel de confianza, por ejemplo, del 95% (?=0.05) Si incluye el cero, entonces no hay diferencias significativas Si no incluye el cero, entonces las mquinas tienen rendimientos significativamente diferentes

    18. Ejemplo de rendimientos similares Tiempos de ejecucin en dos sistemas A y B

    19. Clculo del intervalo de confianza Como el intervalo calculado es (-9.80, 9.17) e incluye el cero podemos afirmar, con un nivel de confianza del 95%, que las diferencias NO SON SIGNIFICATIVAS

    20. 2. ndices clsicos de rendimiento CPI, MIPS, MFLOPS

    21. CPI (cycles per instruction) Es un valor medio que interesa minimizar Depende de la organizacin y arquitectura (lenguaje mquina) Inconveniente: ignora el tiempo imprevisible que hace falta para sincronizar procesador y memoria cache (ciclos de espera, fallos en cache, ...) El valor mnimo es 1 Ciclos por intruccin de un programa

    22. Ejemplo de cmputo Procesador con un reloj a 500 MHz o 0,5 GHz Cul es la duracin del tiempo de ciclo del reloj? Relacin entre tiempo y frecuencia

    23. Cada instruccin necesita un determinado nmero de ciclos, y por tanto, el valor de CPI depende de las instrucciones ejecutadas por cada programa Instrucciones de escritura (store): 12% 2 ciclos Instrucciones de lectura (load): 21% 2 ciclos Instrucciones de la ALU: 43% 1 ciclo Instrucciones de salto: 24% 2 ciclos Clculo del CPI de un programa

    24. MIPS (million of instructions per second) Se denominan MIPS nativos Depende del juego de instrucciones y los MIPS medidos varan entre programas en el mismo computador Meaningless indicator of processor speed MIPS relativos: referidos a una mquina de referencia (proceso de normalizacin) MIPS

    25. Ejemplo con MIPS El programa P contiene 200?106 instrucciones Procesador 1 (175 MHz): ejecuta P en 10 s Procesador 2 (300 MHz): ejecuta P en 5 s

    26. MFLOPS (million of floating-point operations per second) Se denominan MFLOPS nativos Basado en operaciones y no en instrucciones El tiempo de ejecucin de la frmula es el del programa, incluyendo el tiempo consumido por las instrucciones de enteros La dura realidad El juego de instrucciones en coma flotante varia de una arquitectura a otra y, dentro de una misma arquitectura, cada instruccin tiene un tiempo distinto que puede variar segn los operandos MFLOPS

    27. Consideran la complejidad de las operaciones en coma flotante Suma, resta, multiplicacin, comparacin, negacin: poco costosas Divisin, raz cuadrada: costosas Trigonomtricas: muy costosas Ejemplo de normalizacin de operaciones en coma flotante ADD, SUB, COMPARE, MULT ? 1 operacin normalizada DIVIDE, SQRT ? 4 operaciones normalizadas EXP, SIN, ATAN, ... ? 8 operaciones normalizadas MFLOPS normalizados

    28. Clculo de los MFLOPS de un programa Programa Spice: el computador DECStation 3100 tarda en 94 segundos en ejecutarlo Contiene 109.970.178 operaciones en coma flotante de las cuales: 15.682.333 son divisiones (DIVD) El resto tiene una complejidad similar a la de la suma

    29. 4. Benchmarks Microbenchmarks: toys, kernels Programas Sandra, WinBench y PassMark Corporaciones: BAPCO, SPEC, TPC

    30. Microbenchmarks: toys Sieve (algoritmo criba de Eratstenes) Encuentra los nmeros primos entre 1 y n Comparacin de microprocesadores y lenguajes de alto nivel Funcin de Ackermann Programa recursivo Evaluacin del mecanismo de llamada a procedemiento Otros ejemplos Funcin de Fibonacci Mtodos de ordenacin de vectores Un largo etctera

    31. Microbenchmarks: kernels Whetstone (1976) Pequeas aplicaciones cientficas (coma flotante) Estructurado en mdulos independientes Linpack (1983) Aplicaciones cientficas de clculo numrico de coma flotante Resolucin de sistemas densos de ecuaciones lineales Dhrystone (1984) Entornos tpicos de programacin: aspectos de los lenguajes fuente de sistemas operativos, editores, compiladores, etctera Aspectos no numricos: manejo de cadenas de caracteres Inicialmente diseado en Ada, hay versiones en C y Pascal

    32. Programa Sandra Evala procesador, memoria, disco, tarjeta grfica, red Calcula MIPS (dhrystone) y MFLOPS (whetstone) http://www.sisoftware.net

    34. PassMark Software Variedad de programas para evaluar el rendimiento y fiabilidad de los computadores personales Hardware benchmarking and reliability testing software Ejemplos de productos Simple PC Benchmarking PC Reliability and Load Testing http://www.passmark.com

    35. BAPCO BAPCo (Business Applicationn Performance Corporation) http://www.bapco.com Evaluacin de computadores en entornos empresariales Benchmarks desarrollados SYSmark 2004 MobileMark 2005 WebMark 2004 Intervienen muchas empresas Toshiba, Microsoft, IBM, Dell HP, Intel, AMD, ZDNet, ...

    36. SPEC SPEC (Standard Performance Evaluation Corporation) MISSION: to establish, maintain, and endorse a standardized set of relevant benchmarks and metrics for performance evaluation of modern computer systems Funciones de SPEC Desarrollar benchmarks Hacer pblicos los resultados Intervienen muchas empresas HP, MIPS, Sun, AT&T, Compaq, IBM, Intel, Motorola, DEC, etc. http://www.spec.org

    38. TPC TPC (Transactions Processing Performance Council) Entornos transaccionales (OLTP: on-line transaction processing) http://www.tpc.org Compuesto por varios programas TPC-App, TPC-C, TPC-H Aspectos tratados Sistemas de bases de datos distribuidas Arquitectura cliente/servidor, servidores web Unidades: peticiones procesadas por segundo (tps)

    41. HINT (Hierarchical INTegration ) Coste de computacin y tiempo de ejecucin variables Se resuelve un problema matemtico cuya solucin se puede ir mejorando paulatinamente Clculo de los lmites racionales inferior y superior de: Medida de prestaciones: QUIPS (quality improvement per second) til para explorar los lmites computacionales de los computadores as como la calidad del resultado

    42. Aspecto tpico de grficas con QUIPS

    43. Impacto futuro de HINT? John Gustafson (derecha) y Quinn Snell (Ames Lab) afirman que HINT es posiblemente el benchmark ms portable jams escrito Con HINT se pueden medir las prestaciones de cualquier supercomputador, por sofisticado que sea, como si de una simple calculadora se tratara

    44. 4. Resumen de rendimientos: aproximaciones Uso de medias Normalizacin de rendimientos

    45. Cmo expresar el rendimiento? El rendimiento es una variable multidimensional Habra de expresarse mediante mltiples ndices Sin embargo, las comparaciones son ms sencillas si se usa un nico ndice de rendimiento (a minimizar o maximizar) Cmo concentrar todas las variables en una sola? Utilizar la mejor variable que represente el rendimiento Asegurar que su obtencin es vlida Mtodo habitual de sntesis: uso de medias Hay que tener especial cuidado con la normalizacin de valores

    46. Puntos de partida Est aceptado universalmente que El tiempo necesario para llevar a terme un determinado cmputo refleja la esencia del rendimiento de un computador Dos propiedades indispensables Si resumimos el rendimiento de un computador para un conjunto de benchmarks en una nica cantidad expresada en unidades de tiempo, entonces ha de ser directamente proporcional al tiempo total (ponderado) consumido por los benchmarks Si resumimos el rendimiento de un computador para un conjunto de benchmarks en una nica cantidad expresada en ratio, entonces ha de ser inversamente proporcional al tiempo total (ponderado) consumido por los benchmarks

    47. La media aritmtica til para tiempos de respuesta No se ha de utilizar con ratios Recomendacin: normalizar el resultado final (no cada xi)

    48. La media armnica til cuando los valores son ratios con unidades de tiempo en el denominador (MIPS, MFLOPS) No se ha de utilizar con tiempos de respuesta Recomendacin: normalizar el resultado final (no cada xi)

    49. La media geomtrica No es til ni para tiempos de respuesta ni para ratios nica virtud: mantiene el mismo orden en las comparaciones con valores normalizados (consistencia) Usado en los benchmarks de SPEC y BAPCO Sin embargo, este orden puede no ser el correcto

    50. Ejemplo de comparacin con tiempos

    51. Comparacin con el tiempo total Ordenacin con el tiempo total: De ms rpida a ms lenta: A, B, C, D Esto no significa que A sea siempre la ms rpida (depende del programa), aunque, en conjunto, s que lo es

    52. Resumen con la media aritmtica

    53. Dividimos el valor obtenido en una mquina de referencia entre los valores de cada fila (aceleraciones) A partir de aqu el resumen con las medias se hace con los valores normalizados (aceleraciones) Ahora la aceleracin es un ndice a maximizar Normalizacin de rendimientos: ratios

    54. Comparacin con valores normalizados

    55. Lecturas de la grfica anterior A obtiene mejor ndice en todos los casos Altibajos en la media aritmtica Comparacin de B y C con tiempos B es ms rpido que C: 2010,3 s frente a 2166,1 s Relacin de tiempos: 2166,1/2010,3 = 1,08 Comparacin de B y C con la media geomtrica B y C son casi igual de rpidos: 9,60 s frente a 9,59 s Relacin de medias geomtricas: 9,60/9,59 = 1,00

    56. 5. Estrategias de anlisis Efectos de la normalizacin y de la ponderacin

    57. Estrategias de anlisis Muy raramente un estudio comparativo de prestaciones es un trabajo aburrido, sobre todo cuando intervienen los diseadores e inteseres econmicos Caso de estudio Tres sistemas: A, B y C Dos programas de prueba: P1 y P2 Tiempo de ejecucin en segundos de cada programa

    58. Tiempo individual de cada mquina A es 10 veces ms rpido que B para P1 B es 10 veces ms rpido que A para P2 C es 50 veces ms rpido que A para P2 B es 2 veces ms rpido que C para P1 C es 5 veces ms rpido que B para P2 Sin embargo, la comparacin entre los tres sistemas resulta confusa Tiempo individual de cada programa

    59. Tiempo total de respuesta Buena aproximacin si los programas de prueba se ejecutan en tiempo no demasiado diferentes B es 9.1 (1001/110) veces ms rpido que A para P1 y P2 C es 25 (1001/40) veces ms rpido que A para P1 y P2 C es 2.75 (110/40) veces ms rpido que B para P1 y P2 Tiempo total de ejecucin

    60. Resumiendo las datos con una media Buena aproximacin si los programas de prueba se ejecutan las mismas veces Resumiendo las datos con una media ponderada Por ejemplo, si el responsable del 80% de la carga es P1 y del 20% es P2, entonces el peso del primero es 0.8 y el del segundo es 0.2 Utilizando medias aritmticas

    61. Aproximacin si no se conoce la proporcin de cada programa Se supone que el tiempo se distribuye entre los n programas Clculo de los pesos para cada programa Medias aritmticas ponderadas

    62. Clculo de medias aritmticas ponderadas Problema de la media aritmtica ponderada Hay dependencia de la mquina de referencia Hay dependencia del tiempo usado en cada programa de prueba Medias aritmticas ponderadas: resumen

    63. Normalizacin de los tiempos Normalizacin sobre diferentes bases

    64. Principales conclusiones Anlisis de los resultados El rendimiento calculado con la media aritmtica varia segn la mquina de referencia Col. 2: B es ms lenta que A (referencia A) Col. 4: A es ms lenta que B (referencia B) Col. 3: C es ms lenta que A y B (referencia A) Col. 9: C es ms rpida que A y B (referencia C) Las medias geomtricas son consistentes independientemente de la mquina de referencia A y B tienen el mismo rendimiento El tiempo de ejecucin de C es el 63% de A o B Sin embargo, el tiempo total de ejecucin de A es 9 veces el de B, y el de B tres veces el de C

    65. 6. Ejemplos reales CPU2000 (SPEC) SYSMark 2004 (BAPCO)

    66. El paquete SPEC CPU2000 Compuesto por dos partes CINT2000: rendimiento en aritmtica entera intensiva CFP2000: rendimiento en aritmtica de coma flotante intensiva Qu quiere decir la C? Se evalan componentes, no el sistema entero Qu componentes se evalan? Procesador Arquitectura de memoria Compilador Qu componentes no se evalan? Subsistema de disco, red o grficos

    67. Criterios de seleccin de programas Portabilidad a muchas arquitecturas 32 y 64 bits: Alpha, Intel, PA-RISC, Rxx00, SPARC, etc Portabilidad a muchos sistemas operativos Unix, Linux y Windows No han de contener I/O, ni red ni grficos Han de caber en 256 MB de memoria principal para no provocar intercambio (swapping) con el disco No han de pasar ms del 5% del tiempo ejecutando cdigo que no sea especificado por SPEC

    68. Programas dentro de CPU2000 CINT2000: 12 programas Todos en lenguaje C 164.gzip Utilidad de compresin 176.gcc Compilador de C 186.crafty Programa para jugar al ajedrez 197.parser Procesador de lenguaje natural 254.gap Teora computacional de grupos CFP2000: 14 programas, en lenguajes FORTRAN y C 6 en FORTRAN77, 4 en FORTRAN90 y 4 en C 173.applu Ecuaciones diferenciales parciales 178.galgel Dinmica de fluidos 200.sixtrack Modelo de acelerador de partculas

    69. ndices prestaciones en SPEC CPU2000 ndices de prestaciones Aritmtica entera SPECint2000, SPECint_base2000 Aritmtica en coma flotante SPECfp2000, SPECfp_base2000 Significado de base y non-base Compilacin en modo conservativo o agresivo Clculo Media geomtrica de los valores normalizados respecto de la mquina de referencia Sun Ultra5_10 con un procesador a 300 MHz Tarda aproximadamente 2 das en ejecutar todos los benchmarks del paquete

    70. Clculo del ndice SPECfp_base Hardware AMD Gigabyte GA-7ZM motherboard 1.1 GHz Athlon L1 cache: 64KB I+64KB D on chip L2 cache: 256KB (I+D) on chip Memory: 256MB PC133 SDRAM Software Windows 2000 Compiler: Visual Fortran 6.5

    71. Benchmark SYSMark 2004 Considera la carga en dos categoras Internet Content Creation (ICC) Dreamweaver, Photoshop, Flash, Premiere... Office Productivity (OP) Word, Excel, Access, Netscape, WinZip, ... Con cada programa se ejecuta un conjunto de tareas (tasks) de acuerdo con un modelo de comportamiento del usuario Las medidas se basan en el tiempo de respuesta Se mide el tiempo de ejecucin de cada tarea individual Para cada categora se calcula el tiempo medio de ejecucin de todas las tareas incluidas en ella

    72. Clculo del ndice SYSMark 2004 El tiempo medio de cada categora se normaliza (ratio) respecto de una mquina de referencia (calibration platform) y se multiplica por 100 Si ratio = 200 ? doble de rpida que la de referencia Finalmente, el ndice SYSMark se calcula mediante la media geomtrica de los dos ratios obtenidos