PSU Energy - AC - SDIA - Machine

What it does

It estimates the total machine energy consumption (AC Power) based on the SDIA linear model, which takes TDP, CPU-Chips and Utilization as input variables.

The formula works as follows: (CPU-Chips * TDP * Utilization) / 0.65

0.65 is the coefficient assumed to be the amount the CPU contributes to the total energy consumption of a non-GPU server.

Classname

  • PsuEnergyAcSdiaMachineProvider

Metric Name

  • psu_energy_ac_sdia_machine

Prerequisites

The provider must be configured in the config.yml. Please see Configuration → for further info.

In the config.yml file also a system CPU utilization provider must be activated for the PsuEnergyAcSdiaMachineProvider to work. Depending on the operating system this is one of:

  • CpuUtilizationProcfsSystemProvider (cpu_utilization_procfs_system) on Linux
  • CpuUtilizationMachSystemProvider (cpu_utilization_mach_system) on macOS
  • CpuUtilizationWin32SystemProvider (cpu_utilization_win32_system) on Windows

Input Parameters

  • args
    • Takes no arguments

The provider cannot be run directly, it only works in conjunction with a run of the Green Metrics Tool.

The provider reads the log file of the system CPU utilization provider from the metrics folder of the run (/tmp/green-metrics-tool/metrics/ on Linux and macOS) in order to keep overhead low and not to double query the utilization from the system. It uses the first of these files that exists:

  • cpu_utilization_procfs_system.log
  • cpu_utilization_mach_system.log
  • cpu_utilization_win32_system.log

Output

Since this provider should not be run directly there it has no direct output.

The resulting data however is the energy of the whole machine (AC Power) in micro Joules.

This value has the same granularity as the one configured in the config.yml for the system CPU utilization provider.

Any errors are printed to Stderr.