Proposals

Idle scheduling support in the Linux Kernel

Session information has not yet been published for this event.

*
Presentation
Scheduled: Friday, November 5, 2010 from 10:00 – 10:45am in President's Ballroom

One Line Summary

This talk describes how Google uses CFS to provide differentiated CPU QoS, discusses the strengths and shortcomings of idle scheduling support in the Linux kernel, and presents solutions that improve utilization without impacting isolation.

Abstract

Most of the jobs we run at Google fall into one of two priority bands: high priority workloads that require to be scheduled as quickly as possible, and low priority workloads that soak up the remaining (idle) cpu cycles on a machine. The challenge we face in providing differentiated CPU QoS is to maximize machine utilization without compromising on the isolation between these two priority levels.

In this talk we present how we used CFS and group scheduling to implement CPU QoS described above. We describe how we used CFS to provide strict scheduling priority in addition to fairness. We discuss some of the strengths and shortcomings of the Linux kernel’s idle scheduling support with the help of some real world case studies, and discuss tradeoffs between poor machine utilization and providing isolation.

As part of the talk, we will present a solution that achieves differentiated QoS while maximizing machine utilization. We discuss our modifications to the scheduler and load balancer, present data for how this improves utilization and present the pros and cons of some alternative solutions that we had considered (and also open the floor to discussion).

Tags

scheduler, cpu qos, fair group scheduling, idle scheduling

Presentation Materials

slides

Speaker

  • Nikhil Rao

    Google, Inc.

    Biography

    Nikhil Rao is a kernel developer working with the production kernel team at Google. His primary interest is the process scheduler, with a focus on tuning the kernel to improve its performance. In the past, he has worked on network booting for the Etherboot project.

Leave a private comment to organizers about this proposal