Efficient Design, Analysis, and Implementation of Complex Multiprocessor Real-Time Systems

CONG LIU: Efficient Design, Analysis, and Implementation of Complex Multiprocessor Real-Time Systems (Under the direction of Prof. James H. Anderson) The advent of multicore technologies is a fundamental development that is impacting software design processes across a wide range of application domains, including an important category of such applications, namely, those that have real-time constraints. This development has led to much recent work on multicore-oriented resource management frameworks for real-time applications. Unfortunately, most of this work focuses on simple task models where complex but practical runtime behaviors among tasks do not arise. In practice, however, many factors such as programming methodologies, interactions with external devices, and resource sharing often result in complex runtime behaviors that can negatively impact timing correctness. The goal of this dissertation is to support such more realistic and complex applications in multicore-based real-time systems. The thesis of this dissertation is: Capacity loss (i.e., over provisioning) can be significantly reduced on multiprocessors while providing soft and hard real-time guarantees for real-time applications that exhibit complex runtime behaviors such as self-suspensions, graph-based precedence constraints, non-preemptive sections, and parallel execution segments by designing new real-time scheduling algorithms and developing new schedulability tests. The above thesis is established by developing new multiprocessor scheduling algorithms and schedulability tests that are sufficient to provide real-time guarantees for task systems containing each of the above mentioned complex runtime behaviors individually and in combination. First, we present several efficient multiprocessor schedulability tests for both soft and hard real-time sporadic self-suspending task systems. For the past 20 years, the unsolved problem of supporting real-time systems with suspensions has impeded research progress on many related

[1]  Manuel Blum,et al.  Time Bounds for Selection , 1973, J. Comput. Syst. Sci..

[2]  Geoffrey Nelissen,et al.  Techniques Optimizing the Number of Processors to Schedule Multi-threaded Tasks , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[3]  Heinrich Meyr,et al.  Scheduling for optimum data memory compaction in block diagram oriented software synthesis , 1995, 1995 International Conference on Acoustics, Speech, and Signal Processing.

[4]  Sanjoy K. Baruah,et al.  Tardiness Bounds for Global EDF with Deadlines Different from Periods , 2010, OPODIS.

[5]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[6]  Joseph Y.-T. Leung,et al.  Handbook of Real-Time and Embedded Systems , 2007 .

[7]  Sang-Won Lee,et al.  Design of flash-based DBMS: an in-page logging approach , 2007, SIGMOD '07.

[8]  James H. Anderson,et al.  An EDF-based scheduling algorithm for multiprocessor soft real-time systems , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

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

[10]  Björn Andersson,et al.  Task assignment algorithms for two-type heterogeneous multiprocessors , 2013, Real-Time Systems.

[11]  Kevin Jeffay,et al.  Scheduling sporadic tasks with shared resources in hard-real-time systems , 1992, [1992] Proceedings Real-Time Systems Symposium.

[12]  Chenyang Lu,et al.  Multi-core real-time scheduling for generalized parallel task models , 2011, 2011 IEEE 32nd Real-Time Systems Symposium.

[13]  James H. Anderson,et al.  An O(m) Analysis Technique for Supporting Real-Time Self-Suspending Task Systems , 2012, 2012 IEEE 33rd Real-Time Systems Symposium.

[14]  James H. Anderson,et al.  A new technique for analyzing soft real-time self-suspending task systems , 2012, SIGBED.

[15]  Wang Yi,et al.  New Response Time Bounds for Fixed Priority Multiprocessor Scheduling , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[16]  James H. Anderson,et al.  A Hybrid Real-Time Scheduling Approach for Large-Scale Multicore Platforms , 2007, 19th Euromicro Conference on Real-Time Systems (ECRTS'07).

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

[18]  Orlando Moreira,et al.  Multiprocessor resource allocation for hard-real-time streaming with a dynamic job-mix , 2005, 11th IEEE Real Time and Embedded Technology and Applications Symposium.

[19]  James H. Anderson,et al.  Optimal rate-based scheduling on multiprocessors , 2002, STOC '02.

[20]  James H. Anderson,et al.  Fair scheduling of dynamic task systems on multiprocessors , 2005, J. Syst. Softw..

[21]  James H. Anderson,et al.  Tardiness bounds under global EDF scheduling on a multiprocessor , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

[22]  Cynthia A. Phillips,et al.  Optimal Time-Critical Scheduling via Resource Augmentation , 1997, STOC '97.

[23]  Orlando Moreira,et al.  Scheduling multiple independent hard-real-time jobs on a heterogeneous multiprocessor , 2007, EMSOFT '07.

[24]  K Lakshmanan,et al.  Scheduling Parallel Real-Time Tasks on Multi-core Processors , 2010, 2010 31st IEEE Real-Time Systems Symposium.

[25]  Ken Tindell,et al.  ADDING TIME-OFFSETS TO SCHEDULABILITY ANALYSIS , 1994 .

[26]  Edward A. Lee,et al.  Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing , 1989, IEEE Transactions on Computers.

[27]  J. Leung,et al.  A Note on Preemptive Scheduling of Periodic, Real-Time Tasks , 1980, Inf. Process. Lett..

[28]  Sanjoy Baruah,et al.  Edf scheduling on heterogeneous multiprocessors , 2004 .

[29]  UmaMaheswari Devi,et al.  An improved schedulability test for uniprocessor periodic task systems , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

[30]  Heinrich Meyr,et al.  High performance DSP software using data-flow graph transformations , 1994, Proceedings of 1994 28th Asilomar Conference on Signals, Systems and Computers.

[31]  Ramin Yahyapour,et al.  Economic Scheduling in Grid Computing , 2002, JSSPP.

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

[33]  Copyright © Intel Corporation 2008 * Other names and brands may be claimed as the property of others , 2004 .

[34]  Björn Andersson,et al.  The utilization bounds of partitioned and pfair static-priority scheduling on multiprocessors are 50% , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

[35]  Theodore P. Baker,et al.  Multiprocessor EDF and deadline monotonic schedulability analysis , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[36]  Sanjoy K. Baruah,et al.  On-line scheduling to maximize task completions , 1994, 1994 Proceedings Real-Time Systems Symposium.

[37]  Jay K. Strosnider,et al.  Fixed Priority Scheduling Theory for Hard Real-Time Systems , 1991 .

[38]  James H. Anderson,et al.  Soft real-time scheduling on multiprocessors , 2006 .

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

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

[41]  Michael González Harbour,et al.  Response time analysis of EDF distributed real-time systems , 2005, J. Embed. Comput..

[42]  Christian Poellabauer,et al.  Analysis of a window-constrained scheduler for real-time and best-effort packet streams , 2000, Proceedings 21st IEEE Real-Time Systems Symposium.

[43]  Peter van der Stok Dynamic and Robust Streaming in and between Connected Consumer-Electronic Devices , 2011 .

[44]  James H. Anderson,et al.  Globally scheduled real-time multiprocessor systems with GPUs , 2011, Real-Time Systems.

[45]  Edward R. Dougherty,et al.  Introduction to Real-Time Imaging , 1995 .

[46]  James H. Anderson,et al.  Task Scheduling with Self-Suspensions in Soft Real-Time Multiprocessor Systems , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[47]  Hector Garcia-Molina,et al.  Deadline Assignment in a Distributed Soft Real-Time System , 1997, IEEE Trans. Parallel Distributed Syst..

[48]  Michele Cirinei,et al.  Response-Time Analysis for Globally Scheduled Symmetric Multiprocessor Platforms , 2007, 28th IEEE International Real-Time Systems Symposium (RTSS 2007).

[49]  Rohit Chandra,et al.  Parallel programming in openMP , 2000 .

[50]  Gurulingesh Raravi,et al.  A PTAS for Assigning Sporadic Tasks on Two-type Heterogeneous Multiprocessors , 2012, 2012 IEEE 33rd Real-Time Systems Symposium.

[51]  Theodore P. Baker,et al.  Stack-based scheduling of realtime processes , 1991, Real-Time Systems.

[52]  Geoffrey Nelissen,et al.  U-EDF: An Unfair But Optimal Multiprocessor Scheduling Algorithm for Sporadic Tasks , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[53]  Joseph Y.-T. Leung,et al.  On the complexity of fixed-priority scheduling of periodic, real-time tasks , 1982, Perform. Evaluation.

[54]  Dennis Shasha,et al.  Skip-Over: algorithms and complexity for overloaded systems that allow skips , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[55]  Parameswaran Ramanathan,et al.  A Dynamic Priority Assignement Technique for Streams with (m, k)-Firm Deadlines , 1995, IEEE Trans. Computers.

[56]  Marko Bertogna,et al.  Tests for global EDF schedulability analysis , 2011, J. Syst. Archit..

[57]  Larry Rudolph,et al.  Parallel Job Scheduling: Issues and Approaches , 1995, JSSPP.

[58]  D. Turgay Altilar,et al.  An optimal scheduling algorithm for parallel video processing , 1998, Proceedings. IEEE International Conference on Multimedia Computing and Systems (Cat. No.98TB100241).

[59]  Hennadiy Leontyev,et al.  Generalized tardiness bounds for global multiprocessor scheduling , 2007, Real Time Syst..

[60]  Scott Shenker,et al.  Delay scheduling: a simple technique for achieving locality and fairness in cluster scheduling , 2010, EuroSys '10.

[61]  Daniel F. Garcia,et al.  Utilization Bounds for EDF Scheduling on Real-Time Multiprocessor Systems , 2004, Real-Time Systems.

[62]  Dror G. Feitelson,et al.  Job Scheduling in Multiprogrammed Parallel Systems , 1997 .

[63]  Tarek F. Abdelzaher,et al.  Transforming Distributed Acyclic Systems into Equivalent Uniprocessors under Preemptive and Non-Preemptive Scheduling , 2008, 2008 Euromicro Conference on Real-Time Systems.

[64]  Mathai Joseph,et al.  Finding Response Times in a Real-Time System , 1986, Comput. J..

[65]  Edward A. Lee,et al.  Non-preemptive real-time scheduling of dataflow systems , 1995, 1995 International Conference on Acoustics, Speech, and Signal Processing.

[66]  Steve Goddard,et al.  A theory of rate-based execution , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

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

[68]  Michael González Harbour,et al.  Offset-based response time analysis of distributed systems scheduled under EDF , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

[69]  Yoshifumi Kitamura,et al.  Parallel algorithms for real-time colliding face detection , 1995, Proceedings 4th IEEE International Workshop on Robot and Human Communication.

[70]  Sanjoy K. Baruah,et al.  Priority-Driven Scheduling of Periodic Task Systems on Multiprocessors , 2003, Real-Time Systems.

[71]  Orlando Moreira,et al.  Self-Timed Scheduling Analysis for Real-Time Applications , 2007, EURASIP J. Adv. Signal Process..

[72]  Ellis Horowitz,et al.  Exact and Approximate Algorithms for Scheduling Nonidentical Processors , 1976, JACM.

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

[74]  Kyung-Hee Choi,et al.  Real-time scheduling of tasks that contain the external blocking intervals , 1995, Proceedings Second International Workshop on Real-Time Computing Systems and Applications.

[75]  James H. Anderson,et al.  Mixed Pfair/ERfair scheduling of asynchronous periodic tasks , 2001, Proceedings 13th Euromicro Conference on Real-Time Systems.

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

[77]  Kevin Jeffay,et al.  On the management of latency in the synthesis of real-time signal processing systems from processing graphs , 1998 .

[78]  Edward G. Coffman,et al.  Approximation algorithms for bin packing: a survey , 1996 .

[79]  Jay K. Strosnider,et al.  Distributed Pipeline Scheduling: A Framework for Distributed, Heterogeneous Real-Time System Design , 1995, Comput. J..

[80]  Frédéric Ridouard Worst-case analysis of feasibility tests for self-suspending tasks , 2006 .

[81]  Sanjoy K. Baruah,et al.  Schedulability Analysis of Multiprocessor Sporadic Task Systems , 2007, Handbook of Real-Time and Embedded Systems.

[82]  Jay K. Strosnider,et al.  A generalized admissions control strategy for heterogeneous, distributed multimedia systems , 1995, MULTIMEDIA '95.

[83]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[84]  Sang Hyuk Son,et al.  I/O-Aware Deadline Miss Ratio Management in Real-Time Embedded Databases , 2007, 28th IEEE International Real-Time Systems Symposium (RTSS 2007).

[85]  Michael González Harbour,et al.  Schedulability analysis for tasks with static and dynamic offsets , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[86]  Hennadiy Leontyev,et al.  Compositional Analysis Techniques For Multiprocessor Soft Real-Time Scheduling , 2010 .

[87]  James H. Anderson,et al.  Adaptive multiprocessor real-time systems , 2008 .

[88]  Giuseppe Lipari,et al.  Improved schedulability analysis of EDF on multiprocessor platforms , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[89]  W. A. Horn Some simple scheduling algorithms , 1974 .

[90]  Tarek F. Abdelzaher,et al.  End-to-End Delay Analysis of Distributed Systems with Cycles in the Task Graph , 2009, 2009 21st Euromicro Conference on Real-Time Systems.

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

[92]  Sanjoy K. Baruah,et al.  The partitioned multiprocessor scheduling of sporadic task systems , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

[93]  Giuseppe Lipari,et al.  Improved schedulability analysis of real-time transactions with earliest deadline scheduling , 2005, 11th IEEE Real Time and Embedded Technology and Applications Symposium.

[94]  Chenyang Lu,et al.  Configurable Middleware for Distributed Real-Time Systems with Aperiodic and Periodic Tasks , 2010, IEEE Transactions on Parallel and Distributed Systems.

[95]  Giuseppe Lipari,et al.  Schedulability Analysis of Global Scheduling Algorithms on Multiprocessor Platforms , 2009, IEEE Transactions on Parallel and Distributed Systems.

[96]  Sanjoy K. Baruah Techniques for Multiprocessor Global Schedulability Analysis , 2007, 28th IEEE International Real-Time Systems Symposium (RTSS 2007).

[97]  Alan Burns,et al.  Improved priority assignment for global fixed priority pre-emptive scheduling in multiprocessor real-time systems , 2010, Real-Time Systems.

[98]  Pascal Richard,et al.  Negative results for scheduling independent hard real-time tasks with self-suspensions , 2004, 25th IEEE International Real-Time Systems Symposium.

[99]  Ragunathan Rajkumar,et al.  Scheduling Self-Suspending Real-Time Tasks with Rate-Monotonic Priorities , 2010, 2010 16th IEEE Real-Time and Embedded Technology and Applications Symposium.

[100]  Alan Burns,et al.  Effective Analysis for Engineering Real-Time Fixed Priority Schedulers , 1995, IEEE Trans. Software Eng..

[101]  Rohit Jain,et al.  Soft real-time scheduling on simultaneous multithreaded processors , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[102]  Hennadiy Leontyev,et al.  A Unified Hard/Soft Real-Time Schedulability Test for Global EDF Multiprocessor Scheduling , 2008, 2008 Real-Time Systems Symposium.

[103]  Björn Andersson,et al.  Assigning real-time tasks on heterogeneous multiprocessors with two unrelated types of processors , 2010, 2010 31st IEEE Real-Time Systems Symposium.