Soft Real-Time on Multiprocessors: Are Analysis-Based Schedulers Really Worth It?

The evolution of multicore platforms has led to much recent work on multiprocessor scheduling techniques for soft real-time workloads. However, end users routinely run such workloads atop general-purpose operating systems with seemingly good results, albeit typically on over-provisioned systems. This raises the question: when, if ever, is the use of an analysis-based scheduler actually warranted? In this paper, this question is addressed via a video-decoding case study in which a scheme based on the global earliest-deadline-first (GEDF) algorithm was compared against Linux's CFS scheduler. In this study, the GEDF-based scheme proved to be superior under heavy workloads in terms of several timing metrics, including jitter and deadline tardiness. Prior to discussing these results, an explanation of how existing GEDF-related scheduling theory was applied to provision the studied system is given and various "mismatches" between theoretical assumptions and practice that were faced are discussed.

[1]  Shinpei Kato,et al.  AIRS: Supporting Interactive Real-Time Applications on Multicore Platforms , 2010, 2010 22nd Euromicro Conference on Real-Time Systems.

[2]  Sanjoy K. Baruah,et al.  Improved Tardiness Bounds for Global EDF , 2010, 2010 22nd Euromicro Conference on Real-Time Systems.

[3]  James H. Anderson,et al.  Tardiness Bounds under Global EDF Scheduling on a Multiprocessor , 2005, RTSS.

[4]  Shinpei Kato,et al.  CPU scheduling and memory management for interactive real-time applications , 2011, Real-Time Systems.

[5]  Hennadiy Leontyev,et al.  Generalized tardiness bounds for global multiprocessor scheduling , 2007, 28th IEEE International Real-Time Systems Symposium (RTSS 2007).

[6]  Scott A. Brandt,et al.  Dynamic integrated scheduling of hard real-time, soft real-time, and non-real-time processes , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[7]  Lui Sha,et al.  Capacity sharing for overrun control , 2000, Proceedings 21st IEEE Real-Time Systems Symposium.

[8]  Hennadiy Leontyev,et al.  An overview of interrupt accounting techniques for multiprocessor real-time systems , 2011, J. Syst. Archit..

[9]  James H. Anderson,et al.  A Multiprocessor Server-Based Scheduler for Soft Real-Time Tasks with Stochastic Execution Demand , 2011, 2011 IEEE 17th International Conference on Embedded and Real-Time Computing Systems and Applications.

[10]  James H. Anderson,et al.  Integrating Hard/Soft Real-Time Tasks and Best-Effort Jobs on Multiprocessors , 2007, 19th Euromicro Conference on Real-Time Systems (ECRTS'07).

[11]  Tommaso Cucinotta,et al.  AQuoSA—adaptive quality of service architecture , 2009 .

[12]  Hennadiy Leontyev,et al.  LITMUS^RT : A Testbed for Empirically Comparing Real-Time Multiprocessor Schedulers , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[13]  Xin Liu,et al.  Supporting dynamic QoS in Linux , 2004, Proceedings. RTAS 2004. 10th IEEE Real-Time and Embedded Technology and Applications Symposium, 2004..

[14]  James H. Anderson,et al.  On the Implementation of Global Real-Time Schedulers , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[15]  James H. Anderson,et al.  A Stochastic Framework for Multiprocessor Soft Real-Time Scheduling , 2010, 2010 16th IEEE Real-Time and Embedded Technology and Applications Symposium.

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

[17]  Shuichi Oikawa,et al.  Resource kernels: a resource-centric approach to real-time and multimedia systems , 2001, Electronic Imaging.

[18]  Björn B. Brandenburg,et al.  Feather-Trace : A Light-Weight Event Tracing Toolkit ∗ , 2007 .

[19]  James H. Anderson,et al.  An Empirical Comparison of Global, Partitioned, and Clustered Multiprocessor EDF Schedulers , 2010, 2010 31st IEEE Real-Time Systems Symposium.