Slide 1

Slide 1 text

Herramientas de benchmarks para evaluar el rendimiento en máquinas y aplicaciones José Manuel Ortega [email protected]

Slide 2

Slide 2 text

∘ Introducción a los Benchmarks: Definición y propósito de los benchmarks en la medición del rendimiento ∘ Tipos de Benchmarks: Benchmarks sintéticos vs. Benchmarks del mundo real.Benchmarks específicos para CPU, memoria, almacenamiento, y gráficos ∘ Selección de Benchmarks: Consideraciones al elegir benchmarks según el tipo de aplicación y los objetivos de evaluación

Slide 3

Slide 3 text

Introducción a los Benchmarks

Slide 4

Slide 4 text

Introducción a los Benchmarks Los benchmark tienen las siguientes funcionalidades: ● Comprobar si las especificaciones de los componentes están dentro del margen para el desarrollo de una arquitectura. ● Maximizar el rendimiento con un presupuesto dado. ● Minimizar costes manteniendo un nivel maximo de rendimiento.

Slide 5

Slide 5 text

Tipos de Benchmarks ● Sintéticos: Especialmente diseñados para medir el rendimiento de un componente individual de un ordenador, normalmente llevando el componente escogido a su máxima capacidad. ○ Ejemplos: Dhrystone, Whetstone. ● Aplicaciones: Herramientas basadas en aplicaciones reales, simulan una carga de trabajo para medir el comportamiento global del equipo. ○ Ejemplos: SPEC.

Slide 6

Slide 6 text

Tipos de Benchmarks ● Test de Bajo nivel: Miden directamente el rendimiento de los componentes. Ejemplo: el reloj de la CPU, los tiempos de la DRAM y de la caché SRAM, tiempo de acceso medio al disco duro, tiempos de latencia. ● Test de Alto nivel: Enfocados a medir el rendimiento de la combinación componente/controlador/SO de un aspecto específico del sistema, como por ejemplo el rendimiento de E/S con ficheros. Ejemplo: Velocidad de compresión

Slide 7

Slide 7 text

Selección de Benchmarks ● https://github.com/nfinit/ansibench ● https://www.netlib.org/benchmark ○ LINPACK ○ Whetstone ○ Dhrystone ○ NBench ○ CoreMark

Slide 8

Slide 8 text

Selección de Benchmarks ● LINPACK ○ Mide el rendimiento del sistema en términos de operaciones en coma flotante por segundo (FLOPS) ○ https://www.top500.org

Slide 9

Slide 9 text

Selección de Benchmarks ● LINPACK ○ https://www.netlib.org/benchmark/linpackc.new

Slide 10

Slide 10 text

Selección de Benchmarks ● Whetstone ○ Mide el rendimiento del sistema en términos de operaciones en coma flotante por segundo (FLOPS) ● Dhrystone ○ Mide el rendimiento del sistema en términos de operaciones con enteros del procesador. ○ https://en.wikipedia.org/wiki/VAX-11

Slide 11

Slide 11 text

Selección de Benchmarks

Slide 12

Slide 12 text

Selección de Benchmarks ● NBench ○ Mide las capacidades de la CPU, la FPU y el subsistema de memoria ○ Algortimos de ordenacion numérica, de cadenas, operaciones en coma flotante, resolución de sistemas de ecuaciones. ○ Capacidades de cifrado utilizando el algoritmo IDEA en grupos de 16 bits. ○ Evaluar la capacidad de ejecutar una red neuronal sencilla del tipo backpropagation

Slide 13

Slide 13 text

Selección de Benchmarks ● CoreMark ○ https://github.com/eembc/coremark ○ Uso en microcontroladores y microprocesadores. ○ Procesamiento de listas, la manipulación de matrices, las máquinas de estado y los controles de redundancia cíclica CRC.

Slide 14

Slide 14 text

Selección de Benchmarks ● CoreMark

Slide 15

Slide 15 text

Selección de Benchmarks ● CoreMark https://www.eembc.org/coremark/scores.php

Slide 16

Slide 16 text

Selección de Benchmarks ● SPEC (Standart Performance Evaluation Corporation) ● El término "SPEC" se refiere a "Standard Performance Evaluation Corporation", una organización que desarrolla estándares de referencia para evaluar el rendimiento de sistemas informáticos. ● Los benchmarks SPEC son una serie de pruebas estandarizadas diseñadas para evaluar y comparar el rendimiento de hardware y software en una variedad de sistemas y configuraciones.

Slide 17

Slide 17 text

Selección de Benchmarks ● SPEC (Standart Performance Evaluation Corporation) ● Conjunto de benchmarks CINT2000 12 programas para cálculos intensivos con números enteros en lenguajes C, C++: perlbench, bzip2, gcc, mcf, gobmk, hmmer, sjeng, libquantum, h264ref, omnetpp, astar, xalancbmk ● Conjunto de benchmarks CFP2006 17 programas para cálculos intensivo con números de punto flotante en lenguajes C, C++ y Fortran: bwaves, gamess, milc, zeusmp, gromacs, cactusADM, leslie3d, namd, dealII, soplex, povray, calculix, GemsFDTD, tonto, lbm, wrf, sphinx3.

Slide 18

Slide 18 text

Selección de Benchmarks ● CINT2000 contiene 11 aplicaciones escritas en C y una en C++ (252.eon) que son usadas como benchmarks. ○ 164.gzip: Utilidad de compresión de datos. ○ 175.vpr: Direccionamiento y ubicación de circuitos FPGA. ○ 176.gcc: Compilador C. ○ 181.mcf: Costo mínimo de flujo de red. ○ 186.crafty: Programa de ajedrez. ○ 197.parser: Procesamiento de lenguaje natural. ○ 252.eon: Efectos producidos por distintas fuentes de luz. ○ 253.perlbmk: Perl. ○ 254.gap: Teoría de grupo computacional. ○ 255.vortex: Base de datos orientada a objetos. ○ 256.bzip2: Utilidad de compresión de datos.

Slide 19

Slide 19 text

Selección de Benchmarks ● CFP2000 contiene 14 aplicaciones (seis en Fortran77, cuatro en FORTRAN90 y cuatro en C) que son usadas como benchmarks: ○ 168.wupwise: Cromodinámica de cuantos. ○ 171.swim: Modelado de aguas poco profundas. ○ 172.mgrid: Multi-grilla en campos potenciales 3D. ○ 173.applu: Ecuaciones diferenciales parciales parabólicas/elípticas. ○ 177.mesa: Biblioteca de gráficos 3D. ○ 178.galgel: Dinámica de fluidos: análisis de inestabilidad oscilatoria. ○ 179.art: Simulación de red neuronal: teoría de la resonancia adaptativa. ○ 183.equake: Simulación de elementos finitos: modelado de terremotos. ○ 187.facerec: Reconocimientos de imágenes: reconocimiento de rostros. ○ 188.ammp: Química computacional. ○ 189.lucas: Teoría de los números: prueba de primalidad. ○ 191.fma3d: Simulación de elementos finitos en choque. ○ 200.sixtrack: Modelo de acelerador de partículas. ○ 301.apsi: Problemas de temperatura, viento y distribución de contaminantes.

Slide 20

Slide 20 text

Selección de Benchmarks http://www.spec.org/cpu2017/results

Slide 21

Slide 21 text

Selección de Benchmarks http://www.spec.org/cpu2017/results

Slide 22

Slide 22 text

Herramientas de benchmarks para evaluar el rendimiento en máquinas y aplicaciones José Manuel Ortega [email protected]