SPEC

Hace mucho tiempo que os debía una entrada hablando de los benchmarks de SPEC. Standard Performance Evaluation Corporation (SPEC) es una organización que se encarga de proponer y mantener conjuntos de aplicaciones benchmark para diferentes campos de aplicación, y de estandarizar las métricas y metodologías de medida asociadas a estos conjuntos.

Quizás el más conocido sea SPEC CPU, que es el conjunto de benchmarks más utilizado para caracterizar el rendimiento de CPUs en sistemas de propósito general. (casi siempre PCs y servidores). Por ejemplo, el conjunto SPEC CPU 2006 está compuesto por 29 aplicaciones que evalúan el rendimiento del sistema tanto en operaciones con enteros (12 de las aplicaciones) como en operaciones en coma flotante (las otras 17). Dentro de este conjunto de benchmarks hay aplicaciones de compilación y programación en diferentes lenguajes, compresión de diferentes tipos de datos, algoritmos genéticos, inteligencia artificial y juegos, simulación, cómputo científico, etc.

Resumiendo, se trata de un conjunto de aplicaciones que representa de la manera más completa posible la carga de trabajo habitual de los computadores de propósito general actuales. Para todos los benchmarks existe una documentación que describe exhaustivamente el tipo de trabajo que realizan, las entradas que necesitan, las salidas que producen, el lenguaje de programación en el que están escritos y los aspectos relacionados con su portabilidad (ya que se evalúan con estos benchmarks una gran variedad de plataformas).

SPEC no sólo proporciona este conjunto de aplicaciones sino también una métrica de rendimiento asociada y una metodología para su medida. Además SPEC publica en su página web (www.spec.org) evaluaciones de rendimiento de multitud de sistemas y plataformas por lo que se utiliza muy a menudo para hacer comparaciones de rendimiento y para encontrar configuraciones óptimas.

Podéis ver en la web de SPEC que además de este conjunto de aplicaciones para medir el rendimiento de computaroes de propósito general, existen otros para cuantificar las prestaciones de tarjetas gráficas, servidores web, etc; y que además se están desarrollando otros para arquitecturas SOA o virtualizaciones. Algunos de estos conjuntos se pueden descargar libremente, pero la mayoría, aunque con un precio asequible, son de pago.


No hay comentarios: