Energy Efficiency of CPU Multitask Crunching? Constant Power & Temperature with Varying CPU% Usage

switched_reluctance
switched_reluctance
Joined: 17 Mar 22
Posts: 4
Credit: 92,946
RAC: 0
Topic 227216

I'm running Einstein@Home and (occasionally) Rosetta@Home in BOINC with Intel i7-7700HQ CPU. The CPU power consumption is at constant 41W when the setting Use at most % of the CPUs is 25%(running 2 tasks simultaneously) or all the way to 95%(running 7 tasks simultaneously). Then I underclocked my CPU to 1.40GHz to reduce temperature, the power consumption reduced to about 29W. However, the 29W is still nearly constant with varying % of CPUs usage setting(25%/2tasks to 95%/7tasks).

I'm quite confused, it feels like using an inefficient rheostat to control motor speeds. The question is, since the power consumption is constant, how many tasks running simultaneously yields the best efficiency(most tasks per kWh)?

Mike Hewson
Mike Hewson
Moderator
Joined: 1 Dec 05
Posts: 6,321
Credit: 154,652,378
RAC: 174,275

I think the answer is that,

I think the answer is that, by and large, the CPUs ( 4 actual cores maybe seen as 8 HT cores ) are doing non-BOINC stuff eg. running an operating system, spending energy to keep as well as change circuit state etc. But there is more to power than the CPUs ie. what usage is BOINC making of any GPU services ? What fraction of a total calculation is assigned there ?

I've always considered CPUs & GPUs to be primarily heaters than can also calculate ..... have you ever heard of The Red Queen Effect ( from Alice in Wonderland ) : you have to run just to keep in place ?

Cheers, Mike.

I have made this letter longer than usual because I lack the time to make it shorter ...

... and my other CPU is a Ryzen 5950X :-) Blaise Pascal

petri33
petri33
Joined: 4 Mar 20
Posts: 103
Credit: 2,821,483,986
RAC: 5,087,390

Hi!When you see no

Hi!

When you see no reduction in throughput while reducing CPU speed/power/MHz whatever, then you know the CPU is not (much) used for the project processing. It is waiting for the GPU to complete a kernel, waiting a transfer from main memory to GPU memory to complete or it is waiting for a transfer from GPU memory to main memory (RAM) to finish.

 

That is also one of the first points to attack when optimizing a whole program.

Make things asynchronous or at least get rid of those clFinish() calls after every step mentioned above.

Just submit work (EDIT: to GPU) and do the waiting when you need to download something back from the GPU. Even better: that wait can be done so that it does not run in a busy wait loop. You can make the transfer from GPU to CPU memory asynchronous and check in a loop if it has finished and if not, then sleep(0) or something. Doing a yield() would release the CPU only to a higher priority process. Sleep does not care - anything that needs to run can run, even when sleeping 0 ns/us/ms/s.

P.

--

feels like kind of a sticky answer

 

switched_reluctance
switched_reluctance
Joined: 17 Mar 22
Posts: 4
Credit: 92,946
RAC: 0

Thanks for your

Thanks for your reply

 

When using GPU, the calculation is faster(less time at a given GFLOPS), which is obvious. When the intergrated GPU is being used, the CPU power consumption increased to about 30~31Watts.

I understand that in terms of energy efficiency the efficiency of CPU and GPU are 0%, all electricity input coverts to heat. Since the heat output is nearly constant at a given clock speed, what's the best amount of task running simultaneously.

And No, I'm not speedrunning, I don't understand why did you bring up the Red Queen Effect.

 

Cheers.

switched_reluctance
switched_reluctance
Joined: 17 Mar 22
Posts: 4
Credit: 92,946
RAC: 0

Thanks for your

Thanks for your reply

 

Well, power consumption does reduce when underclocked. What I said is that at a given clock speed, running 2 tasks at the same time consumes the same power as running 7 tasks at the same time, despite different CPU usage %, which makes me confused.

Cheers.

switched_reluctance
switched_reluctance
Joined: 17 Mar 22
Posts: 4
Credit: 92,946
RAC: 0

Update: This is likely to

Update:

This is likely to be a bug. After a BSOD I was forced to restart my computer. Now lowering "Use at most % of the CPUs" does reduce temperature and power consumption.

Mike Hewson
Mike Hewson
Moderator
Joined: 1 Dec 05
Posts: 6,321
Credit: 154,652,378
RAC: 174,275

The Red Queen Effect is used

The Red Queen Effect is used here as an analogy ( I'm too obtuse alas ) about how transistors still use power to keep state even when not switching ( in which case they use more ). Faster processors by definition are more responsive, having with their switches ( eg. transistor elements ) a significant current drain whether 'off' or 'on' ( compared with, say, CMOS which is low power when holding state but slow to switch ).

I meant no offense. ;-)

{ Actually The Red Queen Effect was originally coined in evolutionary biology to emphasise the dynamic nature of competitive behaviours : one has to keep becoming better than the other party which is also becoming better. If you've ever spoken with professional racing car drivers they will also speak in such terms. Probably holds true in the IT industry as well : not only do you have to be better than your competitor is now, you have to be better than they will be by the time your new product comes to market to compete with their new product. }

Cheers, Mike.

I have made this letter longer than usual because I lack the time to make it shorter ...

... and my other CPU is a Ryzen 5950X :-) Blaise Pascal

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.