Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Herramientas de benchmarks para evaluar el rendimiento en máquinas y aplicaciones

Herramientas de benchmarks para evaluar el rendimiento en máquinas y aplicaciones

Los benchmarks son programas que permiten evaluar el rendimiento de un sistema, componente o proceso en comparación con otros sistemas similares. Son herramientas esenciales para medir y comparar el rendimiento de hardware, software y sistemas en diferentes áreas. El objetivo es dar a conocer las principales herramientas de benchmark que disponemos hoy en día para medir el rendimiento.
Entre los puntos a tratar podemos destacar:
-Introducción a 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

jmortegac

May 25, 2024
Tweet

More Decks by jmortegac

Other Decks in Technology

Transcript

  1. ∘ 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
  2. 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.
  3. 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.
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.