FIFO with Offsets: High Schedulability with Low Overheads

The OS scheduler's memory and runtime overheads form crucial design constraints for embedded systems implemented on low-cost hardware platforms. Table-driven scheduling can provide a high level of schedulability; however, it also consumes significant amounts of memory. By contrast, effective non-preemptive scheduling policies, such as the non-work-conserving Critical-Window EDF (CW-EDF), have low memory usage, but substantial runtime overheads. This paper aims to achieve efficient and effective non-preemptive scheduling by using a First-In-First-Out (FIFO) scheduling policy combined with a novel offset tuning technique. This technique enables the FIFO policy to reproduce a given feasible schedule, such as that followed by CW-EDF, resulting in a high level of schedulability, combined with comparatively low runtime overheads. Further, by using a small number of offsets per task, memory overheads are also tightly constrained. The proposed solution is evaluated in terms of runtime overhead, memory consumption, and schedulability ratio, using a prototype implementation on an Arduino board. This shows that FIFO with offset tuning can match the schedulability ratio of CW-EDF, while typically exhibiting lower scheduling overheads and memory consumption than the state-of-the-art Offline Equivalence technique, which is based on Non-Preemptive Fixed Priority (NP-FP) scheduling.

[1]  Joël Goossens,et al.  Scheduling of Offset Free Systems , 2003, Real-Time Systems.

[2]  Guy Juanole,et al.  Near-Optimal Fixed Priority Preemptive Scheduling of Offset Free Systems , 2006 .

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

[4]  Mitra Nasri,et al.  Offline Equivalence: A Non-preemptive Scheduling Technique for Resource-Constrained Embedded Real-Time Systems (Outstanding Paper) , 2017, 2017 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[5]  Christian Fraboul,et al.  Existing offset assignments are near optimal for an industrial AFDX network , 2011, SIGBED.

[6]  Robert I. Davis,et al.  Controller Area Network (CAN): Response time analysis with offsets , 2012, 2012 9th IEEE International Workshop on Factory Communication Systems.

[7]  Liliana Cucu-Grosjean,et al.  Periodicity of real-time schedules for dependent periodic tasks on identical multiprocessor platforms , 2016, Real-Time Systems.

[8]  Alan Burns,et al.  Sustainable Scheduling Analysis , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[9]  Sanjoy K. Baruah,et al.  The Non-preemptive Scheduling of Periodic Tasks upon Multiprocessors , 2006, Real-Time Systems.

[10]  Charles U. Martel,et al.  On non-preemptive scheduling of period and sporadic tasks , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

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

[12]  Yang Cai,et al.  Nonpreemptive scheduling of periodic tasks in uni- and multiprocessor systems , 1996, Algorithmica.

[13]  Gerhard Fohler,et al.  Non-work-conserving Non-preemptive Scheduling: Motivations, Challenges, and Potential Solutions , 2016, 2016 28th Euromicro Conference on Real-Time Systems (ECRTS).

[14]  Rolf Ernst,et al.  Improved offset-analysis using multiple timing-references , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[15]  Françoise Simonot-Lion,et al.  Multisource Software on Multicore Automotive ECUs—Combining Runnable Sequencing With Task Scheduling , 2012, IEEE Transactions on Industrial Electronics.

[16]  Mehdi Kargahi,et al.  Precautious-RM: a predictable non-preemptive scheduling algorithm for harmonic tasks , 2014, Real-Time Systems.

[17]  Alan Burns,et al.  Controller Area Network (CAN) schedulability analysis: Refuted, revisited and revised , 2007, Real-Time Systems.

[18]  Mitra Nasri,et al.  An Exact and Sustainable Analysis of Non-preemptive Scheduling , 2017, 2017 IEEE Real-Time Systems Symposium (RTSS).

[19]  Sebastian Altmeyer,et al.  The Case for FIFO Real-Time Scheduling , 2016 .

[20]  Laurent George,et al.  A FIFO worst case analysis for a hard real-time distributed problem with consistency constraints , 1997, Proceedings of 17th International Conference on Distributed Computing Systems.

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