 
Summary: Fair Scheduling of Realtime Tasks on Multiprocessors
James Anderson, Philip Holman, and Anand Srinivasan
Department of Computer Science, University of North Carolina at Chapel Hill
1 Introduction
There has been much recent interest in fair scheduling algorithms for realtime multiprocessor
systems. The roots of much of the research on this topic can be traced back to the seminal work
of Baruah et al. on Proportionate fairness (Pfairness) [6]. This work proved that the problem of
optimally scheduling periodic tasks 1 on multiprocessors could be solved online in polynomial time
by using Pfair scheduling algorithms. Pfair scheduling di#ers from more conventional realtime
scheduling approaches in that tasks are explicitly required to execute at steady rates. In most real
time scheduling disciplines, the notion of a rate is implicit. For example, in a periodic schedule, a
task T executes at a rate defined by its required utilization (T.e/T.p) over large intervals. However,
T 's execution rate over short intervals, e.g., individual periods, may vary significantly. Hence, the
notion of a rate under the periodic task model is a bit inexact.
Under Pfair scheduling, each task is executed at an approximately uniform rate by breaking it
into a series of quantumlength subtasks. Time is then subdivided into a sequence of (potentially
overlapping) subintervals of approximately equal lengths, called windows. To satisfy the Pfairness
1 A periodic task T is characterized by a phase T.#, an execution requirement T.e, and a period T.p: a job release
(i.e., task invocation) occurs at time T.# + (k  1) · T.p for each integer k # 1 and the k th job must receive T.e units
of processor time by the next release (at time T.# + k · T.p). A periodic task system is synchronous if each task in
