A SMART scheduler for multimedia applications

Real-time applications such as multimedia audio and video are increasingly populating the workstation desktop. To support the execution of these applications in conjunction with traditional non-real-time applications, we have created SMART, a Scheduler for Multimedia And Real-Time applications. SMART supports applications with time constraints, and provides dynamic feedback to applications to allow them to adapt to the current load. In addition, the support for real-time applications is integrated with the support for conventional computations. This allows the user to prioritize across real-time and conventional computations, and dictate how the processor is to be shared among applications of the same priority. As the system load changes, SMART adjusts the allocation of resources dynamically and seamlessly. It can dynamically shed real-time computations and regulate the execution rates of real-time tasks when the system is overloaded, while providing better value in underloaded conditions than previously proposed schemes.We have implemented SMART in the Solaris UNIX operating system and measured its performance against other schedulers commonly used in research and practice in executing real-time, interactive, and batch applications. Our experimental results demonstrate SMART's superior performance over fair queueing and UNIX SVR4 schedulers in supporting multimedia applications.

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

[2]  M. Orhon The X Window System , 2005 .

[3]  Samuel J. Leffler,et al.  The design and implementation of the 4.3 BSD Unix operating system , 1991, Addison-Wesley series in computer science.

[4]  B. Schneiderman,et al.  Designing the User Interface. Strategies for Effective Human-Computer Interaction , 1992 .

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

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

[7]  Ion Stoica,et al.  Duality between resource reservation and proportional share resource allocation , 1996, Electronic Imaging.

[8]  Scott Shenker,et al.  Analysis and simulation of a fair queueing algorithm , 1989, SIGCOMM '89.

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

[10]  J. Duane Northcutt,et al.  System Support for Time-Critical Applications , 1991, NOSSDAV.

[11]  Ben Shneiderman,et al.  Designing the user interface (2nd ed.): strategies for effective human-computer interaction , 1992 .

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

[13]  Stefan Savage,et al.  Processor capacity reserves: operating system support for multimedia applications , 1994, 1994 Proceedings of IEEE International Conference on Multimedia Computing and Systems.

[14]  J. Duane Northcutt,et al.  Mechanisms for Reliable Distributed Real-Time Operating Systems: The Alpha Kernel , 1987 .

[15]  Michael L. Dertouzos,et al.  Control Robotics: The Procedural Control of Physical Processes , 1974, IFIP Congress.

[16]  Jason Nieh,et al.  SMART UNIX SVR4 support for multimedia applications , 1997, Proceedings of IEEE International Conference on Multimedia Computing and Systems.

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

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

[19]  Ben Shneiderman,et al.  Designing the User Interface: Strategies for Effective Human-Computer Interaction , 1998 .

[20]  Allen Newell,et al.  The psychology of human-computer interaction , 1983 .

[21]  Gordon S. Blair,et al.  The Design of a QoS-Controlled ATM-Based Communications System in Chorus , 1995, IEEE J. Sel. Areas Commun..

[22]  George Eckel Inside Windows NT , 1993 .

[23]  Calton Pu,et al.  Multimedia Applications Require Adaptive CPU Scheduling , 1996 .

[24]  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.

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

[26]  Mark Smith,et al.  Beyond Multiprocessing: Multithreading the SunOS Kernel , 1992, USENIX Summer.

[27]  Carl A. Waldspurger,et al.  Lottery and stride scheduling: flexible proportional-share resource management , 1995 .

[28]  Abhay Parekh,et al.  A generalized processor sharing approach to flow control in integrated services networks: the single-node case , 1993, TNET.

[29]  Armando P. Stettner The design and implementation of the 4.3BSD UNIX operating system , 1988 .

[30]  David B. Golub Operating System Support for Coexistence of Real-Time and Conventional Scheduling , 1994 .

[31]  J. Duane Northcutt,et al.  A Method and Apparatus for Measurung media Synchronization , 1995, NOSSDAV.

[32]  John P. Lehoczky,et al.  The rate monotonic scheduling algorithm: exact characterization and average case behavior , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[33]  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.

[34]  C. D. Locke,et al.  Best-effort decision-making for real-time scheduling , 1986 .

[35]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[36]  Clifford W. Mercer Operating system support for multimedia applications , 1994, MULTIMEDIA '94.

[37]  Butler W. Lampson,et al.  Experience with processes and monitors in Mesa , 1980, CACM.

[38]  Helen Custer,et al.  Inside Windows NT , 1992 .

[39]  Abhay Parekh,et al.  A generalized processor sharing approach to flow control in integrated services networks-the single node case , 1992, [Proceedings] IEEE INFOCOM '92: The Conference on Computer Communications.

[40]  Hui Zhang,et al.  WF/sup 2/Q: worst-case fair weighted fair queueing , 1996, Proceedings of IEEE INFOCOM '96. Conference on Computer Communications.