Enhancing HPC efficiency: adaptive resource management and scheduling through online monitoring and prediction systems

Antoni Navarro Muñoz · 2024

(English) High-Performance Computing (HPC) systems continuously evolve, driven by user needs and technology trends. Over the decades, research involving HPC systems has gone from exclusively prioritizing time-to-solution and performance to including energy efficiency and system throughput as equally important objectives. Although the approaches to tackle these objectives may vary, energy efficiency and system throughput are symbiotic, as often improving the latter enhances the former. Several software components seamlessly relate to these objectives, from applications, programming models, and runtime systems to job schedulers and operating systems. Nonetheless, parallel programming models aid HPC users in achieving these objectives by abstracting the intricacies of the underlying system. Hence, runtime systems are crucial in coping with the surfaced challenges. Runtime systems can gather precise and fine-grained profiling information and leverage it to implement advanced scheduling and resource management heuristics to optimize the execution of applications. However, current implementations are either too naive and static to cope with the irregularity and dynamism of today’s applications or introduce adverse effects in the form of overhead and complexity. To overcome these drawbacks, current runtime systems should utilize techniques that optimize system throughput adaptively through informed decisions rather than statically tailoring settings per execution. This thesis’s main objective is to design and develop a precise and low-overhead online monitoring and prediction infrastructure that provides all the necessary capabilities to enhance resource management and scheduling techniques for HPC systems. Our research finds that, based on the information provided by our monitoring infrastructures, creating adaptive techniques or enhancing existing ones can improve performance and energy efficiency compared to the static methods found in the literature. Furthermore, through a novel design, our monitoring infrastructures provide accurate and fine-grained metrics and predictions with negligible overhead while in an online operating mode. Finally, our contributions demonstrate how system throughput and energy efficiency can improve by leveraging detailed information from the runtime systems and system job schedulers. (Català) Els sistemes de computació d’alt rendiment (HPC) evolucionen contínuament, impulsats per les necessitats dels usuaris i les tendències tecnològiques. Al llarg de les dècades, la recerca que involucra els sistemes HPC ha passat de prioritzar exclusivament el rendiment de les aplicacions a incloure l’eficiència energètica com a objectiu igualment important. Tot i que els enfocaments per abordar aquests objectius poden variar, l’eficiència energètica i el rendiment del sistema són simbiòtics, ja que sovint la millora d’aquest últim millora el primer. Diversos components es relacionen perfectament amb aquests objectius, des d’aplicacions, models de programació i sistemes runtime fins a planificadors de treball en l’àmbit de sistema i sistemes operatius. Els models de programació paral·lels ajuden els usuaris de HPC a aconseguir aquests objectius mitjançant l’abstracció de les complexitats del sistema subjacent. Per tant, els sistemes runtime són crucials per a fer front a aquests reptes. Els sistemes runtime poden recopilar informació precisa i aprofitar-la per implementar heurístiques de planificació avançada i gestió de recursos per optimitzar l’execució d’aplicacions. No obstant això, les implementacions actuals són massa estàtiques per a fer front a la irregularitat i el dinamisme de les aplicacions actuals, i poden introduir efectes adversos en forma de sobrecàrrega en temps d’execució i complexitat. Per superar aquests inconvenients, els sistemes runtime haurien d’utilitzar tècniques que optimitzin el rendiment del sistema de manera adaptativa a través de decisions informades en lloc d’ajustar estàticament la configuració per execució. L’objectiu principal d’aquesta tesi és dissenyar i desenvolupar una infraestructura de monitoratge i predicció en línia, precisa i de baix cost, que proporcioni totes les capacitats necessàries per millorar les tècniques de gestió de recursos i programació per als sistemes HPC. La nostra recerca conclou que, a partir de la informació proporcionada per les nostres infraestructures de monitoratge, la creació de tècniques adaptatives o la millora de les existents pot millorar el rendiment i l’eficiència energètica en comparació amb els mètodes estàtics trobats a la literatura. A més, a través d’un nou disseny, les nostres infraestructures de monitoratge proporcionen mètriques i prediccions precises amb una despesa en temps d’execució insignificant. Finalment, les nostres contribucions demostren com el rendiment del sistema i l’eficiència energètica poden millorar aprofitant la informació detallada des de sistemes runtime i planificadors de treball del sistema. (Español) Los sistemas de computación de alto rendimiento (HPC) evolucionan continuamente, impulsados por las necesidades de los usuarios y las tendencias tecnológicas. A lo largo de las décadas, la investigación que involucra los sistemas HPC ha pasado de priorizar exclusivamente el rendimiento de las aplicaciones a incluir la eficiencia energética como objetivo igualmente importante. A pesar de que los enfoques para abordar estos objetivos pueden variar, la eficiencia energética y el rendimiento del sistema son simbióticos, puesto que a menudo la mejora de este último mejora el primero. Varios componentes se relacionan perfectamente con estos objetivos, desde aplicaciones, modelos de programación y sistemas runtime hasta planificadores de trabajo en el ámbito de sistema y sistemas operativos. Los modelos de programación paralelos ayudan los usuarios de HPC a conseguir estos objetivos mediante la abstracción de las complejidades del sistema subyacente. Por lo tanto, los sistemas runtime son cruciales para hacer frente a estos retos. Los sistemas runtime pueden recopilar información precisa y aprovecharla para implementar heurísticas de planificación avanzada y gestión de recursos para optimizar la ejecución de aplicaciones. Sin embargo, las implementaciones actuales son demasiado estáticas para hacer frente a la irregularidad y el dinamismo de las aplicaciones actuales, y pueden introducir efectos adversos en forma de sobrecarga en tiempo de ejecución y complejidad. Para superar estos inconvenientes, los sistemas runtime tendrían que utilizar técnicas que optimicen el rendimiento del sistema de manera adaptativa a través de decisiones informadas en lugar de ajustar estáticamente la configuración por ejecución. El objetivo principal de esta tesis es diseñar y desarrollar una infraestructura de monitorización y predicción en línea, precisa y de bajo coste, que proporcione todas las capacidades necesarias para mejorar las técnicas de gestión de recursos y programación para los sistemas HPC. Nuestra investigación concluye que, a partir de la información proporcionada por nuestras infraestructuras de monitorización, la creación de técnicas adaptativas o la mejora de las existentes puede mejorar el rendimiento y la eficiencia energética en comparación con los métodos estáticos encontrados a la literatura. Además, a través de un nuevo diseño, nuestras infraestructuras de monitorización proporcionan métricas y predicciones precisas con un gasto en tiempo de ejecución insignificante. Finalmente, nuestras contribuciones demuestran como el rendimiento del sistema y la eficiencia energética pueden mejorar aprovechando la información detallada desde sistemas runtime y planificadores de trabajo del sistema.

Read the paper · More papers on PaperTik