Energy-Aware Optimization of CFD Workloads in HPC via Machine Learning-Based Dynamic CPU Scaling
摘要
The energy efficiency optimization of High Performance Computing (HPC) systems is a significant challenge because increasing computational power leads to high energy consumption and heat generation. Dynamic Voltage and Frequency Scaling (DVFS) is a well-known technique used to reduce power consumption. However, default Linux CPU governors, such as Ondemand and Performance, have not demonstrated their effectiveness in real-world scenarios. Specifically, the Ondemand governor adjusts the CPU frequency in real time but does not always select the most energy-efficient frequency range for a given workload, leading to energy waste. On the other hand, the Performance governor keeps the CPU frequency at its maximum at all times, ensuring maximum performance at the cost of energy efficiency. In this paper, we present an energy-efficient optimization technique tailored for Computational Fluid Dynamics (CFD) workloads that tunes the Ondemand governor by optimizing the CPU frequency range used. Instead of allowing the CPU to scale without restriction across all possible frequencies, our method restricts CPU frequency scaling to an optimal range, which is dynamically selected based on workload characteristics such as mesh size, number of CPU cores, and computational intensity (equation). For this purpose, we conduct large-scale experiments on an HPC cluster and collect actual execution data with varying configurations. From this dataset, we build a machine learning (ML) model that predicts the optimal CPU frequency range for a given CFD workload in terms of both execution time and energy efficiency. Our experimental results demonstrate that dynamically selecting the CPU frequency range in the Ondemand Governor achieves an average energy savings of 20.01% compared to Performance and 20.32% compared to Ondemand, while maintaining a competitive performance within an acceptable 4.29% and 3.80% degradation, respectively.