Preference-oriented real-time scheduling and its application in fault-tolerant systems

Investigate the preference-oriented executions for real-time tasks.Propose two optimal preference-oriented (PO) scheduling algorithms.Explore the application of PO scheduling algorithms for fault tolerant systems.PO scheduling algorithms can effectively fulfill tasks' preference requirements. In this paper, we consider a set of real-time periodic tasks where some tasks are preferably executed as soon as possible (ASAP) and others as late as possible (ALAP) while still meeting their deadlines. After introducing the idea of preference-oriented (PO) execution, we formally define the concept of PO-optimality. For fully-loaded systems (with 100% utilization), we first propose a PO-optimal scheduler, namely ASAP-Ensured Earliest Deadline (SEED), by focusing on ASAP tasks where the optimality of ALAP tasks' preference is achieved implicitly due to the harmonicity of the PO-optimal schedules for such systems. Then, for under-utilized systems (with less than 100% utilization), we show the discrepancies between different PO-optimal schedules. By extending SEED, we propose a generalized Preference-Oriented Earliest Deadline (POED) scheduler that can obtain a PO-optimal schedule for any schedulable task set. The application of the POED scheduler in a dual-processor fault-tolerant system is further illustrated. We evaluate the proposed PO-optimal schedulers through extensive simulations. The results show that, comparing to that of the well-known EDF scheduler, the scheduling overheads of SEED and POED are higher (but still manageable) due to the additional consideration of tasks' preferences. However, SEED and POED can achieve the preference-oriented execution objectives in a more successful way than EDF.

[1]  Andy J. Wellings,et al.  Dual priority scheduling , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[2]  Rami G. Melhem,et al.  Fault-Tolerance Through Scheduling of Aperiodic Tasks in Hard Real-Time Multiprocessor Systems , 1997, IEEE Trans. Parallel Distributed Syst..

[3]  Dakai Zhu Efficient Power Management Schemes for Dual-Processor Fault-Tolerant Systems , 2012 .

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

[5]  Luigi V. Mancini,et al.  Fault-Tolerant Rate-Monotonic First-Fit Scheduling in Hard-Real-Time Systems , 1999, IEEE Trans. Parallel Distributed Syst..

[6]  Dakai Zhu,et al.  Energy management of standby-sparing systems for fixed-priority real-time workloads , 2013, 2013 International Green Computing Conference Proceedings.

[7]  Yifeng Guo,et al.  Generalized Standby-Sparing techniques for energy-efficient fault tolerance in multiprocessor real-time systems , 2013, 2013 IEEE 19th International Conference on Embedded and Real-Time Computing Systems and Applications.

[8]  Dakai Zhu,et al.  An Elastic Mixed-Criticality task model and its scheduling algorithm , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[9]  Sanjoy K. Baruah,et al.  Algorithms and complexity concerning the preemptive scheduling of periodic, real-time tasks on one processor , 1990, Real-Time Systems.

[10]  Israel Koren,et al.  Towards energy-aware software-based fault tolerance in real-time systems , 2002, ISLPED '02.

[11]  Petru Eles,et al.  A standby-sparing technique with low energy-overhead for fault-tolerant hard real-time systems , 2009, CODES+ISSS '09.

[12]  John Regehr,et al.  Evolving real-time systems using hierarchical scheduling and concurrency analysis , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[13]  Insup Lee,et al.  Compositional real-time scheduling framework with periodic model , 2008, TECS.

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

[15]  Luigi V. Mancini,et al.  Scheduling Hard-Real-Time Tasks with Backup Phasing Delay , 2006, 2006 Tenth IEEE International Symposium on Distributed Simulation and Real-Time Applications.

[16]  Alan Burns,et al.  The End Of The Line For Static Cyclic Scheduling? , 1993, Fifth Euromicro Workshop on Real-Time Systems.

[17]  Dakai Zhu,et al.  Reliability-Aware Energy Management for Periodic Real-Time Tasks , 2009, IEEE Trans. Computers.

[18]  Dakai Zhu,et al.  Energy-aware Standby-Sparing Technique for periodic real-time applications , 2011, 2011 IEEE 29th International Conference on Computer Design (ICCD).

[19]  Sanjoy K. Baruah,et al.  Scheduling Real-Time Mixed-Criticality Jobs , 2010, IEEE Transactions on Computers.

[20]  Giorgio C. Buttazzo,et al.  Biasing effects in schedulability measures , 2004, Proceedings. 16th Euromicro Conference on Real-Time Systems, 2004. ECRTS 2004..

[21]  Alan Burns,et al.  Feasibility analysis of fault-tolerant real-time task sets , 1996, Proceedings of the Eighth Euromicro Workshop on Real-Time Systems.

[22]  Maryline Chetto,et al.  Some Results of the Earliest Deadline Scheduling Algorithm , 1989, IEEE Transactions on Software Engineering.

[23]  Niraj K. Jha,et al.  Fault-tolerant computer system design , 1996, IEEE Parallel & Distributed Technology: Systems & Applications.

[24]  Wei Sun,et al.  Hybrid Overloading and Stochastic Analysis for Redundant Real-time Multiprocessor Systems , 2007, 2007 26th IEEE International Symposium on Reliable Distributed Systems (SRDS 2007).

[25]  Dakai Zhu,et al.  Reliability-Aware Energy Management for Periodic Real-Time Tasks , 2007, 13th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS'07).