Live data from Hacker News

What should the CPU usage be of a fully-loaded CPU that has been throttled?

devblogs.microsoft.com

41–50 of 181 posts

Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?

#41

> half-speed for whatever reason IMHO the reason actually does matter. Utilization should be relative to the maximum frequency the CPU could be running the same instructions at. If the CPU is throttling to save power, then it could be running the same instructions at a higher frequency, so utilization should be relative to the higher one. If it's throttling to lower the temperature, then it can't be running the same…

that doesn't solve the "relative measures make the graph useless" problem though, does it?

Hm I felt it does, but I might've missed some situation. Why do you feel it doesn't? Could you describe a scenario where it'd be misleading?

Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?

#42
post #2

I agree with the author. His thesis: > While I sympathize with this point of view, I feel that reporting the CPU usage at 50% is a more accurate representation of the situation.

It’s a matter of what question you’re asking - how much CPU is X using and how much headroom does it have vs why is my computer slow.

Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?

#43

> half-speed for whatever reason IMHO the reason actually does matter. Utilization should be relative to the maximum frequency the CPU could be running the same instructions at. If the CPU is throttling to save power, then it could be running the same instructions at a higher frequency, so utilization should be relative to the higher one. If it's throttling to lower the temperature, then it can't be running the same…

> If it's throttling to lower the temperature…

This gives the ability to go over 100% before thermals equalize, since max power would follow a Newton cooling curve.

Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?

#45
post #11

A key problem with this proposal is that modern CPUs do not have a single definitive maximum frequency. You have the base frequency which is rarely relevant outside of synthetic workloads then you have a variety of turbo frequencies which interact in complex ways. AMD's latest CPUs don't even have clear upper bounds on their frequency scaling logic. It's a big black box and the results can vary depending on the workl…

Absolutely, if this really matters to you I think the only solution is to characterise the CPU over an afternoon or two and build a model based on the data rather than what the Manufacturer told you.

Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?

#46
post #43

> half-speed for whatever reason IMHO the reason actually does matter. Utilization should be relative to the maximum frequency the CPU could be running the same instructions at. If the CPU is throttling to save power, then it could be running the same instructions at a higher frequency, so utilization should be relative to the higher one. If it's throttling to lower the temperature, then it can't be running the same…

> If it's throttling to lower the temperature… This gives the ability to go over 100% before thermals equalize, since max power would follow a Newton cooling curve.

I don't follow. Whatever frequency the CPU is currently running at is a lower bound on the maximum frequency it could be running at, so it shouldn't exceed 100%?

Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?

#47
post #23

Earlier quoted context omitted.

Depends on the machine. The earliest implementations of HT worked by statically partitioning various caches and other resources in the processor core in half, which meant that a single-threaded process really could slow down by having HT enabled but not actively used. Newer desktop-class processors tend to have no significant downsides to leaving HT enabled, but there might still be some SMT implementations on niche…

> The earliest implementations of HT worked by statically partitioning Do you mean SMT in general? I don't think hyperthreading specifically has ever done that, but if I'm wrong I'd love to know more. (And AMD's version falls under "newer desktop-class processors")

I meant Intel HT specifically, but I'm going off memory here, and having trouble finding details on those old parts. Agner Fog's current microarchitecture manual doesn't mention HT in its discussion of the P4, but it does include at least one mention of static partitioning of the decoded op queue in the Atom core.

It also describes several instances where Intel's desktop cores used to devote specific resources to each thread on alternating clock cycles, but newer cores have progressively removed those limitations. However, these probably don't quite fit my original assertion because if the OS has literally HALTed one of the virtual CPUs, these alternating clock cycle limitations may have been temporarily removed.

Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?

#48
Maybe there should be a separate indication of throttling so we don’t conflate with CPU usage.

Throttling is essentially determined by three factors: Energy usage, thermal saturation, and cooling. A bath tub analogy comes to mind: Energy usage represented by flow from a faucet, the heat sink is the water level in the tub, and the drain represents the cooling rate. Only energy usage could be plotted instantaneously while the others may have to be modeled and could change based on environmental factors.

Re: What should the CPU usage be of a fully-loaded CPU that has been throttled?

#49
post #39

This is precisely why all of the large volume cloud server farms I worked with turn off throttling: they need 100% predictable CPU utilization. I worked on power control strategies at Intel for quite some time, and we would often joke in server (Xeon) parts that it was pointless because all of our work was disabled. Early throttles were 50% duty cycles, then L1 bubble injections, then V/F frequency scaling. The autho…

I have managed several extremely large fleets of computers and I can tell you they all use frequency scaling. I seriously doubt that your statement applies to "most server farms" when properly weighted.

True, I should have more accurately said: all large volume cloud vendors I worked with.
Post reply on HN