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.
[1]
Douglas B. Terry,et al.
Managing stored voice in the Etherphone system
,
1988,
TOCS.
[2]
P. Venkat Rangan,et al.
Multimedia conferencing in the Etherphone environment
,
1991,
Computer.
[3]
Gregor von Bochmann,et al.
Distributed Multimedia and QOS: A Survey
,
1995,
IEEE Multim..
[4]
Klara Nahrstedt,et al.
The QOS Broker
,
1995,
IEEE Multim..
[5]
Gordon S. Blair,et al.
Implementing a QoS controlled ATM based communications system in chorus
,
1994,
Protocols for High-Speed Networks.
[6]
Dinesh C. Verma,et al.
A Scheme for Real-Time Channel Establishment in Wide-Area Networks
,
1990,
IEEE J. Sel. Areas Commun..
[7]
Sudhir R. Ahuja,et al.
The rapport multimedia conferencing system
,
1988,
COCS '88.
[8]
James F. Kurose,et al.
Open issues and challenges in providing quality of service guarantees in high-speed networks
,
1993,
CCRV.
[9]
Ragunathan Rajkumar,et al.
Synchronization in Real-Time Systems: A Priority Inheritance Approach
,
1991
.
[10]
James W. Layland,et al.
Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment
,
1989,
JACM.
[11]
James J. Kistler,et al.
Argo: a system for distributed collaboration
,
1994,
MULTIMEDIA '94.
[12]
D. Estrin,et al.
RSVP: a new resource reservation protocol
,
1993,
IEEE Communications Magazine.
[13]
Jim Lipkis,et al.
Architectural issues in microkernel-based operating systems: the CHORUS experience
,
1991,
Comput. Commun..
[14]
Kevin Jeffay,et al.
Kernel Support for Live Digital Audio and Video
,
1991,
NOSSDAV.