stringtranslate.com

Punto de referencia (informática)

Una demostración gráfica que se ejecuta como punto de referencia del motor OGRE

En informática , un punto de referencia es el acto de ejecutar un programa informático , un conjunto de programas u otras operaciones, con el fin de evaluar el rendimiento relativo de un objeto, normalmente ejecutando una serie de pruebas y ensayos estándar en su contra. [1]

El término benchmark también se utiliza comúnmente para referirse a programas de evaluación comparativa cuidadosamente diseñados.

La evaluación comparativa suele asociarse con la evaluación de las características de rendimiento del hardware de un ordenador , por ejemplo, el rendimiento de las operaciones de punto flotante de una CPU , pero hay circunstancias en las que la técnica también es aplicable al software . Las evaluaciones comparativas de software se realizan, por ejemplo, con compiladores o sistemas de gestión de bases de datos (DBMS).

Los benchmarks proporcionan un método para comparar el rendimiento de varios subsistemas en diferentes arquitecturas de chips/sistemas . El benchmarking como parte de la integración continua se denomina benchmarking continuo. [2]

Objetivo

A medida que la arquitectura informática avanzaba, se hacía más difícil comparar el rendimiento de varios sistemas informáticos simplemente observando sus especificaciones. Por lo tanto, se desarrollaron pruebas que permitían la comparación de diferentes arquitecturas. Por ejemplo, los procesadores Pentium 4 generalmente operaban a una frecuencia de reloj más alta que los procesadores Athlon XP o PowerPC , lo que no se traducía necesariamente en una mayor potencia computacional; un procesador con una frecuencia de reloj más lenta podía funcionar tan bien o incluso mejor que un procesador que operaba a una frecuencia más alta. Véase BogoMips y el mito de los megahercios .

Los benchmarks están diseñados para imitar un tipo particular de carga de trabajo en un componente o sistema. Los benchmarks sintéticos lo hacen mediante programas especialmente creados que imponen la carga de trabajo en el componente. Los benchmarks de aplicaciones ejecutan programas del mundo real en el sistema. Si bien los benchmarks de aplicaciones generalmente brindan una medida mucho mejor del rendimiento del mundo real en un sistema determinado, los benchmarks sintéticos son útiles para probar componentes individuales, como un disco duro o un dispositivo de red.

Los puntos de referencia son particularmente importantes en el diseño de CPU , ya que brindan a los arquitectos de procesadores la capacidad de medir y hacer concesiones en las decisiones de microarquitectura . Por ejemplo, si un punto de referencia extrae los algoritmos clave de una aplicación, contendrá los aspectos sensibles al rendimiento de esa aplicación. Ejecutar este fragmento mucho más pequeño en un simulador con precisión de ciclo puede brindar pistas sobre cómo mejorar el rendimiento.

Antes del año 2000, los arquitectos de computadoras y microprocesadores utilizaban SPEC para hacer esto, aunque los puntos de referencia de SPEC basados ​​en Unix eran bastante largos y, por lo tanto, difíciles de usar intactos.

Se sabe que los fabricantes de computadoras configuran sus sistemas para ofrecer un rendimiento irreal en pruebas comparativas que no se replican en el uso real. Por ejemplo, durante la década de 1980, algunos compiladores podían detectar una operación matemática específica utilizada en una prueba comparativa de punto flotante conocida y reemplazar la operación con una operación matemáticamente equivalente más rápida. Sin embargo, dicha transformación rara vez fue útil fuera de la prueba comparativa hasta mediados de la década de 1990, cuando las arquitecturas RISC y VLIW enfatizaron la importancia de la tecnología de compiladores en relación con el rendimiento. Ahora las pruebas comparativas son utilizadas regularmente por las empresas de compiladores para mejorar no solo sus propias puntuaciones de prueba comparativa, sino también el rendimiento real de la aplicación.

Las CPU que tienen muchas unidades de ejecución (como una CPU superescalar , una CPU VLIW o una CPU de computación reconfigurable ) suelen tener velocidades de reloj más lentas que una CPU secuencial con una o dos unidades de ejecución cuando se construyen a partir de transistores que son igual de rápidos. Sin embargo, las CPU con muchas unidades de ejecución suelen completar tareas del mundo real y de referencia en menos tiempo que las CPU de alta velocidad de reloj supuestamente más rápidas.

Dada la gran cantidad de puntos de referencia disponibles, un fabricante generalmente puede encontrar al menos un punto de referencia que muestre que su sistema superará a otro sistema; se puede demostrar que los otros sistemas sobresalen con un punto de referencia diferente.

Los fabricantes suelen informar sólo sobre los puntos de referencia (o aspectos de los puntos de referencia) que muestran sus productos de la mejor manera. También se sabe que tergiversan la importancia de los puntos de referencia, una vez más para mostrar sus productos de la mejor manera posible. En conjunto, estas prácticas se denominan " marketing de referencia".

Lo ideal sería que los benchmarks sólo sustituyeran a las aplicaciones reales si la aplicación no está disponible o si es demasiado difícil o costoso trasladarla a un procesador o sistema informático específico. Si el rendimiento es fundamental, el único benchmark que importa es el conjunto de aplicaciones del entorno de destino.

Funcionalidad

Las características del software de evaluación comparativa pueden incluir la grabación/ exportación del curso del rendimiento a un archivo de hoja de cálculo , visualización como dibujar gráficos de líneas o mosaicos codificados por colores y pausar el proceso para poder reanudarlo sin tener que empezar de nuevo. El software puede tener características adicionales específicas para su propósito, por ejemplo, el software de evaluación comparativa de discos puede ser capaz de comenzar opcionalmente a medir la velocidad del disco dentro de un rango específico del disco en lugar de todo el disco, medir la velocidad de lectura de acceso aleatorio y la latencia , tener una función de "escaneo rápido" que mide la velocidad a través de muestras de intervalos y tamaños específicos, y permitir especificar un tamaño de bloque de datos , es decir, la cantidad de bytes solicitados por solicitud de lectura. [3]

Desafíos

La evaluación comparativa no es fácil y a menudo implica varias rondas iterativas para llegar a conclusiones predecibles y útiles. La interpretación de los datos de evaluación comparativa también es extraordinariamente difícil. A continuación, se incluye una lista parcial de los desafíos más comunes:

Principios de evaluación comparativa

Hay siete características vitales para los puntos de referencia. [6] Estas propiedades clave son:

  1. Relevancia: Los puntos de referencia deben medir características relativamente vitales.
  2. Representatividad: Las métricas de desempeño de referencia deben ser ampliamente aceptadas por la industria y el mundo académico.
  3. Equidad: Todos los sistemas deben ser comparados de manera justa.
  4. Repetibilidad: Se pueden verificar los resultados de referencia.
  5. Rentabilidad: Las pruebas de referencia son económicas.
  6. Escalabilidad: Las pruebas comparativas deben funcionar en sistemas que posean un rango de recursos desde bajos a altos.
  7. Transparencia: Las métricas de referencia deben ser fáciles de entender.

Tipos de benchmark

  1. Programa real
  2. Componente de referencia / microbenchmark
    • La rutina principal consiste en un fragmento de código relativamente pequeño y específico.
    • medir el rendimiento de los componentes básicos de una computadora [7]
    • Puede usarse para la detección automática de parámetros de hardware de la computadora, como número de registros, tamaño de caché , latencia de memoria , etc.
  3. Núcleo
    • contiene códigos clave
    • Normalmente abstraído del programa real
    • núcleo popular: bucle de Livermore
    • Referencia linpack (contiene subrutinas de álgebra lineal básica escritas en lenguaje FORTRAN)
    • Los resultados se representan en Mflop/s.
  4. Punto de referencia sintético
    • Procedimiento para programar benchmark sintético:
      • Tomar estadísticas de todo tipo de operaciones desde muchos programas de aplicación.
      • obtener proporción de cada operación
      • Escribe un programa basado en la proporción anterior.
    • Los tipos de benchmark sintético son:
    • Estos fueron los primeros benchmarks informáticos de uso general de la industria. No necesariamente obtienen puntuaciones altas en los ordenadores modernos con pipeline.
  5. Puntos de referencia de E/S
  6. Puntos de referencia de bases de datos
    • Medir el rendimiento y los tiempos de respuesta de los sistemas de gestión de bases de datos (DBMS)
  7. Puntos de referencia paralelos
    • Se utiliza en máquinas con múltiples núcleos y/o procesadores, o sistemas que constan de múltiples máquinas.

Puntos de referencia comunes

Estándar de la industria (auditado y verificable)

Puntos de referencia de código abierto

Pruebas comparativas de Microsoft Windows

Otros

Véase también

Referencias

  1. ^ Fleming, Philip J.; Wallace, John J. (1 de marzo de 1986). "Cómo no mentir con las estadísticas: la forma correcta de resumir los resultados de los estudios comparativos". Comunicaciones de la ACM . 29 (3): 218–221. doi : 10.1145/5666.5673 . ISSN  0001-0782. S2CID  1047380.
  2. ^ Grambow, Martin; Lehmann, Fabian; Bermbach, David (2019). "Evaluación comparativa continua: uso de la evaluación comparativa del sistema en los procesos de desarrollo". Conferencia internacional IEEE sobre ingeniería de la nube (IC2E) de 2019. págs. 241–246. doi :10.1109/IC2E.2019.00039. ISBN 978-1-7281-0218-4. Consultado el 3 de diciembre de 2023 .
  3. ^ Software: HDDScan, Discos GNOME
  4. ^ Krazit, Tom (2003). "Las tácticas de benchmarking de NVidia reevaluadas". IDG News . Archivado desde el original el 2011-06-06 . Consultado el 2009-08-08 .
  5. ^ Castor, Kevin (2006). "Metodología de evaluación comparativa y pruebas de hardware". Archivado desde el original el 5 de febrero de 2008. Consultado el 24 de febrero de 2008 .
  6. ^ Dai, Wei; Berleant, Daniel (12-14 de diciembre de 2019). "Evaluación comparativa de hardware y marcos de aprendizaje profundo contemporáneos: un estudio de métricas cualitativas" (PDF) . Primera conferencia internacional IEEE de 2019 sobre inteligencia artificial cognitiva (CogMI) . Los Ángeles, CA, EE. UU.: IEEE. págs. 148-155. arXiv : 1907.03626 . doi :10.1109/CogMI48466.2019.00029.
  7. ^ Ehliar, Andreas; Liu, Dake. "Evaluación comparativa de procesadores de red" (PDF) . {{cite journal}}: Requiere citar revista |journal=( ayuda )
  8. ^ Transaction Processing Performance Council (febrero de 1998). "Historia y descripción general del TPC". TPC . Transaction Processing Performance Council . Consultado el 2 de julio de 2018 .

Lectura adicional

Enlaces externos