Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
los sistemas High-Performance Computing (HPC) están diseñados para procesar grandes cantidades de datos y realizar cálculos complejos a altas velocidades. Comprender y medir su rendimiento es fundamental para la optimización del sistema, las decisiones de adquisición y garantizar que las aplicaciones cumplan los requisitos de rendimiento. En este documento se proporciona información general completa sobre los conceptos de rendimiento de HPC y las metodologías de pruebas comparativas.
Métricas clave de rendimiento
Comprender las métricas fundamentales que se usan para medir el rendimiento del sistema HPC es esencial para la evaluación y comparación significativas del sistema. Proporcionan medidas objetivas para la comparación, identifican cuellos de botella del sistema, lo que permite el ajuste del rendimiento y ayudan a predecir el rendimiento de las aplicaciones. Rendimiento
Las funcionalidades computacionales de los sistemas HPC se miden a través de varias métricas que cuantifican su capacidad de ejecutar cálculos e instrucciones.
- FLOPS (Operaciones deFloating-Point por segundo): mide la potencia computacional bruta de un sistema
- Rendimiento máximo: rendimiento máximo teórico que el sistema puede lograr
- Rendimiento sostenido: rendimiento real logrado durante las operaciones del mundo real
- IPS (Instrucciones por segundo): velocidad a la que un procesador ejecuta instrucciones
Categorías de pruebas comparativas
Los distintos tipos de pruebas comparativas sirven para evaluar el rendimiento del sistema, desde probar componentes específicos para evaluar el rendimiento de las aplicaciones del mundo real.
Pruebas comparativas sintéticas (Probar componentes o características específicos del sistema) |
Pruebas comparativas de aplicaciones (Aplicaciones reales o sus servidores proxy) |
Bancos de pruebas del kernel (Pequeñas partes independientes de las aplicaciones) |
---|---|---|
STREAM (ancho de banda de memoria) | Investigación y previsión meteorológicas (WRF) | Pruebas comparativas paralelas de NAS |
Pruebas comparativas de Intel MPI (rendimiento de red) | GROMACS (dinámica molecular) | Bancos de pruebas de DOE CORAL |
LINPACK (álgebra lineal densa) | NAMD (dinámica molecular) | Aplicaciones proxy de ECP |
HPCG (álgebra lineal dispersa) | MILC (cromodinámica cuántica) |
Métodos de análisis de rendimiento
Se emplean diversas técnicas para recopilar datos detallados de rendimiento e identificar cuellos de botella en aplicaciones y sistemas HPC. Los métodos usados con más frecuencia son la generación de perfiles donde recopila datos en tiempo de ejecución para comprender los patrones de uso de recursos y comportamiento del programa, el método de seguimiento en el que captura información temporal sobre la ejecución del programa y el comportamiento del sistema para el análisis detallado.
Generación de perfiles
- Generación de perfiles basada en tiempo: contador del programa de muestreo a intervalos regulares
- Generación de perfiles basada en eventos: recopilación de datos de contadores de hardware
- Generación de perfiles de comunicación: análisis de patrones de mensajes y tiempo
- Generación de perfiles de E/S: medición del rendimiento del sistema de archivos
Rastreo
- Análisis de escala de tiempo: Grabación del comportamiento temporal de los eventos
- Seguimiento de mensajes: Análisis de patrones de comunicación
- Seguimiento de contadores de hardware: registro de eventos de hardware en el tiempo
Técnicas de optimización del rendimiento
Estas estrategias ayudan a maximizar la eficiencia del sistema y el rendimiento de las aplicaciones en distintos aspectos de los sistemas HPC. Las técnicas más eficaces suelen combinar elementos de las tres categorías, creando una estrategia de optimización equilibrada que considera las características de rendimiento de todo el sistema. El éxito suele provenr de identificar qué combinación de estas técnicas mejor coincide con la arquitectura específica de la aplicación y del sistema.
Procedimientos recomendados para pruebas comparativas
A continuación se establecen procedimientos de pruebas comparativas que garantizan medidas de rendimiento confiables y reproducibles.
Metodología
- Para definir objetivos claros y métricas
- Selección de pruebas comparativas representativas
- Garantizar condiciones de prueba coherentes
- Documentar todos los parámetros de prueba
- Realización de varias ejecuciones para la validez estadística
Problemas comunes para evitar
- Períodos de preparación insuficientes
- Opciones de compilador incoherentes
- Tamaños de muestra inadecuados
- Conjuntos de datos de entrada poco realistas
- Ignorar la variabilidad del sistema
Requisitos de informes
- Detalles de configuración del sistema'
- Información del stack de software
- Parámetros de pruebas comparativas
- Resultados sin procesar y análisis estadísticos
- Condiciones ambientales
- Configuración de optimización