Live data from Hacker News

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

devblogs.microsoft.com

51–60 of 181 posts

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

#51

I think we can have more nuance than a choice of 50% or 100%. I fall in the 'Show 100%' camp for sure, showing 50% but not indicating why isn't particularly helpful without knowing the background here. I think a separate indicator for an overall throttling condition would be helpful. Show a 100% usage and a throttle indicator together.

> but not indicating why

Agree, you really want 2 indicators, vs 1 confusing hybrid.

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

#52
post #7

Related, 50% CPU usage on a hyper-threaded CPU isn't 50%. It is usually closer to 80-90% depending on the workload. Something to watch out for when monitoring.

Yep, and Windows never goes above 100%, iirc. My linux box can hit 800% if I can keep all the cores fed. More confusion.

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

#53

It's the testing problem: Trying to report squish too many numbers into one. The right reporting is to report both the numerator and the denominator. I'm using 800 MIPS out of 1200 MIPS available.

If my processor is marketed as 1200 MIPS but can run at 2000 MIPS for up to 0.5 seconds out of every 15 second window (due to thermal constraints), but only up to 1700 MIPS when executing SIMD instructions for 0.5 seconds and 1000 MIPS thereafter, and only up to 900 MIPS when it gets too hot because my laptop is sitting on a blanket instead of a hard surface, what is the correct denominator?

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

#54
post #53

It's the testing problem: Trying to report squish too many numbers into one. The right reporting is to report both the numerator and the denominator. I'm using 800 MIPS out of 1200 MIPS available.

If my processor is marketed as 1200 MIPS but can run at 2000 MIPS for up to 0.5 seconds out of every 15 second window (due to thermal constraints), but only up to 1700 MIPS when executing SIMD instructions for 0.5 seconds and 1000 MIPS thereafter, and only up to 900 MIPS when it gets too hot because my laptop is sitting on a blanket instead of a hard surface, what is the correct denominator?

That's the point: it changes.

One representation is a line graph with two lines -- one is showing the maximum MIPS (right now), and one is showing the actively-used MIPS.

Another is a pie chart, where the size is the chart changes based on current capacity, and it is filled to how much of that capacity you're using.

And so on.

You have two dimensions. You don't want to squash that into a 1D representation.

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

#55
post #14

Earlier quoted context omitted.

Interesting. Does this mean that if you are not going to use all HT threads it's better to turn off HT?

SMT is usually a throughput win, and usually a latency loss. I was playing with my Threadripper a while back and for C++ builds of large projects, HT results in about a 10% improvement in compilation speed. 10% is a big deal and you should take it. The downside is that games had noticeably lower framerates even with the rest of the CPU idle (at least the games I play are bounded by single-thread performance across ma…

> 64GB wasn't enough for 64 concurrent clang runs. You need a little bit more (but of course 128GB is the next installable increment).

That's not really true, you can mix and match memory, and you might not get ideal bandwidth, but for a lot of uses it's just fine.

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

#56
I don't think this makes much sense. The maximum throughput of a CPU in terms of instructions depends on so many factors (thermal, memory, instruction mix) that trying to summarize all of them into a linearly-scaling "utilization" metric is a bit tricky. You can measure the fraction of time CPU cores are busy, the number of instructions executed, frequencies, etc. to get an idea, but only experimentation will tell you what "100%" of a system's capacity is.

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

#57
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.

It depends on who pays for power. When I was running a couple thousand machines on managed hosting, we disabled frequency scaling, because it wasn't our power bill and predictability and ease of measurement is nice. But at places where we paid for power, then frequency scaling was enabled (and sometimes they'd throttle things down to manage hot racks etc)
Post reply on HN