Boavizta / boaviztapi

🛠 Giving access to BOAVIZTA reference data and methodologies trough a RESTful API
GNU Affero General Public License v3.0
66 stars 23 forks source link

Characterize the consumption profile of CPU from TDP #121

Closed da-ekchajzer closed 1 year ago

da-ekchajzer commented 1 year ago

Problem

The electrical consumption of CPU can be model from their consumption profile. When no consumption profile correspond to the CPU sent by a user, we use the default consumption profile. We could be more precise and adapt the default model from the TDP.

CPU consumption profile correspond to logarithmic functions : power_consumption(workload) = a * ln(b * (workload + c)) + d. When a TDP is given, we should use an average model for one unit of TDP multiply by the given TDP.

@github-benjamin-davy give an empirical average for (0%, 10%, 50%, 100%) per unit of TDP.

PkgWatt Idle PkgWatt CPUStress 10% PkgWatt CPUStress 50% PkgWatt Average 100%
0,12 0,32 0,75 1,02

see : https://docs.google.com/spreadsheets/d/1DqYgQnEDLQVQm5acMAhLgHLD8xXCG9BIrk-_Nv6jF3k/edit#gid=1695769209

Could we generate a logarithmic from these point and multiply the function by TDP given to obtain the consumption profile of the given CPU ? @samuelrince

da-ekchajzer commented 1 year ago

We need this type of behavior in the case of some AWS instances, especially the one based on gravition

da-ekchajzer commented 1 year ago

See https://github.com/Boavizta/boaviztapi/tree/feat/121

da-ekchajzer commented 1 year ago

Can we close this issue @samuelrince ?