Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Power curves #62

Open
anewmandev opened this issue Jul 18, 2024 · 3 comments
Open

Power curves #62

anewmandev opened this issue Jul 18, 2024 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@anewmandev
Copy link
Collaborator

Need to work on what sensible power curves to apply for processors (or families of) to get more accurate power numbers.
Also to consider the uncertainty levels of the data we have available and to communicate that in the methodology and visuals.

@anewmandev
Copy link
Collaborator Author

Boavizta api gives us an endpoint that returns abcd coefficients to 'shape' the boavizta generic power curve for a given CPU.

@anewmandev anewmandev self-assigned this Aug 19, 2024
@anewmandev anewmandev added the enhancement New feature or request label Aug 19, 2024
@ohuu
Copy link
Collaborator

ohuu commented Aug 19, 2024

Presumably that power curve works on CPU utilization? So I guess we just feed the utilization numbers into the function and it returns a TDP for that level?

At the moment, Cardamon assumes a single TDP value, we would need to change that. We'd need to store the A,B,C,D values of the processor instead of it's average power consumption (TDP)

@anewmandev anewmandev added this to the v0.1.0 milestone Aug 19, 2024
@anewmandev
Copy link
Collaborator Author

We had a good dig around this. The Boavizta abcd modelling is a regression fit curve to a small set of Intel CPUs from some TEADs data from a few years ago when someone was looking onto AWS instance power. The curve shape seems to be used as basis to extrapolate to other CPUs (AMD also) using the TDP for the curve 'height'.

What we need to do is

  1. a data integrity dive: get all CPUs (or lots) and assess any holes in the Boavizta dataset
  2. based on that research come up with what we think is best approach for utilisation driven power curves
  3. engage with Boavizta and share / contribute our work

Energizta is a project that appears to aim at addressing this with a community driven research and data but looks to be stale or not widerly adoptied. Need to understand the goals of that project.

We also need to consider long term options and paths forward

  • do we stick with the utilisation driven approach and either (1) extend to RAM, Nw, Disk, GPU and come up with a piecewise sum of all parts approach or (2) understand better the quality or limitations of CPU as a whole system proxy and use that shape with a scalar for "rest of resources" - this scalar would presumably be different for BM, Dedicated DC server, Hypervisor etc. I like this right now as our base approach, it is very intuitive.
  • do we adopt a staggered approach (e.g. RAPL or other when available and fallback to above or other approach as catch all). it seems many of the top projects in this area use RAPL but Kepler project does RAPL + others

These are all good student project questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants