Power saving in Multi core.
michi1 at michaelblizek.twilightparadox.com
Tue Jun 14 12:54:16 EDT 2011
On 13:56 Mon 13 Jun , naveen yadav wrote:
> Now,comes the scenario - Let there are '2' cores in the system both
> running at a load of 40% (i.e. total load 80%), now in this case
> ideally '1' CPU is sufficient.
> So, if we make 2nd Core offline that will make the system execute
> everything on core '1'.
> But will there be any power saving if we make any core offline under
> scenarios like this? Or will this have extra overhead?
Putting cores offline and running tasks on a only one core can save power, but
can also do the reverse. It depends a lot on the hardware:
- Other components like memory may need to be fully powered up, even if only
one core is executing tasks.
- The efficiency of the CPU power supply under different loads may be widely
different on different systems.
- The remaining core may need to run at a higher frequency. This may require
a higher CPU voltage. Some CPU perform most efficiently if they are running
with high voltage+frequency. Others are more efficiently at lower clock
- Putting all CPU to sleep may not be viable, e.g. due to lots of wakeups. In
this case it may be more efficient to keep one core online and let all other
cores sleep. Even if execution is less efficient, avoiding wakeups may
Also, if your program is single threaded, the 2nd core might not help much...
> What are the pros and cons of working like this on Multi-Core?
- power saving
- decreased latency: If one CPU is running in shallow sleep, it might be able
to process quick tasks faster than waking up from deep sleep would take.
- information about hardware needed; Wrong assumptions can increase power
- increased latency: Tasks which could normally be executed in parallel are
not. If the load suddenly increases, there may be a delay until the system
starts up all cores. Frequency scaling may delay this further.
programing a layer 3+4 network protocol for mesh networks
More information about the Kernelnewbies