Técnicas de evaluación del rendimiento en sistemas computacionales: modelos, benchmarks, simulación y monitores
Resumen
El documento describe las principales técnicas para evaluar el rendimiento de sistemas computacionales: modelos analíticos, puntos de referencia (benchmarks), programas sintéticos, simulación y control de rendimiento mediante monitores. Se explican sus requisitos, ventajas, limitaciones y cuándo conviene aplicar cada una. También se comentan los beneficios del control de rendimiento y las diferencias entre monitores de software y de hardware.
Puntos clave
- Los modelos analíticos son representaciones matemáticas, habitualmente basadas en teoría de colas o procesos de Markov, y solo son confiables en sistemas sencillos.
- Los benchmarks son programas reales que se ejecutan en la máquina evaluada, deben seleccionarse para ser representativos de los trabajos de la instalación.
- Los programas sintéticos son programas reales diseñados para ejercitar características específicas de una máquina y combinan técnicas de núcleos y benchmarks.
- La simulación consiste en desarrollar un modelo computarizado del sistema; permite evaluar sistemas inexistentes y evitar construir diseños mal planteados.
- El control de rendimiento recoge y analiza información del sistema existente y ayuda a localizar embotellamientos con rapidez.
- Los monitores de software son económicos pero pueden distorsionar las lecturas al consumir recursos; los de hardware son más costosos pero tienen influencia mínima sobre el sistema.
Modelos Analíticos
Son representaciones matemáticas de sistemas de computación o de componentes de sistemas de computación.
Tipos Comunes
Generalmente se utilizan los modelos de:
- Teoría de colas.
- Procesos de Markov.
Requisitos y Limitaciones
Requieren un gran nivel matemático del evaluador y son confiables solo en sistemas sencillos, ya que en sistemas complejos los supuestos simplificadores pueden invalidar su utilidad y aplicabilidad.
Puntos de Referencia (Benchmarks)
Son programas reales que el evaluador ejecuta en la máquina que se está evaluando.
Características
- Generalmente es un programa de producción:
- Típico de muchos trabajos de la instalación.
- Que se ejecuta con regularidad.
- El programa completo se ejecuta en la máquina real con datos reales.
Consideraciones
Se deben seleccionar cuidadosamente los puntos de referencia para que sean representativos de los trabajos de la instalación.
Los efectos del software pueden experimentarse directamente en vez de estimarse.
Programas Sintéticos
Combinan las técnicas de los núcleos y los puntos de referencia.
Son programas reales diseñados para ejercitar características específicas de una máquina.
Simulación
Es una técnica con la cual el evaluador desarrolla un modelo computarizado del sistema que se está evaluando.
Ventajas
Es posible preparar un modelo de un sistema inexistente y ejecutarlo para ver cómo se comportaría en ciertas circunstancias; se puede evitar la construcción de sistemas mal diseñados.
Aplicaciones
Los simuladores son muy aplicados en las industrias espaciales y de transportes.
Tipos de Simuladores
Los simuladores pueden ser:
- Manejados por eventos: Son controlados por los eventos producidos en el simulador según distribuciones probabilísticas.
Control de Rendimiento
Es la recolección y análisis de información relativa al rendimiento del sistema existente.
Beneficios
- Permite localizar embotellamientos con rapidez.
- Puede ayudar a decidir la forma de mejorar el rendimiento.
- Puede ser útil para determinar la distribución de trabajos de varios tipos; permitiría aconsejar el uso de compiladores optimizadores o compiladores rápidos y sucios.
Técnicas de Control
El control del rendimiento puede hacerse por medio de técnicas de hardware o de software.
Monitores de Rendimiento
Monitores de Software
- Generalmente son económicos.
- Pueden distorsionar las lecturas del rendimiento debido a que consumen recursos del sistema.
Monitores de Hardware
- Generalmente son más costosos.
- Su influencia sobre la operación del sistema es mínima.
Consideraciones Generales sobre Monitores
- Producen grandes cantidades de datos que deben ser analizados manualmente o por sistema.
- Indican con precisión cómo está funcionando un sistema.
- Son de mucha ayuda para evaluar sistemas en desarrollo y tomar las decisiones de diseño adecuadas.
Herramientas Adicionales
Los rastreos de ejecución de instrucciones (trace) o rastreos de ejecución de módulos pueden revelar embotellamientos.
Descargar
PDF Word HTMLPreguntas frecuentes
¿Qué diferencia hay entre un monitor de software y uno de hardware?
Los monitores de software son generalmente económicos, pero pueden distorsionar las lecturas porque consumen recursos del sistema. Los de hardware suelen ser más costosos, aunque su influencia sobre la operación del sistema es mínima.
¿Cuándo son confiables los modelos analíticos?
Solo son confiables en sistemas sencillos. En sistemas complejos, los supuestos simplificadores pueden invalidar su utilidad y aplicabilidad. Además, requieren un gran nivel matemático del evaluador.
¿Para qué sirve la simulación en la evaluación de sistemas?
Permite preparar un modelo de un sistema inexistente y ejecutarlo para ver cómo se comportaría en ciertas circunstancias. Así se puede evitar la construcción de sistemas mal diseñados.
Ponte a prueba
Tarjetas de repaso
Pulsa una tarjeta para ver la respuesta.
Test
Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.