eagle ​

Introduction ​

EAGLE (Energy Aware intelliGent scheduLEr) is a service that dynamically adjusts the operating system based on energy efficiency.

Description ​

  • Release version: 22.03-LTS-SP4
  • eagle version: 1.1.0
  • RPM package: eagle, which manages the implementation of all power policies and depends on powerapi.
  • RPM subpackage: python3-eagle-mpctool, an mpctool subpackage that is a service for controlling the fan speed.
  • mpctool currently supports only the following ARM server models and cannot be used on x86.
    1. Taishan200 2280(VD)
    2. Taishan200 Pro 2280
    3. Taishan200 2280v2

Installation ​

Use dnf to install the software (ensure that the yum source of 22.03-LTS-SP4 has been configured).

shell
dnf install -y eagle python3-eagle-mpctool

After the software is installed, the eagle and mpctool services are automatically started. You can use systemctl to view the service status.

shell
systemctl status pwrapis # eagle depends on powerapi. Confirm that the pwrapis service has been started before the startup.
systemctl status eagle
systemctl status mpctool

Key File Description ​

All eagle-related configuration files can be obtained by viewing the files provided by the RPM package. Use the following command:

shell
rpm -ql eagle

The description of each item is as follows:

  • /etc/eagle/eagle_policy.ini: Policy configuration file. Users can use this file to configure the required power policies.
  • /etc/eagle/eagle_config.ini: Configuration of logs, the period for updating policy files, and other items. Users can configure this file.
  • /etc/eagle/plugin/lib_*.so: Dynamic library of the power plugin implementation. Users cannot configure it. Currently, four types of power policies are supported: sched_service, freq_service, idle_service, and mpc_service. Therefore, there are four lib_*.so plugin libraries.
  • /usr/sbin/eagle: eagle executable file.
  • /etc/systemd/system/eagle.service: Configuration file for starting the eagle service.

Main Functions ​

  • Dynamically update power policies: eagle can dynamically adjust the power-related configurations of the system based on the configurations in the policy file (/etc/eagle/eagle_policy.ini). The function of each configuration item is described in the comments of the configuration file.
  • Restore power configurations: When the eagle service exits, the system power configurations that were in effect before eagle was started are restored.