Globally fair group CPU scheduling

Session information has not yet been published for this event.

Scheduled: Friday, September 9, 2011 from 3:10 – 4:00pm in Alexander Valley Ball Room

One Line Summary

A look at the fairness and wake-up latency improvements that can be achieved by extending vruntime beyond the per-cpu level.


The approximations used for the scheduling of group entities in the CPU scheduler are currently managed on a per-cpu basis. While each entities’ weight is globally approximated, the virtual timeline used for scheduling decisions is still completely localized.

This results in both a lack of fairness and unpredictable wake-up latencies, for group entities.

In this presentation we’ll first cover exactly what problems arise as a result of this, as well as their latency impact. We’ll follow with some approaches for global approximation, their drawbacks, and where appropriate the realized gains.


cpu, scheduler, cfs

Presentation Materials



  • Paul Turner



    Paul is an engineer and technical lead with Google’s production kernel team. His interests lie primarily in the cpu scheduling and memory management sub-systems, with a focus on improving latency under high-frequency operations and scalability.