[Beowulf] cpufreq, multiple cores, load

Mark Hahn hahn at mcmaster.ca
Tue Mar 9 20:14:59 PST 2010

> 2400MHz using the "ondemand" governor.  The interesting thing, at least
> from my point of view, is how rapidly the power savings degrade as CPU
> load increases.

well, one of the big themes in recent chip development is factoring
out pieces that can be separately clocked.  it's also true that the 
platforms themselves have improved (lower voltage ddr3, power/flop, etc)

> Watts   CPU0 MHz      CPU1 MHz cpuburn#  governor
>       core0 core1  core0 core1
> 115    1000  1000   1000  1000    0      ondemand
> 157    2400  2400   1000  1000    1      ondemand
> 172    2400  2400   2400  2400    0      performance
> 186    2400  2400   2400  2400    1      performance
> 199    2400  2400   2400  2400    2      ondemand/performance
> 214    2400  2400   2400  2400    3      ondemand/performance
> 228    2400  2400   2400  2400    4      ondemand/performance

I rearranged your table a bit.
157-115=42W ramps up a socket from 1-2.4.
186-157=29W gets the second socket going (bit surprising).
172-115=57W is the clock-related savings when idle.
13/15/14W for adding core load once the sockets are spun up.

I'm guessing it's the latter that surprised you - per core power 
savings are minor, dominated by socket-related power.  but Intel
and AMD have been talking along those lines for a few years...

> consumption.  Starting a second cpuburn apparently schedules it
> on one of the cores on the unused second processor, rather than
> on the equally unused, but already sped up, second core on the first

well, that's a kernel/scheduler choice, probably pretty hackable.
or else just use numactl to direct the second cpuburn away from
the second socket.  in fact, using numactl to control memory allocation
would probably be a good idea anyway.

> Anyway, this is just 4 cores total, but it makes me wonder what happens
> with a system having say, two quad core processors, where if the same
> sort of scheduling/cpufreq logic apply, two CPU saturating jobs (still
> only 1/4 of total available CPU capacity) will effectively negate the
> energy saving modes.

I'm guessing that we can have pretty high-res power savings if we're 
willing to do some extra things like controlling which procs use 
which cores, which memory banks, perhaps a syscall interface to 
control clock modulation...

> cores into a high power state.  Or do the newer CPUs, either AMD's or
> Intel's, allow different frequencies on each core of a CPU?

I've seen that on AMD presentations, but iirc it was an istanbul thing.


More information about the Beowulf mailing list