As multi-core and SMP systems become more generally available, energy management needs in Linux have also become more complex. Energy management in Linux was primarily designed for interactive systems where relatively simple inactivity based strategies worked effectively for most cases. Modern enterprise class hardware needs a more complex power management strategy to save energy with the least impact on the performance of enterprise workloads. Traditionally, the Linux kernel for servers has been optimized for throughput and not power efficiency. This paper discusses the behaviour of the current task management subsystem (scheduler and loadbalancer) on a multi-core SMP system and its effectiveness in saving energy consumption under several situations (idle, moderate load). It then describes several techniques such as timer migration, task wakeup biasing and related heuristics for reducing energy consumption. The paper also looks at possible methods to mitigate interrupts for energy savings during different workloads and concludes by discussing some results of these new strategies.
[1]
Scott Shenker,et al.
Scheduling for reduced CPU energy
,
1994,
OSDI '94.
[2]
Anantha P. Chandrakasan,et al.
Low-power CMOS digital design
,
1992
.
[3]
Venkatesh Pallipadi,et al.
The Ondemand Governor Past, Present, and Future
,
2010
.
[4]
Suresh Siddha.
Chip Multi Processing aware Linux Kernel Scheduler
,
2010
.
[5]
Fan Zhang,et al.
Power-aware processor scheduling under average delay constraints
,
2005,
11th IEEE Real Time and Embedded Technology and Applications Symposium.
[6]
Stephen P. Crago,et al.
Dynamic power management of multiprocessor systems
,
2002,
Proceedings 16th International Parallel and Distributed Processing Symposium.
[7]
Hal Wasserman,et al.
Comparing algorithm for dynamic speed-setting of a low-power CPU
,
1995,
MobiCom '95.
[8]
Alan Jay Smith,et al.
Reducing processor power consumption by improving processor time management in a single-user operating system
,
1996,
MobiCom '96.