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 rendimiento 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.
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 de SPEC basados en Unix 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:
Los proveedores tienden a ajustar sus productos específicamente a los estándares de la industria. Norton SysInfo (SI) es particularmente fácil de ajustar, ya que se inclina principalmente hacia la velocidad de múltiples operaciones. Tenga extrema precaución al interpretar dichos resultados.
Algunos proveedores han sido acusados de "hacer trampa" en los puntos de referencia: hacer cosas que dan números de referencia mucho más altos, pero empeoran las cosas en la carga de trabajo probable real. [4]
Muchos puntos de referencia se centran completamente en la velocidad del rendimiento computacional , descuidando otras características importantes de un sistema informático, como por ejemplo:
Cualidades del servicio, además del rendimiento bruto. Ejemplos de cualidades de servicio no medidas incluyen seguridad, disponibilidad, confiabilidad, integridad de ejecución, capacidad de servicio, escalabilidad (especialmente la capacidad de agregar o reasignar capacidad de manera rápida y sin interrupciones), etc. A menudo existen compensaciones reales entre estas cualidades de servicio. y todos son importantes en la informática empresarial. Las especificaciones de referencia del Transaction Processing Performance Council abordan parcialmente estas preocupaciones al especificar pruebas de propiedades ACID , reglas de escalabilidad de bases de datos y requisitos de nivel de servicio.
En general, los puntos de referencia no miden el costo total de propiedad . Las especificaciones de referencia del Transaction Processing Performance Council abordan parcialmente esta preocupación al especificar que se debe informar una métrica de precio/rendimiento además de una métrica de desempeño bruta, utilizando una fórmula de TCO simplificada . Sin embargo, los costos son necesariamente sólo parciales, y se sabe que los proveedores fijan el precio específicamente (y sólo) para el punto de referencia, diseñando una configuración "especial de punto de referencia" altamente específica con un precio artificialmente bajo. Incluso una pequeña desviación del paquete de referencia resulta en un precio mucho más alto en la experiencia del mundo real.
Carga de las instalaciones (espacio, energía y refrigeración). Cuando se utiliza más energía, un sistema portátil tendrá una duración de batería más corta y requerirá recargarse con más frecuencia. Es posible que un servidor que consuma más energía y/o espacio no pueda adaptarse a las limitaciones de recursos existentes del centro de datos, incluidas las limitaciones de refrigeración. Existen verdaderas compensaciones, ya que la mayoría de los semiconductores requieren más energía para cambiar más rápido. Véase también rendimiento por vatio .
En algunos sistemas integrados, donde la memoria representa un costo significativo, una mejor densidad de código puede reducir significativamente los costos.
Los puntos de referencia de los proveedores tienden a ignorar los requisitos de capacidad informática de desarrollo, prueba y recuperación ante desastres . A los proveedores sólo les gusta informar lo que podría ser estrictamente necesario para la capacidad de producción para que su precio de adquisición inicial parezca lo más bajo posible.
Los puntos de referencia están teniendo problemas para adaptarse a servidores ampliamente distribuidos, particularmente aquellos con mayor sensibilidad a las topologías de red. La aparición de la computación grid , en particular, complica la evaluación comparativa ya que algunas cargas de trabajo son "compatibles con la grid", mientras que otras no lo son.
Los usuarios pueden tener percepciones del rendimiento muy diferentes a las que sugieren los puntos de referencia. En particular, los usuarios aprecian la previsibilidad: servidores que siempre cumplen o superan los acuerdos de nivel de servicio . Los puntos de referencia tienden a enfatizar las puntuaciones medias (perspectiva de TI), en lugar de los tiempos de respuesta máximos en el peor de los casos ( perspectiva de computación en tiempo real ) o desviaciones estándar bajas (perspectiva del usuario).
Muchas arquitecturas de servidores se degradan drásticamente con niveles de uso elevados (cerca del 100 %) (“caen por un precipicio”) y los puntos de referencia deberían (aunque a menudo no lo hacen) tener en cuenta ese factor. Los proveedores, en particular, tienden a publicar pruebas comparativas de servidores de forma continua con un uso de aproximadamente el 80% (una situación poco realista) y no documentan lo que sucede con el sistema en general cuando la demanda supera ese nivel.
Muchos puntos de referencia se centran en una aplicación, o incluso en un nivel de aplicación, excluyendo otras aplicaciones. La mayoría de los centros de datos ahora están implementando ampliamente la virtualización por una variedad de razones, y la evaluación comparativa aún se está poniendo al día con esa realidad en la que múltiples aplicaciones y niveles de aplicaciones se ejecutan simultáneamente en servidores consolidados.
Existen pocos (si es que hay alguno) puntos de referencia de alta calidad que ayuden a medir el rendimiento de la computación por lotes, especialmente la computación por lotes y en línea concurrente de gran volumen. La computación por lotes tiende a centrarse mucho más en la previsibilidad de completar correctamente tareas de larga duración antes de las fechas límite, como fin de mes o fin de año fiscal. Muchos procesos comerciales importantes están orientados a lotes y probablemente siempre lo estarán, como la facturación.
Las instituciones de evaluación comparativa a menudo ignoran o no siguen el método científico básico. Esto incluye, entre otros: tamaño de muestra pequeño, falta de control de variables y repetibilidad limitada de los resultados. [5]
Principios de evaluación comparativa
Hay siete características vitales para los puntos de referencia. [6] Estas propiedades clave son:
Relevancia: Los puntos de referencia deben medir características relativamente vitales.
Representatividad: Las métricas de desempeño de referencia deben ser ampliamente aceptadas por la industria y el mundo académico.
Equidad: todos los sistemas deben compararse de manera justa.
Repetibilidad: los resultados de las pruebas comparativas se pueden verificar.
Rentabilidad: Las pruebas de referencia son económicas.
Escalabilidad: las pruebas de referencia deberían funcionar en sistemas que posean una variedad de recursos de menor a mayor.
Transparencia: las métricas de referencia deben ser fáciles de entender.
Tipos de punto de referencia
programa real
software de procesamiento de textos
software de herramienta de CAD
software de aplicación del usuario (es decir, MIS)
Punto de referencia de componentes/micropunto de referencia
La rutina central consta de 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.
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.
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
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.
Puntos de referencia de E/S
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)
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
AIM Multiuser Benchmark : compuesto por una lista de pruebas que podrían combinarse para crear una 'combinación de carga' que simularía una función informática específica en cualquier sistema operativo tipo UNIX.
Bonnie++ : sistema de archivos y punto de referencia del disco duro
BRL-CAD : conjunto de pruebas multiplataforma independiente de la arquitectura basado en el rendimiento de trazado de rayos multiproceso; basado en un VAX-11/780; y se utiliza desde 1984 para evaluar el rendimiento relativo de la CPU, las diferencias del compilador, los niveles de optimización, la coherencia, las diferencias de arquitectura y las diferencias del sistema operativo.
Conocimiento colectivo : marco personalizable y multiplataforma para realizar evaluaciones comparativas y optimizar las cargas de trabajo de los usuarios (como el aprendizaje profundo ) en todo el hardware proporcionado por voluntarios.
Coremark : punto de referencia de informática integrada
NBench : conjunto de pruebas sintéticas que miden el rendimiento de la aritmética de enteros, operaciones de memoria y aritmética de punto flotante
PAL : un punto de referencia para motores de física en tiempo real
PerfKitBenchmarker : un conjunto de puntos de referencia para medir y comparar ofertas en la nube.
Phoronix Test Suite : conjunto de evaluación comparativa multiplataforma de código abierto para Linux, OpenSolaris, FreeBSD, OSX y Windows. Incluye una serie de otros puntos de referencia incluidos en esta página para simplificar la ejecución.
Clasificación de rendimiento : esquema de modelado utilizado por AMD y Cyrix para reflejar el rendimiento relativo que normalmente se compara con los productos de la competencia.
Conjunto de pruebas : una colección de casos de prueba destinados a mostrar que un programa de software tiene un conjunto específico de comportamientos.
Referencias
^ 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.
^ 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". Conferencia internacional IEEE 2019 sobre ingeniería en la nube (IC2E) . págs. 241–246. doi :10.1109/IC2E.2019.00039. ISBN978-1-7281-0218-4. Consultado el 3 de diciembre de 2023 .
^ Software: HDDScan, Discos GNOME
^ 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 .
^ 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 .
^ 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) . Primera Conferencia Internacional IEEE 2019 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.
^ Ehliar, Andrés; Liu, Dake. "Evaluación comparativa de procesadores de red" (PDF) .{{cite journal}}: Citar diario requiere |journal=( ayuda )
Gray, Jim, ed. (1993). El manual de referencia para sistemas de transacciones y bases de datos . Serie Morgan Kaufmann sobre sistemas de gestión de datos (2ª ed.). Morgan Kaufmann Publishers, Inc. ISBN 1-55860-292-5.
Scalzo, Bert; Kline, Kevin; Fernández, Claudia; Burleson, Donald K.; Ault, Mike (2007). Métodos prácticos de evaluación comparativa de bases de datos para Oracle y SQL Server . Prensa tecnológica desenfrenada. ISBN 978-0-9776715-3-3.
Nambiar, Raghunath; Poess, Meikel, eds. (2009). Evaluación de Desempeño y Benchmarking . Saltador. ISBN 978-3-642-10423-7.
Enlaces externos
Lewis, Byron C.; Tripulaciones, Albert E. (1985). "La evolución del benchmarking como técnica de evaluación del rendimiento informático" . MIS trimestral . 9 (1): 7–16. doi :10.2307/249270. ISSN 0276-7783. JSTOR 249270.Las fechas: 1962-1976
Wikimedia Commons tiene medios relacionados con Benchmarks (informática) .