Energy Optimization Governor for HPC systems.
Reads power, price, and CO₂ intensity data, then sets the CPU governor based on a calculated rating.
All the functionality and code logic located in src/hpc_eff stem from https://gitlab.cesnet.cz/dexter/hpc_eff.
hpc_eff is designed to be run periodically (e.g., via cron every few minutes) under root.
It evaluates current energy conditions, prints debug logs if enabled, and sets the CPU frequency governor accordingly.
Main steps performed:
- Load configuration from
/etc/hpc_eff/config.ini - Fetch current electricity price
- Read current power usage via a configured shell command
- Read current CPU frequency
- Retrieve available CPU frequencies and governors
- Fetch historical energy price averages and classify current price
- Fetch last 24h CO₂ values and calculate rating
- Apply CPU governor based on rating
- Clone the repository:
git clone git@github.com:CESNET/hpc_eff.git cd hpc_eff - Install the dependencies:
sudo dnf install ipmitool cpufrequtils make kernel-tools rpm-build rpmdevtools -y
- Build and install:
make
- Configure:
sudo vi /etc/hpc_eff/config.ini