Adaptive Real-Time Scheduling and Resource Management on Multicore Architectures

Real-time systems are systems that have to react correctly to stimuli from the environment within given timing constraints. Today, real-time systems are employed everywhere in industry, not only in safety-critical systems but also in, e.g., communication, entertainment, and multimedia systems. With the advent of multicore platforms, new challenges on the efficient exploitation of real-time systems have arisen: First, there is the need for effective scheduling algorithms that feature low overheads to improve the use of the computational resources of real-time systems. The goal of these algorithms is to ensure timely execution of tasks, i.e., to provide runtime guarantees. Additionally, many systems require their scheduling algorithm to flexibly react to unforeseen events. Second, the inherent parallelism of multicore systems leads to contention for shared hardware resources and complicates system analysis. At any time, multiple applications run with varying resource requirements and compete for the scarce resources of the system. As a result, there is a need for an adaptive resource management. Achieving and implementing an effective and efficient resource management is a challenging task. The main goal of resource management is to guarantee a minimum resource availability to real-time applications. A further goal is to fulfill global optimization objectives, e.g., maximization of the global system performance, or the user perceived quality of service. In this thesis, we derive methods based on the slot shifting algorithm. Slot shifting provides flexible scheduling of time-constrained applications and can react to unforeseen events in time-triggered systems. For this reason, we aim at designing slot shifting based algorithms targeted for multicore systems to tackle the aforementioned challenges. The main contribution of this thesis is to present two global slot shifting algorithms targeted for multicore systems. Additionally, we extend slot shifting algorithms to improve their runtime behavior, or to handle non-preemptive firm aperiodic tasks. In a variety of experiments, the effectiveness and efficiency of the algorithms are evaluated and confirmed. Finally, the thesis presents an implementation of a slot-shifting-based logic into a resource management framework for multicore systems. Thus, the thesis closes the circle and successfully bridges the gap between real-time scheduling theory and real-world implementations. We prove applicability of the slot shifting algorithm to effectively and efficiently perform adaptive resource management on multicore systems.

[1]  Joseph Y.-T. Leung,et al.  Fair Scheduling of Real-Time Tasks on Multiprocessors , 2004 .

[2]  Gerhard Fohler,et al.  Joint scheduling of distributed complex periodic and hard aperiodic tasks in statically scheduled systems , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[3]  Sanjoy K. Baruah,et al.  Proportionate progress: a notion of fairness in resource allocation , 1993, STOC '93.

[4]  John A. Stankovic,et al.  Applicability of simulated annealing methods to real-time scheduling and jitter control , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[5]  Sanjoy K. Baruah,et al.  Preemptively scheduling hard-real-time sporadic tasks on one processor , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[6]  Isabelle Puaut,et al.  Scratchpad memories vs locked caches in hard real-time systems: a quantitative comparison , 2007 .

[7]  Francisco J. Cazorla,et al.  Multicore Resource Management , 2008, IEEE Micro.

[8]  Gerhard Fohler,et al.  Resource aware real-time stream adaptation for MPEG-2 transport streams in constrained bandwidth networks , 2010, 2010 IEEE International Conference on Multimedia and Expo.

[9]  James H. Anderson,et al.  Scheduling and locking in multiprocessor real-time operating systems , 2011 .

[10]  Gerhard Fohler,et al.  Efficient scheduling of sporadic, aperiodic, and periodic tasks with complex constraints , 2000, Proceedings 21st IEEE Real-Time Systems Symposium.

[11]  Banu Özden,et al.  Disk scheduling with quality of service guarantees , 1999, Proceedings IEEE International Conference on Multimedia Computing and Systems.

[12]  Alan Burns,et al.  Real Time Scheduling Theory: A Historical Perspective , 2004, Real-Time Systems.

[13]  Alan Burns,et al.  A survey of hard real-time scheduling for multiprocessor systems , 2011, CSUR.

[14]  Binoy Ravindran,et al.  An Optimal Real-Time Scheduling Algorithm for Multiprocessors , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[15]  Santanu Chattopadhyay,et al.  A survey on application mapping strategies for Network-on-Chip design , 2013, J. Syst. Archit..

[16]  Francisco J. Cazorla,et al.  An Analyzable Memory Controller for Hard Real-Time CMPs , 2009, IEEE Embedded Systems Letters.

[17]  Todd C. Mowry,et al.  Compiler-directed page coloring for multiprocessors , 1996, ASPLOS VII.

[18]  Luca Faust,et al.  Modern Operating Systems , 2016 .

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

[20]  Kees G. W. Goossens,et al.  Predator: A predictable SDRAM memory controller , 2007, 2007 5th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[21]  Hermann Kopetz,et al.  Sparse time versus dense time in distributed real-time systems , 1992, [1992] Proceedings of the 12th International Conference on Distributed Computing Systems.

[22]  Stephen R. Marsland,et al.  Machine Learning - An Algorithmic Perspective , 2009, Chapman and Hall / CRC machine learning and pattern recognition series.

[23]  Niraj K. Jha,et al.  Power-conscious joint scheduling of periodic task graphs and aperiodic tasks in distributed real-time embedded systems , 2000, IEEE/ACM International Conference on Computer Aided Design. ICCAD - 2000. IEEE/ACM Digest of Technical Papers (Cat. No.00CH37140).

[24]  Gerhard Fohler Analyzing a Pre Run-Time Scheduling Algorithm and Precedence Graphs , 1992 .

[25]  Sanjoy K. Baruah,et al.  A Generalized Parallel Task Model for Recurrent Real-time Processes , 2012, 2012 IEEE 33rd Real-Time Systems Symposium.

[26]  Jay K. Strosnider,et al.  ENHANCED APERIODIC RESPONSIVENESS IN HARD REAL-TIME ENVIRONMENTS. , 1987, RTSS 1987.

[27]  Neil Audsley,et al.  OPTIMAL PRIORITY ASSIGNMENT AND FEASIBILITY OF STATIC PRIORITY TASKS WITH ARBITRARY START TIMES , 2007 .

[28]  Charles U. Martel,et al.  On non-preemptive scheduling of period and sporadic tasks , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[29]  Raphael Guerra A Gravitational Task Model for Target Sensitive Real-Time Applications , 2008, 2008 Euromicro Conference on Real-Time Systems.

[30]  Sanjoy K. Baruah Task Partitioning Upon Heterogeneous Multiprocessor Platforms , 2004, IEEE Real-Time and Embedded Technology and Applications Symposium.

[31]  Sanjoy K. Baruah,et al.  On the Optimality of RM and EDF for Non-Preemptive Real-Time Harmonic Tasks , 2014, RTNS.

[32]  Aloysius K. Mok,et al.  Multiprocessor On-Line Scheduling of Hard-Real-Time Tasks , 1989, IEEE Trans. Software Eng..

[33]  Aloysius Ka-Lau Mok,et al.  Fundamental design problems of distributed systems for the hard-real-time environment , 1983 .

[34]  Gerhard Fohler,et al.  Mixed Criticality Scheduling in Time-Triggered Legacy Systems , 2013 .

[35]  Sanjoy K. Baruah,et al.  Dynamic- and Static-priority Scheduling of Recurring Real-time Tasks , 2004, Real-Time Systems.

[36]  Hermann Kopetz,et al.  Event-Triggered Versus Time-Triggered Real-Time Systems , 1991, Operating Systems of the 90s and Beyond.

[37]  Edward G. Coffman,et al.  An Application of Bin-Packing to Multiprocessor Scheduling , 1978, SIAM J. Comput..

[38]  Kang G. Shin,et al.  Allocation of periodic task modules with precedence and deadline constraints in distributed real-time systems , 1992, [1992] Proceedings Real-Time Systems Symposium.

[39]  Björn Andersson,et al.  Multiprocessor Scheduling with Few Preemptions , 2006, 12th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'06).

[40]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[41]  Giorgio C. Buttazzo,et al.  Integrating multimedia applications in hard real-time systems , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[42]  Sanjoy K. Baruah,et al.  Algorithms and complexity concerning the preemptive scheduling of periodic, real-time tasks on one processor , 1990, Real-Time Systems.

[43]  Sudarshan K. Dhall,et al.  On a Real-Time Scheduling Problem , 1978, Oper. Res..

[44]  John P. Lehoczky,et al.  An optimal algorithm for scheduling soft-aperiodic tasks in fixed-priority preemptive systems , 1992, [1992] Proceedings Real-Time Systems Symposium.

[45]  Johan J. Lukkien,et al.  RTOS Support for Mixed Time-triggered and Event-triggered Task Sets , 2012, 2012 IEEE 15th International Conference on Computational Science and Engineering.

[46]  Jay K. Strosnider,et al.  The Deferrable Server Algorithm for Enhanced Aperiodic Responsiveness in Hard Real-Time Environments , 1987, IEEE Trans. Computers.

[47]  Giovani Gracioli,et al.  An experimental evaluation of the cache partitioning impact on multicore real-time schedulers , 2013, 2013 IEEE 19th International Conference on Embedded and Real-Time Computing Systems and Applications.

[48]  Giorgio C. Buttazzo,et al.  A hyperbolic bound for the rate monotonic algorithm , 2001, Proceedings 13th Euromicro Conference on Real-Time Systems.

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

[50]  G. Fohler,et al.  Schedule Table Generation for Time-Triggered Mixed Criticality Systems , 2013 .

[51]  Anujan Varma,et al.  Latency-rate servers: a general model for analysis of traffic scheduling algorithms , 1998, TNET.

[52]  Giorgio Buttazzo,et al.  Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications , 1997 .

[53]  Peter Puschner,et al.  On the Feasibility of Response Time Predictions --- An Experimental Evaluation , 1991 .

[54]  Hermann Kopetz,et al.  Clock Synchronization in Distributed Real-Time Systems , 1987, IEEE Transactions on Computers.

[55]  Giorgio C. Buttazzo,et al.  Measuring the Performance of Schedulability Tests , 2005, Real-Time Systems.

[56]  Marco Spuri,et al.  Efficient aperiodic service under earliest deadline scheduling , 1994, 1994 Proceedings Real-Time Systems Symposium.

[57]  Wang Yi,et al.  Task automata: Schedulability, decidability and undecidability , 2007, Inf. Comput..

[58]  Aloysius K. Mok,et al.  Resource partition for real-time systems , 2001, Proceedings Seventh IEEE Real-Time Technology and Applications Symposium.

[59]  Joseph Y.-T. Leung,et al.  On-Line Scheduling of Real-Time Tasks , 1992, IEEE Trans. Computers.

[60]  Luca Benini,et al.  Adaptive TDMA bus allocation and elastic scheduling: A unified approach for enhancing robustness in multi-core RT systems , 2010, 2010 IEEE International Conference on Computer Design.

[61]  Gerhard Fohler Flexibility in Statically Scheduled Real-Time Systems , 1994 .

[62]  Diederik Verkest,et al.  A Safari Through the MPSoC Run-Time Management Jungle , 2010, J. Signal Process. Syst..

[63]  Nathan Fisher,et al.  The multiprocessor real-time scheduling of general task systems , 2007 .

[64]  Wang Yi,et al.  The Digraph Real-Time Task Model , 2011, 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium.

[65]  Giorgio Buttazzo Rate Monotonic vs. EDF: Judgment Day , 2003, EMSOFT.

[66]  Henrik Theiling,et al.  Compile-time decided instruction cache locking using worst-case execution paths , 2007, 2007 5th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[67]  Alan Burns,et al.  Scheduling slack time in fixed priority pre-emptive systems , 1993, 1993 Proceedings Real-Time Systems Symposium.

[68]  Arpan Gujarati,et al.  Multiprocessor real-time scheduling with arbitrary processor affinities: from practice to theory , 2014, Real-Time Systems.

[69]  Thomas L. Casavant,et al.  A Taxonomy of Scheduling in General-Purpose Distributed Computing Systems , 1988, IEEE Trans. Software Eng..

[70]  Karl-Erik Årzén,et al.  Resource Management on Multicore Systems: The ACTORS Approach , 2011, IEEE Micro.

[71]  Patrick Meumeu Yomsi,et al.  Worst-case communication delay analysis for many-cores using a Limited Migrative Model , 2014, 2014 IEEE 20th International Conference on Embedded and Real-Time Computing Systems and Applications.

[72]  Lui Sha,et al.  Aperiodic task scheduling for Hard-Real-Time systems , 2006, Real-Time Systems.

[73]  Sanjoy K. Baruah,et al.  Generalized Multiframe Tasks , 1999, Real-Time Systems.

[74]  Gerhard Fohler,et al.  Online Admission of Non-Preemptive Aperiodic Tasks in Offline Schedules , 2010 .

[75]  Luca Benini,et al.  MPARM: Exploring the Multi-Processor SoC Design Space with SystemC , 2005, J. VLSI Signal Process..

[76]  Giorgio C. Buttazzo,et al.  Optimal Deadline Assignment for Scheduling Soft Aperiodic Tasks in Hard Real-Time Environments , 1999, IEEE Trans. Computers.

[77]  Björn Andersson,et al.  Fixed-priority preemptive multiprocessor scheduling: to partition or not to partition , 2000, Proceedings Seventh International Conference on Real-Time Computing Systems and Applications.

[78]  Sanjoy K. Baruah,et al.  Static-priority scheduling on multiprocessors , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[79]  Herbert A. Sturges,et al.  The Choice of a Class Interval , 1926 .