Online Real-Time Task Scheduling in Heterogeneous Multicore System-on-a-Chip

Online task scheduling in heterogeneous multicore system-on-a-chip is a challenging problem due to precedence constraints and nonpreemptive task execution in the synergistic processor core. This study first proposes an online heterogeneous dual-core scheduling framework for dynamic workloads with real-time constraints. The general purpose processor core and the synergistic processor core are dedicated to separate schedulers with different scheduling policies, and precedence constraints among tasks are dealt with through interaction between the two schedulers. This framework is also configurable for low priority inversion and high system utilization. We then extend this framework to heterogeneous multicore systems with well-known dispatcher schemas. This paper presents a real case study to show the practicability of the proposed methodology, and presents a series of extensive simulations to obtain comparison studies using different workloads and scheduling algorithms.

[1]  Sanjoy K. Baruah,et al.  Executing aperiodic jobs in a multiprocessor constant-bandwidth server implementation , 2004, Proceedings. 16th Euromicro Conference on Real-Time Systems, 2004. ECRTS 2004..

[2]  Shinpei Kato,et al.  Resource Sharing in GPU-Accelerated Windowing Systems , 2011, 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium.

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

[4]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[5]  Nikil D. Dutt,et al.  Design space exploration of real-time multi-media MPSoCs with heterogeneous scheduling policies , 2006, Proceedings of the 4th International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '06).

[6]  Giorgio C. Buttazzo,et al.  Adaptive bandwidth reservation for multimedia computing , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[7]  Sanjoy K. Baruah,et al.  The partitioned multiprocessor scheduling of deadline-constrained sporadic task systems , 2006, IEEE Transactions on Computers.

[8]  Ragunathan Rajkumar,et al.  Cooperative scheduling of multiple resources , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

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

[10]  Sanjoy K. Baruah,et al.  An analysis of global edf schedulability for arbitrary-deadline sporadic task systems , 2009, Real-Time Systems.

[11]  Giorgio C. Buttazzo,et al.  Multiprocessor DSP scheduling in system-on-a-chip architectures , 2002, Proceedings 14th Euromicro Conference on Real-Time Systems. Euromicro RTS 2002.

[12]  Wayne H. Wolf,et al.  TGFF: task graphs for free , 1998, Proceedings of the Sixth International Workshop on Hardware/Software Codesign. (CODES/CASHE'98).

[13]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[14]  Chanik Park,et al.  Real-time scheduling in heterogeneous dual-core architectures , 2006, 12th International Conference on Parallel and Distributed Systems - (ICPADS'06).

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

[16]  Mikhail Bautin,et al.  Graphic engine resource management , 2008, Electronic Imaging.

[17]  Ya-Shu Chen,et al.  On-line task scheduling for dual-core real-time embedded systems , 2009, 2009 7th IEEE International Conference on Industrial Informatics.

[18]  Theodore P. Baker,et al.  A stack-based resource allocation policy for realtime processes , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

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

[20]  Richard West,et al.  Mutable Protection Domains: Towards a Component-Based System for Dependable and Predictable Computing , 2007, RTSS 2007.

[21]  Jenq Kuen Lee,et al.  Enhancing Microkernel Performance on VLIW DSP Processors via Multiset Context Switch , 2008, J. Signal Process. Syst..

[22]  Z. Deng,et al.  A scheme for scheduling hard real-time applications in open system environment , 1997, Proceedings Ninth Euromicro Workshop on Real Time Systems.

[23]  Roy H. Campbell,et al.  Context switch overheads for Linux on ARM platforms , 2007, ExpCS '07.

[24]  Theodore P. Baker,et al.  A Comparison of Global and Partitioned EDF Schedulability Tests for Multiprocessors TR-051101 , 2005 .

[25]  Marios C. Papaefthymiou,et al.  Efficient Block Scheduling to Minimize Context Switching Time for Programmable Embedded Processors , 1999, Des. Autom. Embed. Syst..

[26]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..

[27]  Petru Eles,et al.  Predictable Worst-Case Execution Time Analysis for Multiprocessor Systems-on-Chip , 2011, 2011 Sixth IEEE International Symposium on Electronic Design, Test and Application.

[28]  Ya-Shu Chen,et al.  A real-time configurable synchronization protocol for self-suspending process sets , 2009, Real-Time Systems.

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

[30]  Shinpei Kato,et al.  TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments , 2011, USENIX Annual Technical Conference.

[31]  Daniele Vigo,et al.  Bin Packing Approximation Algorithms: Combinatorial Analysis , 1999, Handbook of Combinatorial Optimization.

[32]  Chin-Fu Kuo,et al.  Real-Time Task Scheduling on Heterogeneous Two-Processor Systems , 2010, ICA3PP.

[33]  Shinpei Kato,et al.  Semi-partitioned Fixed-Priority Scheduling on Multiprocessors , 2009, 2009 15th IEEE Real-Time and Embedded Technology and Applications Symposium.

[34]  Sanjoy K. Baruah,et al.  Sustainable Multiprocessor Scheduling of Sporadic Task Systems , 2009, 2009 21st Euromicro Conference on Real-Time Systems.

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

[36]  Sanjoy K. Baruah,et al.  The EDF Scheduling of Sporadic Task Systems on Uniform Multiprocessors , 2008, 2008 Real-Time Systems Symposium.

[37]  Sanjoy K. Baruah,et al.  A multiprocessor implementation of the total bandwidth server , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[38]  Pieter van der Wolf,et al.  Real-Time Analysis for Memory Access in Media Processing SoCs: A Practical Approach , 2008, 2008 Euromicro Conference on Real-Time Systems.

[39]  Luca Benini,et al.  Allocation, Scheduling and Voltage Scaling on Energy Aware MPSoCs , 2006, CPAIOR.

[40]  John P. Lehoczky,et al.  Partitioned Fixed-Priority Preemptive Scheduling for Multi-core Processors , 2009, 2009 21st Euromicro Conference on Real-Time Systems.

[41]  Jong-Deok Choi,et al.  Static slicing in the presence of goto statements , 1994, TOPL.

[42]  Giorgio C. Buttazzo,et al.  Resource Reservation in Dynamic Real-Time Systems , 2004, Real-Time Systems.

[43]  Björn Andersson,et al.  Scheduling Arbitrary-Deadline Sporadic Task Systems on Multiprocessors , 2008, 2008 Real-Time Systems Symposium.

[44]  Lui Sha,et al.  Exploiting unused periodic time for aperiodic service using the extended priority exchange algorithm , 1988, Proceedings. Real-Time Systems Symposium.

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

[46]  Marco Spuri,et al.  Scheduling aperiodic tasks in dynamic priority systems , 1996, Real-Time Systems.

[47]  Katsuro Inoue,et al.  Dependence-cache slicing: a program slicing method using lightweight dynamic information , 2002, Proceedings 10th International Workshop on Program Comprehension.

[48]  Shinpei Kato,et al.  Semi-partitioned Scheduling of Sporadic Task Systems on Multiprocessors , 2009, 2009 21st Euromicro Conference on Real-Time Systems.