stringtranslate.com

Punto de referencia (informática)

Una demostración gráfica funcionando como punto de referencia del motor OGRE .

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

El término punto de referencia también se utiliza comúnmente para los fines de los propios programas de evaluación comparativa elaborados.

La evaluación comparativa generalmente se asocia con la evaluación de las características de rendimiento del hardware de la computadora , por ejemplo, el rendimiento del funcionamiento en coma flotante de una CPU , pero hay circunstancias en las que la técnica también se aplica al software . Los benchmarks de software se ejecutan, por ejemplo, contra compiladores o sistemas de gestión de bases de datos (DBMS).

Los puntos de referencia proporcionan un método para comparar el rendimiento de varios subsistemas en diferentes arquitecturas de chip/sistema . La evaluación comparativa como parte de la integración continua se denomina evaluación comparativa continua. [2]

Objetivo

A medida que avanzó la arquitectura informática , se volvió más difícil comparar el rendimiento de varios sistemas informáticos simplemente mirando sus especificaciones. Por ello se desarrollaron pruebas que permitieron comparar 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 necesariamente se traducía en una mayor potencia computacional; un procesador con una frecuencia de reloj más lenta podría funcionar tan bien o incluso mejor que un procesador que funcione a una frecuencia más alta. Véase BogoMips y el mito de los megahercios .

Los puntos de referencia están diseñados para imitar un tipo particular de carga de trabajo en un componente o sistema. Los puntos de referencia sintéticos hacen esto mediante programas especialmente creados que imponen la carga de trabajo al componente. Los puntos de referencia de aplicaciones ejecutan programas del mundo real en el sistema. Si bien los puntos de referencia de aplicaciones suelen ofrecer una medida mucho mejor del rendimiento del mundo real en un sistema determinado, los puntos de referencia 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 de ciclo preciso puede dar pistas sobre cómo mejorar el rendimiento.

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

Se sabe que los fabricantes de computadoras configuran sus sistemas para brindar un rendimiento irrealmente alto 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 un conocido punto flotante de referencia y reemplazar la operación con una operación matemáticamente equivalente más rápida. Sin embargo, tal transformación rara vez fue útil fuera del punto de referencia hasta mediados de la década de 1990, cuando las arquitecturas RISC y VLIW enfatizaron la importancia de la tecnología de compilación en relación con el rendimiento. Actualmente, las empresas compiladoras utilizan regularmente los puntos de referencia para mejorar no sólo sus propios puntajes de referencia, sino también el rendimiento real de las aplicaciones.

Las CPU que tienen muchas unidades de ejecución (como una CPU superescalar , una CPU VLIW o una CPU informática 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 a menudo completan tareas del mundo real y de referencia en menos tiempo que las CPU supuestamente más rápidas y de alta velocidad.

Dada la gran cantidad de puntos de referencia disponibles, un fabricante generalmente puede encontrar al menos un punto de referencia que demuestre 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 aquellos 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, nuevamente para mostrar sus productos de la mejor manera posible. En conjunto, estas prácticas se denominan marketing de banco.

Idealmente, los puntos de referencia sólo deberían sustituir aplicaciones reales si la aplicación no está disponible o es demasiado difícil o costosa para trasladarla a un procesador o sistema informático específico. Si el rendimiento es crítico, el único punto de referencia que importa es el conjunto de aplicaciones del entorno de destino.

Funcionalidad

Las características del software de evaluación comparativa pueden incluir registrar/ exportar el curso del desempeño 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, opcionalmente, comenzar a medir la velocidad del disco dentro de un rango específico del disco en lugar del disco completo, medir la velocidad de lectura de acceso aleatorio y la latencia , tener un " Función de escaneo rápido" que mide la velocidad a través de muestras de intervalos y tamaños específicos, y permite especificar un tamaño de bloque de datos , es decir, el número 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 útiles y predecibles. La interpretación de los datos de evaluación comparativa también es extraordinariamente difícil. Aquí hay una lista parcial de desafíos 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 compararse de manera justa.
  4. Repetibilidad: los resultados de las pruebas comparativas se pueden verificar.
  5. Rentabilidad: Las pruebas de referencia son económicas.
  6. Escalabilidad: las pruebas de referencia deberían funcionar en sistemas que posean una variedad de recursos de menor a mayor.
  7. Transparencia: las métricas de referencia deben ser fáciles de entender.

Tipos de punto de referencia

  1. programa real
  2. Punto de referencia de componentes/micropunto de referencia
    • 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]
    • se puede utilizar 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
    • linpack benchmark (contiene una subrutina básica de álgebra lineal escrita 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 la proporción de cada operación
      • escribir un programa basado en la proporción anterior
    • Los tipos de referencia sintética son:
    • Estos fueron los primeros puntos de referencia informáticos estándar de la industria de uso general. No necesariamente obtienen puntuaciones altas en los ordenadores modernos.
  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
    • utilizado 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

Puntos de referencia de Microsoft Windows

Otros

Ver 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 benchmarks". Comunicaciones de la ACM . 29 (3): 218–221. doi : 10.1145/5666.5673 . ISSN  0001-0782. S2CID  1047380 . Consultado el 9 de junio de 2017 .
  2. ^ Grambow, Martín; Lehmann, Fabián; Bermbach, David (2019). Evaluación comparativa continua: uso de la evaluación comparativa del sistema en tuberías de construcción. doi : 10.1109/IC2E.2019.00039 . Consultado el 3 de diciembre de 2023 .
  3. ^ Software: HDDScan, Discos GNOME
  4. ^ Krazit, Tom (2003). "Reevaluación de las tácticas de referencia de NVidia". Noticias IDG . Archivado desde el original el 6 de junio de 2011 . Consultado el 8 de agosto de 2009 .
  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 al 14 de diciembre de 2019). "Evaluación comparativa de marcos y hardware de aprendizaje profundo contemporáneo: una encuesta de métricas cualitativas" (PDF) . 2019 Primera Conferencia Internacional IEEE sobre Inteligencia Cognitiva de Máquinas (CogMI) . Los Ángeles, CA, EE.UU.: IEEE. págs. 148-155. arXiv : 1907.03626 . doi :10.1109/CogMI48466.2019.00029.
  7. ^ Ehliar, Andrés; Liu, Dake. "Evaluación comparativa de procesadores de red" (PDF) . {{cite journal}}: Citar diario requiere |journal=( ayuda )
  8. ^ Consejo de desempeño del procesamiento de transacciones (febrero de 1998). "Historia y Panorama del TPC". TPC . Consejo de desempeño del procesamiento de transacciones . Consultado el 2 de julio de 2018 .

Otras lecturas

enlaces externos