Publication Data
CPU bandwidth control for CFS
Abstract: Over the past few years there has been an increasing focus
on the development of features which deliver resource management within the Linux
kernel. The addition of the fair group scheduler has enabled the provisioning of
proportional CPU time through the specification of group weights. As the scheduler is
inherently work-conserving in nature, a task or a group may consume excess CPU share in
an otherwise idle system. There are many scenarios where this unbounded CPU share may
lead to unacceptable utilization or latency variation. CPU bandwidth control approaches
this problem by allowing an explicit upper bound for allowable CPU bandwidth to be
defined in addition to the lower bound already provided by shares. There are many
enterprise scenarios where this functionality is useful. In particular are the cases of
pay-per-use environments, and user facing services where provisioning is latency
bounded. In this paper we detail the motivations behind this feature, the challenges
involved in incorporating into CFS (Completely Fair Scheduler), and the future
development road map.
