A dynamic CPU bandwidth partitioning scheme for multimedia real-time systems

Advances of computer and network technology have expanded multimedia applications to very broad ranges. An operating system that supports not only generic best effort applications but also multimedia real-time applications is required. But there is no operating system to support various types of applications in a system. The proposed algorithm supports several scheduling methods under an operating system. The algorithm groups applications into several classes, partitions CPU bandwidth, and assigns a portion of CPU bandwidth according to the class of applications. Depending upon the applications, the algorithm allocates a proper scheduler for each application. And a two-level scheduler is deployed to schedule each class and task. The first-level scheduler selects a class by the rate and passes a time quantum to the second-level scheduler. The second-level scheduler schedules tasks by a conventional scheduling algorithm such as RR(round-robin) or EDF. Under overloaded condition, the algorithm does not affect other classes of applications. By using static rate for an application class, the algorithm not only prevents starvation for best effort applications but also guarantees the minimal execution of applications.

[1]  B. Srinivasan,et al.  A firm real-time system implementation using commercial off-the-shelf hardware and free software , 1998, Proceedings. Fourth IEEE Real-Time Technology and Applications Symposium (Cat. No.98TB100245).

[2]  Douglas C. Schmidt,et al.  Middleware for real-time and embedded systems , 2002, CACM.

[3]  James H. Anderson,et al.  Proportional share scheduling of operating system services for real-time applications , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

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

[5]  Prashant J. Shenoy,et al.  Middleware versus native OS support: architectural considerations for supporting multimedia applications , 2002, Proceedings. Eighth IEEE Real-Time and Embedded Technology and Applications Symposium.

[6]  Hideyuki Tokuda,et al.  Dynamic QOS Control based on Real-Time Threads , 1993, NOSSDAV.

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

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

[9]  Harrick M. Vin,et al.  Start-time fair queueing: a scheduling algorithm for integrated services packet switching networks , 1996, SIGCOMM 1996.

[10]  Margo I. Seltzer,et al.  Tickets and currencies revisited: extensions to multi-resource lottery scheduling , 1999, Proceedings of the Seventh Workshop on Hot Topics in Operating Systems.

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