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
- Segundos: Única medida completa y fiable del rendimiento de un computador.
- 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.