Experiences with Processor Reservation and Dynamic QoS in Real-Time Mach


The RT-Mach microkernel supports a processor reserve abstraction which permits threads to specify their CPU resource requirements. If admitted by the kernel, it guarantees that the requested CPU demand is available to the requestor. We designed this kernel-supported mechanism to be relatively simple based on the microkernel notion that user-level policies can use this simple mechanism to build more complex and powerful schemes. In this paper, we focus on the needs of such user-level policies in the form of a dynamic Quality of Service server. We seek three goals: (a) explore the necessity, sufficiency, power and flexibility of the kernel-supported reserve mechanism (b) dynamic management of application quality in real-time and multimedia applications, and (c) investigate our ability to predict and achieve end-to-end application delays in realistic distributed real-time and multimedia applications. We use a two-pronged approach to accomplish our goals. First, we apply the processor reserve abstraction in a user-level dynamic quality of service server. A QoS server can allow applications to dynamically adapt in real-time based on system load, user input or application requirements. Second, we apply the dynamic QoS control capabilities to a distributed multimedia application whose threads have to interact and coordinate with each other within and across processor boundaries. A new notion called continuous thread of control is introduced to assist in bundling processor reserves. Our experiments show that we can indeed predict and achieve end-to-end delays in a distributed multimedia application. A summary of lessons learned and additional functionality needed is also provided. Keywords: Real-time operating system, processor reservation, audio conferencing, reserve bundling, end-to-end latencies.

Chen Lee
Last modified: Tue Jun 15 21:33:11 EDT 1999