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
Abstract
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.