Shared-Resource-Centric Limited Preemptive Scheduling: A Comprehensive Study of Suspension-Based Partitioning Approaches

This paper studies the problem of scheduling a set of hard real-time sporadic tasks that may access CPU cores and a shared resource. Motivated by the observation that the CPU resource is often abundant compared to the shared resources in multi-core and many-core systems, we propose to resolve this problem from a counter-intuitive shared-resource-centric perspective, focusing on judiciously prioritizing and scheduling tasks' requests in a limited preemptive manner on the shared resource while viewing the worst-case latency a task may experience on the CPU cores as suspension delays. We develop a rather comprehensive set of task partitioning algorithms that partition tasks onto the shared resource with the objective of guaranteeing schedulability while minimizing the required size of the shared resource, which plays a critical role in reducing the overall cost and complexity of building resource-constrained embedded systems in many application domains. A GPU-based prototype case study and extensive simulation-based experiments have been conducted, which validate both our shared-resource-centric scheduling philosophy and the efficiency of our suspension-based partitioning solutions in practice.

[1]  David S. Johnson,et al.  Near-optimal bin packing algorithms , 1973 .

[2]  Alan Burns,et al.  Resource Sharing in Hierarchical Fixed Priority Pre-Emptive Systems , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[3]  Jane W.-S. Liu Real-Time Systems , 2000, Encyclopedia of Algorithms.

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

[5]  余磊,et al.  Godson-T: An Efficient Many-Core Architecture for Parallel Program Executions , 2009 .

[6]  Andrew E. Johnson,et al.  Investigation of the Tilera processor for real time hazard detection and avoidance on the Altair Lunar Lander , 2010, 2010 IEEE Aerospace Conference.

[7]  Lothar Thiele,et al.  Worst case delay analysis for memory interference in multicore systems , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[8]  Thomas Bemmerl,et al.  Evaluation and improvements of programming models for the Intel SCC many-core processor , 2011, 2011 International Conference on High Performance Computing & Simulation.

[9]  Lothar Thiele,et al.  Timing Analysis for Resource Access Interference on Adaptive Resource Arbiters , 2011, 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium.

[10]  Wang Yi,et al.  Resource Sharing Protocols for Real-Time Task Graph Systems , 2011, 2011 23rd Euromicro Conference on Real-Time Systems.

[11]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[12]  Jean-Marc Philippe,et al.  An efficient and flexible hardware support for accelerating synchronization operations on the STHORM many-core architecture , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[13]  Rodolfo Pellizzoni,et al.  A formal approach to the WCRT analysis of multicore systems with memory contention under phase-structured task sets , 2014, Real-Time Systems.

[14]  Xiaodong Wu,et al.  Multiprocessor Real-Time Systems with Shared Resources: Utilization Bound and Mapping , 2014, IEEE Transactions on Parallel and Distributed Systems.

[15]  Jian-Jia Chen,et al.  Bursty-Interference Analysis Techniques for Analyzing Complex Real-Time Task Models , 2014, 2014 IEEE Real-Time Systems Symposium.

[16]  Cong Liu,et al.  Task mapping in heterogeneous embedded systems for fast completion time , 2014, 2014 International Conference on Embedded Software (EMSOFT).

[17]  Jan Reineke,et al.  Impact of resource sharing on performance and performance prediction , 2013, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[18]  Cong Liu,et al.  GPES: a preemptive execution system for GPGPU computing , 2015, 21st IEEE Real-Time and Embedded Technology and Applications Symposium.

[19]  Giorgio C. Buttazzo,et al.  Memory-processor co-scheduling in fixed priority systems , 2015, RTNS.

[20]  Jian-Jia Chen,et al.  k2U: A General Framework from k-Point Effective Schedulability Analysis to Utilization-Based Tests , 2015, 2015 IEEE Real-Time Systems Symposium.

[21]  Leandro Soares Indrusiak,et al.  A generic and compositional framework for multicore response time analysis , 2015, RTNS.

[22]  Jian-Jia Chen,et al.  PASS: Priority assignment of real-time tasks with dynamic suspending behavior under fixed-priority scheduling , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[23]  Jian-Jia Chen,et al.  A Unifying Response Time Analysis Framework for Dynamic Self-Suspending Tasks , 2016, 2016 28th Euromicro Conference on Real-Time Systems (ECRTS).

[24]  Ragunathan Rajkumar,et al.  Real-time cache management for multi-core virtualization , 2016, 2016 International Conference on Embedded Software (EMSOFT).

[25]  Giorgio C. Buttazzo,et al.  A Framework for Supporting Real-Time Applications on Dynamic Reconfigurable FPGAs , 2016, 2016 IEEE Real-Time Systems Symposium (RTSS).

[26]  Rodolfo Pellizzoni,et al.  Memory Servers for Multicore Systems , 2016, 2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[27]  Heechul Yun,et al.  Taming Non-Blocking Caches to Improve Isolation in Multicore Real-Time Systems , 2016, 2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[28]  Jian-Jia Chen,et al.  MIRROR: Symmetric timing analysis for real-time tasks on multicore platforms with shared resources , 2016, 2016 53nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[29]  Zheng Dong,et al.  Closing the Loop for the Selective Conversion Approach: A Utilization-Based Test for Hard Real-Time Suspending Task Systems , 2016, 2016 IEEE Real-Time Systems Symposium (RTSS).

[30]  James H. Anderson,et al.  Optimal Dataflow Scheduling on a Heterogeneous Multiprocessor With Reduced Response Time Bounds , 2017, ECRTS.

[31]  Tei-Wei Kuo,et al.  Memory Bank Partitioning for Fixed-Priority Tasks in a Multi-core System , 2017, 2017 IEEE Real-Time Systems Symposium (RTSS).

[32]  Jian-Jia Chen,et al.  Fixed-priority scheduling of mixed soft and hare real-time tasks on multiprocessors , 2017, 2017 IEEE 23rd International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA).