Métricas de Rendimiento en Sistemas Computacionales: Conceptos y Evaluación

Clasificado en Informática

Escrito el en español con un tamaño de 3,04 KB

Formas de medir el rendimiento

Métricas fundamentales

  • Tiempo de respuesta: Es el tiempo que demora en realizarse una tarea, desde el comienzo hasta su finalización. También conocido como tiempo de ejecución.
  • Productividad (Throughput): Cantidad total de trabajo realizado en un tiempo determinado. Indica una medida más exacta desde el punto de vista del sistema.

Ejemplo comparativo: Tiempo de respuesta (usuario) vs. Productividad (sistema): 180 segundos por usuario frente a 1 coche cada 30 segundos.

Medidas del tiempo

  1. Segundos: Única medida completa y fiable del rendimiento de un computador.
  2. Comando UNIX time: Mide el tiempo total transcurrido, incluyendo el tiempo de CPU dedicado a la tarea y el tiempo dedicado a entrada/salida de otros programas.

Ecuaciones y métricas de rendimiento

  • Ecuación clásica: T. CPU = número de ciclos de reloj por programa × tiempo de ciclo.
  • CPI Medio (Ciclos por Instrucción): Número de ciclos de reloj por programa dividido por el recuento de instrucciones. Permite comparar dos implementaciones de una misma arquitectura.
  • MIPS (Millones de Instrucciones por Segundo): Pueden ser relativos o nativos. Inconvenientes: dependen de las instrucciones existentes, no permiten comparar distintas arquitecturas, varían según el programa y pueden ser inversamente proporcionales al rendimiento.
  • MFLOPS (Millones de Operaciones en Punto Flotante por Segundo): Inconvenientes: solo se aplican a operaciones en punto flotante, no comparables entre diferentes máquinas y presentan mezclas de operaciones rápidas y lentas.

Benchmarks: Evaluación de carga de trabajo

Son programas que crean una carga de trabajo para que el usuario pueda predecir el rendimiento de la carga real:

  • Programas reales típicos: Compiladores, procesadores de texto, etc.
  • Kernels: Núcleos obtenidos de programas reales; pequeñas partes intensivas en tiempo.
  • Benchmarks reducidos (Toys): Contienen 10-100 líneas de código. El resultado es conocido antes de ejecutarlo.
  • Programas sintéticos: Creados artificialmente.

Problemas de los programas de prueba

Ni los toys ni los sintéticos cargan la memoria principal del sistema de forma realista, por lo que todo el programa suele caber en la caché. Además, los benchmarks son difíciles de realizar (especialmente en máquinas no construidas, donde la simulación es más lenta), no son portables y los compiladores a menudo no están disponibles.

Ley de Amdahl

El aumento de rendimiento posible para una mejora dada está limitado por la cantidad que se utiliza la característica mejorada.

Corolario: Hacer rápido el caso común.

Entradas relacionadas: