Análisis comparativo de rendimiento

Slides:



Advertisements
Presentaciones similares
S O F T W A R E Son todos los componentes virtuales y no tangibles de una computadora. Esto incluye el sistema operativo, programas varios y drivers. Es.
Advertisements

Almacenamiento del sistema de archivos La gestión de archivos es uno de los componentes mas visibles de un sistema operativo. Las computadores pueden almacenar.
Capítulo 2: Rendimiento de un computador
Complejidad Computacional
Comparación de Modelos de DI
DISEÑO DE EXPERIMENTOS
Gestión y Aseguramiento de la calidad
SISTEMAS OPERATIVOS GESTION DE MEMORIA INTEGRANTES Lizeth Chandi
III - Gestión de memoria
Supervisión del rendimiento de SQL Server
ARQUITECTURA DE COMPUTADORES - PERFORMANCE
ARQUITECTURA DE COMPUTADORES - INTRODUCCION
Capacity Planning and Benchmarking
Tesista: Jesús Rubén Hernández Carrillo
1 Circuitos Digitales II Circuitos Digitales II Fundamentos de Arquitectura de Computadores Información sobre el Curso Semana No.1 Semestre Prof.
Capítulo 4 Rendimiento.
ARQUITECTURA DE MÁQUINAS COMPUTADORAS III Introducción
Métricas de Rendimiento de Sistemas Operativos
METODOS DE VALORACION DE CARGOS
Son dos partes muy importantes de una computadora.
Diseño e implementación de un juego matemático de disparos en 3D y análisis de los dispositivos de interacción de 2D y 3D Vanessa Echeverría B. Iván.
Evaluación de Performance mediante Benchmarks
Eje Infraestructura Tecnológica
P ARTES DE LA PC Nombre:Angie Katherine Navarrete Balaguera Curso:704.
La CPU Unidad Central de Proceso.
12.4 Seguridad de los archivos del sistema
Janny David Vilac Salazar David Alejandro Gallo Moya
Bioinformática FJS.
medio INterno de las empresas
“La docencia de las clases prácticas en las asignaturas de Arquitectura de Ordenadores y Sistemas Operativos” en la Universidad Politécnica de Valencia.
UNIDAD IV ADMINISTRACIÓN DE SISTEMAS CONCEPTOS DE GESTIÓN Y ALMACENAMIENTO.
Curso de Computación Científica en Clusters
Constituye la parte más importante del sistema operativo. Es el responsable de facilitar acceso seguro al hardware de la computadora,es el encargado de.
Evaluación y modelado del rendimiento de los sistemas informáticos Xavier Molero, Carlos Juiz, Miguel Rodeño Prentice Hall, 2004 ISBN
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
04/02/031 INSURE ++ v6.0 Salvador Benimeli Fenollar Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia.
Manuela Chavarriaga Betancur Telecomunicaciones 11º3 Resumen Capitulo 2.
 La cuestión de la cantidad es simple, cuanto más memoria haya disponible, más podrá utilizarse. La velocidad óptima para la memoria es la velocidad.
¿Qué unidades conforman el procesador?
El objetivo de estos es alterar el funcionamiento de una computadora sin el consentimiento del usuario, estos también pueden destruir los datos que se.
El software es un ingrediente indispensable para el funcionamiento del computador. Está formado por una serie de instrucciones y datos, que permiten aprovechar.
. INFORMÁTICA I Fidel Cabrera FACULTAD DE CONTADURÍA Y ADMINISTRACIÓN.
El Microprocesador.
VIII. TOPICOS AVANZADOS DE SISTEMAS OPERATIVOS
Tecnología de la Información y Comunicación 1
RENDIMIENTO DEL COMPUTADOR
INTRODUCCIÓN El rendimiento, costo de compra y costo de operación forman la base para la toma de decisiones, sobre que PC es mejor que otra y así adquirir.
Rendimiento de la CPU y sus factores
Rendimiento y/o desempeño.. RENDIMIENTO “El computador A es más rápido que el computador B” Como se determina el rendimiento de un computador para: El.
1. Un microprocesador. 2. Una placa madre. 3. Memoria RAM. 4. Discos duros. 5. Fuente de poder o UPS. 6. Un gabinete. 7. Un monitor. 8. Unidades ópticas.
DISPOSITIVOS DE ALMACENAMIENTO
Tipos de Servidores.
ELABORADO POR: MABEL LORENA MARIN GUAZAQUILLO 11°1 YEIMY TATIANA MARIN GUASAQUILLO.
11°. Es el cerebro del computador por ponerlo de una forma. Actualmente es quien ejecuta la gran mayoría de los procesos que conforman el sistema operativo.
MEMORIA CACHE SEBASTIAN MADRID PEREZ. ¿QUÉ ES? La memoria caché es un búfer especial de memoria que poseen las computadoras, que funciona de manera similar.
Marisol Lozano Edwin Prieto Andres Sosa
UNIDAD 1. ORGANIZACIÓN BÁSICA Y DISEÑO DEL COMPUTADOR
Mantenimiento Ingrid Paola Gómez Flórez 10-3 Colegio técnico Vicente azuero Floridablanca.
Sistemas Operativos I Introducción
MICROPROCESADOR Es un tipo de circuito sumamente integrado que contiene todos los elementos de CPU y su funcionamiento. Esta compuesto por millones de.
SISTEMAS DE INFORMACION ORGANIZACIONAL
SOFTWARE.  programas de computadoras. Son las instrucciones responsables de que el hardware (la máquina) realice su tarea.  Existen dos tipos  Programación.
SISTEMAS OPERATIVOS.
Profesor: ► Héctor Shultz Pérez Integrantes: Wladimir Cortés Cortés Macarena Quiroz Armijo Juan Muñoz Salazar Ives Escobar Ávila.
Universidad Metropolitana Introducción a la Computación Universidad Metropolitana Introducción a la Computación Septiembre, 2007 Arquitectura Von Newman.
Virus informáticos Presentado por: Yessica Cintura Paola Linares Yoana Forero.
Antivirus Cloud Computing. Definición Antivirus Cloud Computing es un software de protección, que no consume muchos recursos y no necesita de un hardware.
Bachillerato Ingeniería en Informática Fundamentos de Computación.
Resultados de la Encuesta
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Transcripción de la presentación:

Análisis comparativo de rendimiento ¿Qué sistema informático tiene mejor rendimiento para una carga determinada? Usuarios, administradores y diseñadores

Contenido 1. Introducción 2. Índices clásicos de rendimiento ¿Qué es la referenciación? ¿Sistemas con rendimientos distintos? 2. Índices clásicos de rendimiento CPI, MIPS, MFLOPS 3. Benchmarks Microbenchmaks: toys y kernels Programas Sandra, PassMark, Bapco Consorcios SPEC, TPC Benchmark HINT 4. Resumen de rendimiento Tipos de medias Ponderación y normalización 5. Estrategias de análisis Empleo de medias Efectos perniciosos 6. Ejemplos reales CPU2000 SYSMark 2004

1. Introducción ¿Qué es la referenciación? Factores influyentes Las cargas de prueba Comparación del rendimiento de dos sistemas

¿Qué es la referenciación? Referenciación (benchmarking) Técnicas usadas en la comparación del rendimiento de diferentes sistemas informáticos Todos los sistemas se han de someter a la misma carga Prestaciones = f (carga) Índice de prestaciones Carga S1 S2 S3 Sistema

Índices de rendimiento

Medidas del rendimiento Tiempo: el computador que hace la misma cantidad de trabajo en el mínimo tiempo es el más rápido 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

Factores influyentes en la referenciación 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 código 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 expresión x=sqrt(exp(log(x)/T1)), ya que sqrt(exp(x))=exp(x/2) Hay compiladores “listos” que detectan los benchmarks clásicos

Carga de trabajo y carga de prueba Carga de trabajo (workload) Conjunto de todas las demandas a que está sometido un sistema informático durante un periodo de tiempo Programas, datos, órdenes, usuarios, ... Carga de prueba (test workload) Carga a que se somete un sistema informático durante una sesión de medida de rendimiento f (carga) Carga Medidas del rendimiento o prestaciones

La carga real Difícil de utilizar en la evaluación de sistemas Resulta complicado reproducirla Varía a lo largo del tiempo Interacciona con el sistema informático Carga real Índices de prestaciones Variación de los parámetros del SO Variación del comportamiento de los usuarios

El modelado de la carga Caracterización o modelado de la carga Descripción cuantitativa Toma de medidas de rendimiento A partir del sistema y carga reales, o bien a partir de modelos Modelo Carga real Sistema informático o modelo Carga de prueba: real o modelo Medidas

Obtención de los índice de prestaciones Programas similares a los de la carga real Datos de entrada al modelo (analítico o simulación) Modelo de la carga real Carga real IP’’ IP IP’

Ejemplo de medida de rendimiento trilog.c #include <math.h> #define NTIMES 10000000 void main() { long y; float x=0.0, y=9.9; for(i=0; i<NTIMES; y++) x+=sin(atan(cos(log(y)))); } % gcc trilog.c -o trilog -lm % time trilog real 6m 0.38s user 3m 0.22s sys 2m 0.30s %_ Tiempo total: 398 s Tiempo de ejecución: 352 s Modo usuario: 202 s Modo sistema: 150 s Tiempo de espera: 398-352 = 46 s Sistema real (máquina Unix) y carga de coma flotante modelada

Terminología Perspectivas de rendimiento Usuario: tiempo de respuesta o tiempo de ejecución Administrador: cantidad de trabajo hecha por unidad de tiempo o productividad Hay que evitar terminología ambigua “Este sistema es tantas veces más lento que aquel” “Este sistema es tantas veces mejor que aquel” Hablaremos de Mejora del rendimiento Mejora del tiempo de respuesta o de ejecución

¿Qué sistema es más rápido? 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 más rápido que el B

¿Qué sistema es más rápido? 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% más rápido que el B

¿Rendimientos diferentes? Ejecución de n programas en dos máquinas A y B ¿Son significativas las diferencias obtenidas? Hay que usar mecanismos estadísticos 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 máquinas tienen rendimientos significativamente diferentes

Ejemplo de rendimientos similares Tiempos de ejecución en dos sistemas A y B Programa A B Diferencias (A–B) P1 5.4 19.1 –13.7 P2 16.6 3.5 13.1 P3 0.6 3.4 – 2.8 P4 1.4 2.5 – 1.1 P5 0.6 3.6 – 3.0 P6 7.3 1.7 5.6 ¿Son significativas estas diferencias?

Cálculo 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

2. Índices clásicos de rendimiento CPI, MIPS, MFLOPS

Ciclos por intrucción de un programa CPI (cycles per instruction) Es un valor medio que interesa minimizar Depende de la organización y arquitectura (lenguaje máquina) Inconveniente: ignora el tiempo imprevisible que hace falta para sincronizar procesador y memoria cache (ciclos de espera, fallos en cache, ...) El valor mínimo es 1

Relación entre tiempo y frecuencia Ejemplo de cómputo Procesador con un reloj a 500 MHz o 0,5 GHz ¿Cuál es la duración del tiempo de ciclo del reloj?

Cálculo del CPI de un programa Cada instrucción necesita un determinado número 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

MIPS MIPS (million of instructions per second) Se denominan MIPS nativos Depende del juego de instrucciones y los MIPS medidos varían entre programas en el mismo computador Meaningless indicator of processor speed MIPS relativos: referidos a una máquina de referencia (proceso de normalización)

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

MFLOPS MFLOPS (million of floating-point operations per second) Se denominan MFLOPS nativos Basado en operaciones y no en instrucciones El tiempo de ejecución de la fórmula 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 instrucción tiene un tiempo distinto que puede variar según los operandos

MFLOPS normalizados Consideran la complejidad de las operaciones en coma flotante Suma, resta, multiplicación, comparación, negación: poco costosas División, raíz cuadrada: costosas Trigonométricas: muy costosas Ejemplo de normalización de operaciones en coma flotante ADD, SUB, COMPARE, MULT  1 operación normalizada DIVIDE, SQRT  4 operaciones normalizadas EXP, SIN, ATAN, ...  8 operaciones normalizadas

Cálculo 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

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

Microbenchmarks: toys Sieve (algoritmo criba de Eratóstenes) Encuentra los números primos entre 1 y n Comparación de microprocesadores y lenguajes de alto nivel Función de Ackermann Programa recursivo Evaluación del mecanismo de llamada a procedemiento Otros ejemplos Función de Fibonacci Métodos de ordenación de vectores Un largo etcétera

Microbenchmarks: kernels Whetstone (1976) Pequeñas aplicaciones científicas (coma flotante) Estructurado en módulos independientes Linpack (1983) Aplicaciones científicas de cálculo numérico de coma flotante Resolución de sistemas densos de ecuaciones lineales Dhrystone (1984) Entornos típicos de programación: aspectos de los lenguajes fuente de sistemas operativos, editores, compiladores, etcétera Aspectos no numéricos: manejo de cadenas de caracteres Inicialmente diseñado en Ada, hay versiones en C y Pascal

Programa Sandra Evalúa procesador, memoria, disco, tarjeta gráfica, red Calcula MIPS (dhrystone) y MFLOPS (whetstone) http://www.sisoftware.net

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

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

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 públicos los resultados Intervienen muchas empresas HP, MIPS, Sun, AT&T, Compaq, IBM, Intel, Motorola, DEC, etc. http://www.spec.org

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)

HINT (Hierarchical INTegration ) Coste de computación y tiempo de ejecución variables Se resuelve un problema matemático cuya solución se puede ir mejorando paulatinamente Cálculo de los límites racionales inferior y superior de: Medida de prestaciones: QUIPS (quality improvement per second) Útil para explorar los límites computacionales de los computadores así como la calidad del resultado

Aspecto típico de gráficas con QUIPS

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

4. Resumen de rendimientos: aproximaciones Uso de medias Normalización de rendimientos

¿Cómo expresar el rendimiento? El rendimiento es una variable multidimensional Habría de expresarse mediante múltiples índices Sin embargo, las comparaciones son más sencillas si se usa un único índice de rendimiento (a minimizar o maximizar) ¿Cómo concentrar todas las variables en una sola? Utilizar la mejor variable que represente el rendimiento Asegurar que su obtención es válida Método habitual de síntesis: uso de medias Hay que tener especial cuidado con la normalización de valores Espacio multidimensional Espacio unidimensional

Puntos de partida Está aceptado universalmente que El tiempo necesario para llevar a terme un determinado cómputo 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

La media aritmética Útil para tiempos de respuesta No se ha de utilizar con ratios Recomendación: normalizar el resultado final (no cada xi)

La media armónica Útil cuando los valores son ratios con unidades de tiempo en el denominador (MIPS, MFLOPS) No se ha de utilizar con tiempos de respuesta Recomendación: normalizar el resultado final (no cada xi)

La media geométrica 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

Ejemplo de comparación con tiempos Programa R A B C D 1 1400 141 170 136 134 2 1400 154 166 215 301 3 1100 96.8 94.2 146 201 4 1800 271 283 428 523 5 1000 83.8 90.1 77.4 81.2 6 1800 179 189 199 245 7 1300 112 131 87.7 75.5 8 1800 151 158 138 142 9 1100 93.5 122 104 118 10 1900 133 173 118 142 11 1500 173 170 179 240 12 3000 243 264 338 508 Suma 19100 1831.1 2010.3 2166.1 2710.7

Comparación con el tiempo total Ordenación con el tiempo total: De más rápida a más lenta: A, B, C, D Esto no significa que A sea siempre la más rápida (depende del programa), aunque, en conjunto, sí que lo es

Resumen con la media aritmética

Normalización de rendimientos: ratios Dividimos el valor obtenido en una máquina 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 aceleración es un índice a maximizar Programa R A B C D 1 1400 9.9 8.2 10.3 10.4 2 1400 9.1 8.4 6.6 4.7 ....

Comparación con valores normalizados

Lecturas de la gráfica anterior A obtiene mejor índice en todos los casos Altibajos en la media aritmética Comparación de B y C con tiempos B es más rápido que C: 2010,3 s frente a 2166,1 s Relación de tiempos: 2166,1/2010,3 = 1,08 Comparación de B y C con la media geométrica B y C son casi igual de rápidos: 9,60 s frente a 9,59 s Relación de medias geométricas: 9,60/9,59 = 1,00

5. Estrategias de análisis Efectos de la normalización y de la ponderación

Estrategias de análisis Muy raramente un estudio comparativo de prestaciones es un trabajo aburrido, sobre todo cuando intervienen los diseñadores e inteseres económicos Caso de estudio Tres sistemas: A, B y C Dos programas de prueba: P1 y P2 Tiempo de ejecución en segundos de cada programa A B C 1 10 20 1000 100 P1 P2

Tiempo individual de cada programa Tiempo individual de cada máquina A es 10 veces más rápido que B para P1 B es 10 veces más rápido que A para P2 C es 50 veces más rápido que A para P2 B es 2 veces más rápido que C para P1 C es 5 veces más rápido que B para P2 Sin embargo, la comparación entre los tres sistemas resulta confusa A B C 1 10 20 1000 100 P1 P2

Tiempo total de ejecución Tiempo total de respuesta Buena aproximación si los programas de prueba se ejecutan en tiempo no demasiado diferentes B es 9.1 (1001/110) veces más rápido que A para P1 y P2 C es 25 (1001/40) veces más rápido que A para P1 y P2 C es 2.75 (110/40) veces más rápido que B para P1 y P2 A B C 1001 110 40 Total

Utilizando medias aritméticas Resumiendo las datos con una media Buena aproximación 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 A B C 500.5 55.0 20.0 Media aritmética A B C 200.8 28.0 20.0 Media aritmética ponderada

Medias aritméticas ponderadas Aproximación si no se conoce la proporción de cada programa Se supone que el tiempo se distribuye entre los n programas Cálculo de los pesos para cada programa 2 (B) 3 (A) 0.909 0.999 0.091 0.001 1 0.500 w1 w2 Media aritmética Máquina A como referencia Máquina B como referencia

Medias aritméticas ponderadas: resumen Cálculo de medias aritméticas ponderadas Problema de la media aritmética ponderada Hay dependencia de la máquina de referencia Hay dependencia del tiempo usado en cada programa de prueba A B C w1 = w1 = 0.5 500.5 55.0 20.0 w1 = 0.909, w1 = 0.091 91.1 18.2 20.0 w1 = 0.999, w1 = 0.001 2.0 10.1 20.0

Normalización de los tiempos Normalización sobre diferentes bases Normalizado sobre A Normalizado sobre B Normalizado sobre C A B C A B C A B C Programa P1 1.0 10.0 20.0 0.1 1.0 2.0 0.05 0.5 1.0 Programa P2 1.0 0.1 0.02 10.0 1.0 0.2 50.0 50.0 1.0 Media aritmética 1.0 5.05 10.01 5.05 1.0 1.1 25.03 2.75 1.0 Media geométrica 1.0 1.0 0.63 1.0 1.0 0.63 1.58 1.58 1.0 Tiempo total 1.0 0.11 0.04 9.1 1.0 0.36 25.03 2.75 1.0

Principales conclusiones Análisis de los resultados El rendimiento calculado con la media aritmética varia según la máquina de referencia Col. 2: B es más lenta que A (referencia A) Col. 4: A es más lenta que B (referencia B) Col. 3: C es más lenta que A y B (referencia A) Col. 9: C es más rápida que A y B (referencia C) Las medias geométricas son consistentes independientemente de la máquina de referencia A y B tienen el mismo rendimiento El tiempo de ejecución de C es el 63% de A o B Sin embargo, el tiempo total de ejecución de A es 9 veces el de B, y el de B tres veces el de C

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

El paquete SPEC CPU2000 Compuesto por dos partes CINT2000: rendimiento en aritmética entera intensiva CFP2000: rendimiento en aritmética de coma flotante intensiva ¿Qué quiere decir la “C”? Se evalúan componentes, no el sistema entero ¿Qué componentes se evalúan? Procesador Arquitectura de memoria Compilador ¿Qué componentes no se evalúan? Subsistema de disco, red o gráficos

Criterios de selección 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 gráficos Han de caber en 256 MB de memoria principal para no provocar intercambio (swapping) con el disco No han de pasar más del 5% del tiempo ejecutando código que no sea especificado por SPEC

Programas dentro de CPU2000 CINT2000: 12 programas Todos en lenguaje C 164.gzip Utilidad de compresión 176.gcc Compilador de C 186.crafty Programa para jugar al ajedrez 197.parser Procesador de lenguaje natural 254.gap Teoría 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 Dinámica de fluidos 200.sixtrack Modelo de acelerador de partículas

Índices prestaciones en SPEC CPU2000 Índices de prestaciones Aritmética entera SPECint2000, SPECint_base2000 Aritmética en coma flotante SPECfp2000, SPECfp_base2000 Significado de “base” y “non-base” Compilación en modo conservativo o agresivo Cálculo Media geométrica de los valores normalizados respecto de la máquina de referencia Sun Ultra5_10 con un procesador a 300 MHz Tarda aproximadamente 2 días en ejecutar todos los benchmarks del paquete

Cálculo del índice SPECfp_base Benchmark Tiempo Tiempo Relación refer. medido (x100) 168.wupwise 1600 470 340 171.swim 3100 616 503 172.mgrid 1800 704 256 173.applu 2100 715 294 177.mesa 1400 334 419 178.galgel 2900 645 457 179.art 2600 1232 211 183.equake 1300 500 260 187.facerec 1900 488 390 188.ammp 2200 756 291 189.lucas 2000 869 230 191.fma3d 2100 594 354 200.sixtrack 1100 465 237 301.apsi 2600 975 267 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

Benchmark SYSMark 2004 Considera la carga en dos categorías 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 ejecución de cada tarea individual Para cada categoría se calcula el tiempo medio de ejecución de todas las tareas incluidas en ella

Cálculo del índice SYSMark 2004 El tiempo medio de cada categoría se normaliza (ratio) respecto de una máquina de referencia (calibration platform) y se multiplica por 100 Si ratio = 200  doble de rápida que la de referencia Finalmente, el índice SYSMark se calcula mediante la media geométrica de los dos ratios obtenidos