On Predictable Operating System Protocol Processing

Clifford W. Mercer, Jim Zelenka, Ragunathan Rajkumar
School of Computer Science
Carnegie Mellon University
Pittsburgh, PA 15213
{cwm, jimz, raj}@cs.cmu.edu


Distributed continuous media applications that incorporate digital audio and video require predictable response from the operating system and the network. Much recent research in communication networks focuses on providing predictable service at the network level, but current operating systems do not typically provide end-to-end predictability. Our aim is to offer operating system support for predictability while still maintaining the dynamic, easy-to-use environment of a general purpose operating system. We explore the use of a resource reservation mechanism in the operating system with the idea that this mechanism can be used to support higher level quality of service management policies. We also employ a protocol software structure that uses priorities, preemptive packet servicing, and reservation enforcement to allow the reservation scheduling policy to make fine-grained scheduling decisions to control the protocol processing activities. By reserving resources such as buffers, computation time for application-level activities, and computation time for protocol processing, our system can support predictable behavior for distributed real-time application programs. We implemented our reservation mechanism using the Real-Time Mach operating system as a base, and we present performance results which demonstrate that our approach provides predictable network service to distributed multimedia applications.