Uniprocessor Scheduling Strategies for Self-Suspending Task Systems

We study uniprocessor scheduling for hard real-time self-suspending task systems where each task may contain a single self-suspension interval. We focus on improving state-of-the-art fixed-relative-deadline (FRD) scheduling approaches, where an FRD scheduler assigns a separate relative deadline to each computation segment of a task. Then, FRD schedules different computation segments by using the earliest-deadline first (EDF) scheduling policy, based on the assigned deadlines for the computation segments. Our proposed algorithm, Shortest Execution Interval First Deadline Assignment (SEIFDA), greedily assigns the relative deadlines of the computation segments, starting with the task with the smallest execution interval length, i.e., the period minus the self-suspension time. We show that any reasonable deadline assignment under this strategy has a speedup factor of 3. Moreover, we present how to approximate the schedulability test and a generalized mixed integer linear programming (MILP) that can be formulated based on the tolerable loss in the schedulability test defined by the users. We show by both analysis and experiments that through designing smarter relative deadline assignment policies, the resulting FRD scheduling algorithms yield significantly better performance than existing schedulers for such task systems.

[1]  R. Rajkumar Real-time synchronization protocols for shared memory multiprocessors , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[2]  Lothar Thiele,et al.  Approximate schedulability analysis , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

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

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

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

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

[7]  Sang Hyuk Son,et al.  I/O-Aware Deadline Miss Ratio Management in Real-Time Embedded Databases , 2007, RTSS 2007.

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

[9]  Alan Burns,et al.  Efficient Exact Schedulability Tests for Fixed Priority Real-Time Systems , 2008, IEEE Transactions on Computers.

[10]  Hiroaki Takada,et al.  Effective Scheduling Algorithms for I/O Blocking with a Multi-Frame Task Model , 2009, IEICE Trans. Inf. Syst..

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

[12]  Jian-Jia Chen,et al.  Resource Augmentation Bounds for Approximate Demand Bound Functions , 2011, 2011 IEEE 32nd Real-Time Systems Symposium.

[13]  Björn B. Brandenburg Improved analysis and evaluation of real-time semaphore protocols for P-FP scheduling , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[14]  Björn Andersson,et al.  Segment-Fixed Priority Scheduling for Self-Suspending Real-Time Tasks , 2013, 2013 IEEE 34th Real-Time Systems Symposium.

[15]  Jian-Jia Chen,et al.  Fixed-Relative-Deadline Scheduling of Hard Real-Time Tasks with Self-Suspensions , 2014, 2014 IEEE Real-Time Systems Symposium.

[16]  Gurulingesh Raravi,et al.  Timing Analysis of Fixed Priority Self-Suspending Sporadic Tasks , 2015, 2015 27th Euromicro Conference on Real-Time Systems.

[17]  Wei Gao,et al.  A Computation Offloading Framework for Soft Real-Time Embedded Systems , 2015, 2015 27th Euromicro Conference on Real-Time Systems.

[18]  Jian-Jia Chen,et al.  Computational Complexity and Speedup Factors Analyses for Self-Suspending Tasks , 2016, 2016 IEEE Real-Time Systems Symposium (RTSS).

[19]  Bo Peng,et al.  Parameter Adaption for Generalized Multiframe Tasks and Applications to Self-Suspending Tasks , 2016, 2016 IEEE 22nd International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA).

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

[21]  Jian-Jia Chen,et al.  Self-suspension real-time tasks under fixed-relative-deadline fixed-priority scheduling , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[22]  Jian-Jia Chen,et al.  A Note on the Period Enforcer Algorithm for Self-Suspending Tasks , 2016, Leibniz Trans. Embed. Syst..

[23]  Jian-Jia Chen,et al.  Many suspensions, many problems: a review of self-suspending tasks in real-time systems , 2018, Real-Time Systems.