Is it ok for EnergyModel_ClusterEnergy to measure non-monothonic cpu-busy-data?
Created by: cdleonard
I tried to build an energy model with EnergyModel_ClusterEnergy.ipynb and I am getting data like this:
cap cluster core energy freq
0 428 big A72 -190.366532 600000
1 754 big A72 -454.737333 1056000
2 976 big A72 -5459.532065 1464000
3 1024 big A72 -13245.334314 1596000
4 226 little A53 -480.785152 600000
5 340 little A53 -700.483116 900000
6 453 little A53 -2525.761553 1200000
cap cluster energy freq
0 428 big 488.910997 600000
1 754 big 1045.501815 1056000
2 976 big 6753.157099 1464000
3 1024 big 15304.008077 1596000
4 226 little 587.965298 600000
5 340 little 878.468130 900000
6 453 little 3054.164654 1200000
The big cluster has non-monothonic per-cpu energy usage? This seems wrong and there are even some warnings about this however I tried to look into how this is calculated and found nothing obviously wrong. The specific warning is this:
WARNING : EnergyModel : Active states powers are expected to be monotonically increasing.
It seems that most of the energy is somehow ascribed to the cluster rather than the individual cores and the per-core numbers are low and end up non-monothonic. The per-frequency energy and power graph looks good (power consumption is higher at higher frequencies) but the "per-cpu" slope is close to equal between those higher frequencies. Maybe the extra power usage from enabling an extra core really is close to the same at high freqs?
It could also point to something rotten in my platform related to PSCI implementation? In particular cpuidle seems to have no effect on power usage but this busy-cost-data seems to be based entirely on hotplugging to force CPUs off.