Unified energy-aware scheduling
Session information has not yet been published for this event.
One Line Summary
Unified approach to CPU power management where the scheduler works in co-ordination with cpufreq and cpuidle subsystems
The Linux kernel exploits the energy controls in current generation of processors through various mechanisms – voltage/frequency control through cpufreq, low power states of many different characteristics on idle through cpuidle and on multi-core systems, optimizing the number of used CPU cores for computational tasks through the scheduler (sched_mc_power_savings=N). With conflicting goals and overlapping features, it has now become important to look at a unified scheme for energy-aware scheduling that takes into account a number of goals – energy policy input (sysfs), allocating right amount of CPU for the set of running tasks (both in terms of number of cores and capacity of cores), predicting and maximising opportunities to remain idle. In this paper, we identify some of important challenges for both x86 and powerpc architectures and evaluate possible ways to do co-ordinated energy-aware scheduling.
We first describe the relationship between scheduler energy optimizations and two subsystems – cpuidle and cpufreq. There are a number situations where these subsystems may need to work in a unified manner -
1. Core consolidation vs. cpufreq – consolidation to too few cores lead to higher frequency and thus higher power. Co-operation with cpufreq may lead to better decisions.
2. Race to idle – scheduling tasks on multiple cpus may benefit from idle history
3. Deep sleep on idle vs. response time – deeper sleep states with high latency and re-initialization work make things complex, taking into account interrupt and task characteristics can help
4. Fine grain hardware based policy requires quicker response in terms of energy/performance tradeoff.
We describe some of these challenges and corresponding work needed in the Linux kernel to improve energy efficiency in current and upcoming platforms.
kernel, power management
Linux Technology Center, IBM India Software Labs
Trinabh Gupta works at IBM Linux Technology Center and has recently been working on energy management support in IBM servers.
IBM Linux Technology Center
Dipankar Sarma works in the IBM Linux Technology Center and has recently been working on energy management support in IBM servers. In the past, he has contributed several Linux kernel features in the past including the first version of RCU, various lock-less implementations of kernel subsystems using RCU and other miscellaneous things.
IBM Linux Technology Center
Vaidyanathan Srinivasan works at IBM Linux technology center on energy optimizations for Linux serves. He has contributed to Linux power aware scheduler and energy management feature for IBM POWER platform.