Skip to content

[Estimates on VMs] - Improving vHost-Ratio splitting #4

Description

@ArneTR

At the moment the model uses the vhost-ratio parameter to split the energy in a virtualized system.

An example:

  • A machine might have 40 cores, but we are only assigned one
  • We can then measure a CPU utilization of 100%
  • We have a vhost-ratio parameter of 1/40
  • Then the result will be whatever the power draw of the full machine is divided by 40

This is the mechanism we account for at the moment when the model is in a virtualized system.

However, this is most likely not the case. The machine as a whole is most likely rather on a 20-70% utilization, as it is normal with cloud vendors.
VMs-are-utilized-only10-percent-_OpenHPI_VMWare_Talk

The picture from VM ware shows non-hyperscaler datacenters. Hyperscalers report however a higher utilization.

I propose setting a new variable that is the "bare-metal-utilization" and then rather using the vhost-ratio as a factor to shift that a little.

An example:

  • If we have a machine that is assigned 1 core out of 40
  • and we assume we are on Google
  • then we set the bare-metal-utilization to 0.5, which means 50%
  • When our measured utilzation on our core is now 100% we request from the model the utilization of (0.5 + 1/40 = 0.525)

The downside with that approach is that it is even one more extra assumption. However assuming that no one else on the machine, as we did before, is most likely wrong.

On a very high-core machine the resulting values will then change only in very small quantities, which is probably more closer to reality, but also incentivises users less to reduce CPU consumption as the effects are smaller.

This is an idea and I would like to discuss it. Especially if there are logical errors in it ...

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is neededquestionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions