Segment-Fixed Priority Scheduling for Self-Suspending Real-Time Tasks

Recent trends in System-on-a-Chip show that an increasing number of special-purpose processors are being added to improve the efficiency of common operations. Unfortunately, the use of these processors may introduce suspension delays incurred by communication, synchronization and external I/O operations. When these processors are used in real-time systems, conventional schedulability analyses incorporate these delays in the worst-case execution/response time, hence significantly reducing the schedulable utilization. In this paper, we provide schedulability analyses and propose segment-fixed priority scheduling for self-suspending tasks. We model the tasks as segments of execution separated by suspensions. We start from providing response-time analyses for self-suspending tasks under Rate Monotonic Scheduling (RMS). While RMS is shown to not be optimal, it can be used effectively in some special cases that we have identified. We then derive a utilization bound for the cases as a function of the ratio of the suspension duration to the period of the tasks. For general cases, we develop a segment-fixed priority scheduling scheme. Our scheme assigns individual segments different priorities and phase offsets that are used for phase enforcement to control the unexpected self-suspending nature. With the exact schedulability analysis designed for our scheme, our experiments show that the proposed scheme provides up to 40 times more schedulable utilization than RMS.

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

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

[3]  Konstantinos Bletsas,et al.  Extended analysis with reduced pessimism for systems with limited parallelism , 2005, 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'05).

[4]  John M. Dolan,et al.  On-Road Motion Planning for Autonomous Vehicles , 2012, ICIRA.

[5]  Pascal Richard,et al.  Some results on scheduling tasks with self-suspensions , 2006, J. Embed. Comput..

[6]  Giorgio C. Buttazzo,et al.  Rate Monotonic Analysis: The Hyperbolic Bound , 2003, IEEE Trans. Computers.

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

[8]  Ragunathan Rajkumar,et al.  Synchronization in Real-Time Systems: A Priority Inheritance Approach , 1991 .

[9]  Ragunathan Rajkumar,et al.  Synchronization in Real-Time Systems , 1991 .

[10]  Giuseppe Lipari,et al.  Feasibility Analysis of Real-Time Periodic Tasks with Offsets , 2005, Real-Time Systems.

[11]  Jin-Woo Lee,et al.  Motion planning for autonomous driving with a conformal spatiotemporal lattice , 2011, 2011 IEEE International Conference on Robotics and Automation.

[12]  Hiroaki Takada,et al.  Schedulability of generalized multiframe task sets under static priority assignment , 1997, Proceedings Fourth International Workshop on Real-Time Computing Systems and Applications.

[13]  P. Kenny,et al.  ± DISTRIBUTION STATEMENT A Approved for Public Release Distribution Unlimited , .

[14]  Sun-Yuan Kung,et al.  Trend and Challenge on System-on-a-Chip Designs , 2008, J. Signal Process. Syst..

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

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

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

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

[19]  Giuseppe Lipari,et al.  A comparison of MPCP and MSRP when sharing resources in the Janus multiple-processor on a chip platform , 2003, The 9th IEEE Real-Time and Embedded Technology and Applications Symposium, 2003. Proceedings..

[20]  Paul E. Rybski,et al.  Vision-based 3D bicycle tracking using deformable part model and Interacting Multiple Model filter , 2011, 2011 IEEE International Conference on Robotics and Automation.

[21]  Ragunathan Rajkumar,et al.  Parallel scheduling for cyber-physical systems: Analysis and case study on a self-driving car , 2013, 2013 ACM/IEEE International Conference on Cyber-Physical Systems (ICCPS).

[22]  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).

[23]  Jukka Mäki-Turja,et al.  Efficient response-time analysis for tasks with offsets , 2004, Proceedings. RTAS 2004. 10th IEEE Real-Time and Embedded Technology and Applications Symposium, 2004..

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

[25]  Ragunathan Rajkumar,et al.  Towards a viable autonomous driving research platform , 2013, 2013 IEEE Intelligent Vehicles Symposium (IV).

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

[27]  Gaurav Bhatia,et al.  SAFER: System-level Architecture for Failure Evasion in Real-time Applications , 2012, 2012 IEEE 33rd Real-Time Systems Symposium.