Scheduling overload for real-time systems using SMT solver

In a real-time system, tasks are required to be completed before their deadlines. Due to heavy workload, the system may be in overload condition under which some tasks may miss their deadlines. To alleviate the degrees of system performance degradation cased by the missed deadline tasks, the design of scheduling is crucial. Many design objectives can be considered. In this paper, we focus on maximizing the total number of tasks that can be completed before their deadlines. A scheduling method based on satisfiability modulo theories (SMT) is proposed. In the method, the problem of scheduling is treated as a satisfiability problem. The key work is to formalize the satisfiability problem using first-order language. After the formalization, a SMT solver (e.g., Z3, Yices) is employed to solver such a satisfiability problem. An optimal schedule can be generated based on a solution model returned by the SMT solver. The correctness of this method and the optimality of the generated schedule are straightforward. The time efficiency of the proposed method is demonstrated through various simulations. To the best of our knowledge, it is the first time introducing SMT to solve overload problem in real-time scheduling domain.

[1]  Giuseppe Lipari,et al.  Elastic task model for adaptive rate control , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[2]  Nikolaj Bjørner,et al.  Satisfiability Modulo Theories: An Appetizer , 2009, SBMF.

[3]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[4]  Sanjoy K. Baruah,et al.  Scheduling for Overload in Real-Time Systems , 1997, IEEE Trans. Computers.

[5]  Bruno Dutertre,et al.  Yices 2.2 , 2014, CAV.

[6]  Alan Burns,et al.  Schedulability Analysis for Real-Time Systems with EDF Scheduling , 2009, IEEE Transactions on Computers.

[7]  A. Burns,et al.  Scheduling hard real-time systems: a review , 1991, Softw. Eng. J..

[8]  Leandro Buss Becker,et al.  Real-Time Tasks Scheduling with Value Control to Predict Timing Faults During Overload , 2007, 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'07).

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

[10]  Sanjoy K. Baruah,et al.  On-line scheduling to maximize task completions , 1994, 1994 Proceedings Real-Time Systems Symposium.

[11]  Maryline Chetto,et al.  Dynamic scheduling of periodic skippable tasks in an overloaded real-time system , 2008, 2008 IEEE/ACS International Conference on Computer Systems and Applications.

[12]  Cesare Tinelli,et al.  Satisfiability Modulo Theories , 2021, Handbook of Satisfiability.

[13]  H. Aydin,et al.  An Incremental Server for Scheduling Overloaded Real-Time Systems , 2003, IEEE Trans. Computers.

[14]  Shyh-In Hwang,et al.  Scheduling an overloaded real-time system , 1996, Conference Proceedings of the 1996 IEEE Fifteenth Annual International Phoenix Conference on Computers and Communications.