Operating System Support for Multimedia: The Programming Model Matters

Multimedia is an increasingly important part of the mix of applications that users run on personal computers and workstations. The requirements placed on a multimedia operating system are demanding and often conflicting: untrusted, independently written soft real-time applications must be able to coexist without interfering with each other. This must be accomplished while requiring as little extra effort as possible from application developers, and the resulting system must be usable and understandable by end users even when application resource requirements exceed system capacity. This article analyzes the goals of multimedia schedulers and provides a taxonomy of techniques used to achieve them; representative schedulers are classified and characterized in terms of the things that they make easy and hard, including the associated programming tasks. This is done to support our principal contribution: an analysis of usability issues and tradeoffs in multimedia scheduling for both application developers and end users.

[1]  Harrick M. Vin,et al.  A hierarchial CPU scheduler for multimedia operating systems , 1996, OSDI '96.

[2]  Calton Pu,et al.  A feedback-driven proportion allocator for real-rate scheduling , 1999, OSDI '99.

[3]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[4]  Don Oliver Amanze Oparah A framework for adaptive resource management in a multimedia operating system , 1999, Proceedings IEEE International Conference on Multimedia Computing and Systems.

[5]  Jason Nieh,et al.  The design, implementation and evaluation of SMART: a scheduler for multimedia applications , 2001 .

[6]  Bryan Ford,et al.  CPU inheritance scheduling , 1996, OSDI '96.

[7]  James P. Held,et al.  A comparison of Windows driver model latency performance on Windows NT and Windows 98 , 1999, OSDI '99.

[8]  Klara Nahrstedt,et al.  A control-based middleware framework for quality-of-service adaptations , 1999, IEEE J. Sel. Areas Commun..

[9]  Harrick M. Vin,et al.  A hierarchial CPU scheduler for multimedia operating systems , 1996, OSDI '96.

[10]  Robin Fairbairns,et al.  The Design and Implementation of an Operating System to Support Distributed Multimedia Applications , 1996, IEEE J. Sel. Areas Commun..

[11]  J. Duane Northcutt,et al.  SVR4UNIX Scheduler Unacceptable for Multimedia Applications , 1993, NOSSDAV.

[12]  Kevin Jeffay,et al.  Support for real-time computing within general purpose operating systems-supporting co-resident operating systems , 1995, Proceedings Real-Time Technology and Applications Symposium.

[13]  Michael B. Jones,et al.  The problems you're having may not be the problems you think you're having: results from a latency study of Windows NT , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.

[14]  Alan Burns,et al.  Applying new scheduling theory to static priority pre-emptive scheduling , 1993, Softw. Eng. J..

[15]  Krithi Ramamritham,et al.  Integrated scheduling of multimedia and hard real-time tasks , 1996, 17th IEEE Real-Time Systems Symposium.

[16]  Hussein M. Abdel-Wahab,et al.  A proportional share resource allocation algorithm for real-time, time-shared systems , 1996, 17th IEEE Real-Time Systems Symposium.

[17]  Michael B. Jones,et al.  CPU reservations and time constraints: efficient, predictable scheduling of independent activities , 1997, SOSP.

[18]  Sang Hyuk Son,et al.  Design and evaluation of a feedback control EDF scheduling algorithm , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[19]  John Regehr,et al.  HLS: a framework for composing soft real-time schedulers , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[20]  Krithi Ramamritham,et al.  The Spring kernel: a new paradigm for real-time systems , 1991, IEEE Software.

[21]  Wu-chun Feng,et al.  Operating System Support for Imprecise Computation , 1996 .

[22]  David R. Cheriton,et al.  Borrowed-virtual-time (BVT) scheduling: supporting latency-sensitive threads in a general-purpose scheduler , 1999, OPSR.

[23]  Garth A. Gibson,et al.  Implementing Lottery Scheduling: Matching the Specializations in Traditional Schedulers , 1999, USENIX Annual Technical Conference, General Track.

[24]  William E. Weihl,et al.  Lottery scheduling: flexible proportional-share resource management , 1994, OSDI '94.

[25]  Larry L. Peterson,et al.  Predicting MPEG execution times , 1998, SIGMETRICS '98/PERFORMANCE '98.