Deadline Fair Scheduling: Bridging the Theory and Practice of Proportionate-Fair Scheduling in Multiprocessor Servers

In this paper, we present Deadline Fair Scheduling (DFS), a proportionate-fair CPU scheduling algorithm for multiprocessor servers. A particular focus of our work is to investigate practical issues in instantiating proportionate-fair schedulers in general-purpose operating systems. We find via a simulation study that characteristics of general-purpose operating systems such as the asynchrony in scheduling multiple processors, frequent arrivals and departures, and variable quantum durations can cause P-fair schedulers to be non-work-conserving. To overcome these limitations, we enhance DFS using the Fair Airport Scheduling framework to ensure work-conserving behavior at all times. We implement the resulting scheduler, referred to as DFS-FA, in the Linux kernel and demonstrate its performance on real workloads. Our experimental results show that DFS-FA can achieve proportionate allocation, performance isolation and work conserving behavior at the expense of a small increase in the scheduling overhead. We conclude that combining a proportionate-fair scheduler such as DFS with the Fair Airport algorithm is a practical approach for scheduling tasks in multiprocessor operating systems.