Missed deadline notification in best-effort schedulers

It is common to run multimedia and other periodic, soft real-time applications on general-purpose computer systems. These systems use best-effort scheduling algorithms that cannot guarantee applications will receive responsive scheduling to meet deadline or timing requirements. We present a simple mechanism called Missed Deadline Notification (MDN) that allows applications to notify the system when they do not receive their desired level of responsiveness. Consisting of a single system call with no arguments, this simple interface allows the operating system to provide better support for soft real-time applications without any a priori information about their timing or resource needs. We implemented MDN in three different schedulers: Linux, BEST, and BeRate. We describe these implementations and their performance when running real-time applications and discuss policies to prevent applications from abusing MDN to gain extra resources.

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

[2]  Scott A. Brandt,et al.  Flexible Soft Real-Time Processing in Middleware , 2004, Real-Time Systems.

[3]  Jonathan Walpole,et al.  Supporting time-sensitive applications on general-purpose operating systems , 2002 .

[4]  Scott A. Brandt,et al.  BEST scheduler for integrated processing of best-effort and soft real-time processes , 2001, IS&T/SPIE Electronic Imaging.

[5]  Klara Nahrstedt,et al.  CPU service classes for multimedia applications , 1999, Proceedings IEEE International Conference on Multimedia Computing and Systems.

[6]  Evgenia Smirni,et al.  Adaptive CPU scheduling policies for mixed multimedia and best-effort workloads , 1999, MASCOTS '99. Proceedings of the Seventh International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

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

[8]  Dan Tsafrir,et al.  Effects of Clock Resolution on the Scheduling of Real-Time and Interactive Processes , 2001 .

[9]  Jonathan Walpole,et al.  Analysis of a reservation-based feedback scheduler , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[10]  Krithi Ramamritham,et al.  Using Windows NT for Real-Time Applications: Experimental Observations and Recommendations , 1998, IEEE Real Time Technology and Applications Symposium.

[11]  John Regehr,et al.  Augmented CPU reservations: towards predictable execution on general-purpose operating systems , 2001, Proceedings Seventh IEEE Real-Time Technology and Applications Symposium.

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

[13]  Sang Hyuk Son,et al.  Feedback Control Real-Time Scheduling: Framework, Modeling, and Algorithms* , 2001, Real-Time Systems.

[14]  David K. Y. Yau Performance evaluation of CPU isolation mechanisms in a multimedia OS kernel , 2000, IS&T/SPIE Electronic Imaging.

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

[16]  Kevin Jeffay,et al.  A Rate-Based Execution Abstraction for Multimedia Computing , 1995, NOSSDAV.

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

[18]  Jonathan Walpole,et al.  A mea-surement-based analysis of the real-time performance of the Linux kernel , 2002 .

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

[20]  Robert C. Daley,et al.  An experimental time-sharing system , 1962, AIEE-IRE '62 (Spring).

[21]  Scott A. Brandt,et al.  Better real-time response for time-share scheduling , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[22]  Jason Nieh,et al.  Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler , 2001, USENIX Annual Technical Conference, General Track.