Abstract: Scheduling architectures that support a rate abstraction are becoming increasingly popular for realizing real-time services in general-purpose operating systems. While many rate-based schemes have been proposed, there has been little discussion of the relative merits of each approach or how these schemes can be used to realize real-time rate-based services that extend from devices, through the operating itself, up to applications.
We study the performance of a set of multimedia applications under three different rate-based scheduling schemes implemented in the FreeBSD operating system: a proportional share scheme (Earliest Eligible Virtual Deadline First scheduling), a polling, server-based scheme (the Constant Bandwidth Server), and a rate-based extension to the original Liu and Layland task model (Rate-Based Execution). Furthermore, we consider three specific scheduling problems: scheduling application level tasks, scheduling system calls, and scheduling the kernel-level processing of data input from devices such as network interfaces. Based on empirical evidence, we conclude that "one size does not fit all" -- that no one rate-based resource allocation scheme suffices for all scheduling problems along the data path from the device to an application. Rather, we achieve the best performance for our multimedia workload when we apply different rate-based scheduling policies at different layers of the operating system such as proportional share scheduling of system calls and application tasks, and rate-based Liu and Layland scheduling of device processing. .