PROSA: A Case for Readable Mechanized Schedulability Analysis

Motivated by a string of recent errata, the paper argues that mechanized, yet readable schedulability proofs are desirable, feasible to create with current tools and with reasonable effort, and beneficial beyond the increase in confidence. To facilitate such mechanized analyses, PROSA, a new open-source foundation for formally proven schedulability analyses that prioritizes readability, is presented. The approach is demonstrated with a case study that mechanizes multiprocessor response-time analysis, including new variants for parallel jobs and release jitter.

[1]  Alan Burns,et al.  Global fixed priority scheduling with deferred pre-emption , 2013, 2013 IEEE 19th International Conference on Embedded and Real-Time Computing Systems and Applications.

[2]  Richard J. Lipton,et al.  Social processes and proofs of theorems and programs , 1979, CACM.

[3]  Daniel de Rauglaudre Vérification formelle de conditions d'ordonnancabilité de tâches temps réel périodiques strictes , 2012 .

[4]  Eduardo Tovar,et al.  An exact schedulability test for global FP using state space pruning , 2015, RTNS.

[5]  Adam Chlipala,et al.  Using Crash Hoare logic for certifying the FSCQ file system , 2015, USENIX Annual Technical Conference.

[6]  Georges Gonthier A computer-checked proof of the Four Colour Theorem , 2005 .

[7]  Joël Goossens,et al.  Multiprocessor schedulability of arbitrary-deadline sporadic tasks: complexity and antichain algorithm , 2012, Real-Time Systems.

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

[9]  James H. Anderson,et al.  Early-release fair scheduling , 2000, Proceedings 12th Euromicro Conference on Real-Time Systems. Euromicro RTS 2000.

[10]  Michael Norrish,et al.  seL4: formal verification of an OS kernel , 2009, SOSP '09.

[11]  Zhan Naijun Another formal proof for Deadline Driven Scheduler , 2000, Proceedings Seventh International Conference on Real-Time Computing Systems and Applications.

[12]  Ge Yu,et al.  Schedulability Analysis of Global Fixed-Priority or EDF Multiprocessor Scheduling with Symbolic Model-Checking , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).

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

[14]  Xue Liu,et al.  Experimental Evaluation and Selection of Data Consistency Mechanisms for Hard Real-Time Applications on Multicore Platforms , 2014, IEEE Transactions on Industrial Informatics.

[15]  K Lakshmanan,et al.  Scheduling Parallel Real-Time Tasks on Multi-core Processors , 2010, 2010 31st IEEE Real-Time Systems Symposium.

[16]  Konstantinos Bletsas,et al.  Fixed priority timing analysis of real-time systems with limited parallelism , 2004, Proceedings. 16th Euromicro Conference on Real-Time Systems, 2004. ECRTS 2004..

[17]  Ding-Zhu Du,et al.  A formal proof of the deadline driven scheduler in PPTL axiomatic system , 2014, Theor. Comput. Sci..

[18]  Lui Sha,et al.  Aperiodic task scheduling for Hard-Real-Time systems , 2006, Real-Time Systems.

[19]  Jian-Jia Chen,et al.  Errata for Three Papers (2004-05) on Fixed-Priority Scheduling with Self-Suspensions , 2018, Leibniz Trans. Embed. Syst..

[20]  Matthew Wilding,et al.  A Machine-Checked Proof of the Optimality of a Real-Time Scheduling Policy , 1998, CAV.

[21]  Arpan Gujarati,et al.  Outstanding Paper Award: Schedulability Analysis of the Linux Push and Pull Scheduler with Arbitrary Processor Affinities , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[22]  Frédéric Boniol,et al.  Multiprocessor schedulability analyser , 2011, SAC '11.

[23]  Shige Wang,et al.  vMPCP: A Synchronization Framework for Multi-core Virtual Machines , 2014, 2014 IEEE Real-Time Systems Symposium.

[24]  Sanjoy K. Baruah,et al.  On-line scheduling on uniform multiprocessors , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[25]  Arpan Gujarati,et al.  Multiprocessor real-time scheduling with arbitrary processor affinities: from practice to theory , 2014, Real-Time Systems.

[26]  A. Marchetti-Spaccamela,et al.  Feasibility Analysis of Sporadic Real-Time Multiprocessor Task Systems , 2010, Algorithmica.

[27]  B. Dutertre The Priority Ceiling Protocol : Formalization and Analysis Using PVS , 1999 .

[28]  Yong Liao,et al.  PK-OMLP: An OMLP Based k-Exclusion Real-Time Locking Protocol for Multi-GPU Sharing under Partitioned Scheduling , 2013, 2013 IEEE 11th International Conference on Dependable, Autonomic and Secure Computing.

[29]  Naijun Zhan,et al.  Formalising Scheduling Theories in Duration Calculus , 2008, Nord. J. Comput..

[30]  Sanjoy K. Baruah,et al.  Priority-Driven Scheduling of Periodic Task Systems on Multiprocessors , 2003, Real-Time Systems.

[31]  Shinpei Kato,et al.  Gang EDF Scheduling of Parallel Task Systems , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[32]  V. Stavridou,et al.  Formal analysis for real-time scheduling , 2000, 19th DASC. 19th Digital Avionics Systems Conference. Proceedings (Cat. No.00CH37126).

[33]  James H. Anderson,et al.  Supporting Sporadic Pipelined Tasks with Early-Releasing in Soft Real-Time Multiprocessor Systems , 2009, 2009 15th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[34]  Kyung-Hee Choi,et al.  Real-time scheduling of tasks that contain the external blocking intervals , 1995, Proceedings Second International Workshop on Real-Time Computing Systems and Applications.

[35]  Naijun Zhan Another formal proof for Deadline Driven Scheduler , 2000, RTCSA.

[36]  Xavier Leroy,et al.  Formal verification of a realistic compiler , 2009, CACM.

[37]  Sanjoy K. Baruah,et al.  Preemptively scheduling hard-real-time sporadic tasks on one processor , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[38]  Sanjoy K. Baruah,et al.  Schedulability Analysis of Multiprocessor Sporadic Task Systems , 2007, Handbook of Real-Time and Embedded Systems.

[39]  Alan Burns,et al.  Applying new scheduling theory to static priority pre-emptive scheduling , 1993, Softw. Eng. J..

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

[41]  Jeremy Avigad,et al.  A Machine-Checked Proof of the Odd Order Theorem , 2013, ITP.

[42]  James H. Anderson,et al.  A Hybrid Real-Time Scheduling Approach for Large-Scale Multicore Platforms , 2007, 19th Euromicro Conference on Real-Time Systems (ECRTS'07).

[43]  Yong Liao,et al.  Improved Blocking Time Analysis and Evaluation for the Multiprocessor Priority Ceiling Protocol , 2014, Journal of Computer Science and Technology.

[44]  Michele Cirinei,et al.  Response-Time Analysis for Globally Scheduled Symmetric Multiprocessor Platforms , 2007, 28th IEEE International Real-Time Systems Symposium (RTSS 2007).

[45]  Krithi Ramamritham,et al.  The Spring kernel: a new paradigm for real-time systems , 1991, IEEE Software.

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

[47]  Richard West,et al.  Mutable Protection Domains: Towards a Component-Based System for Dependable and Predictable Computing , 2007, RTSS 2007.

[48]  Christian Doczkal,et al.  A Constructive Theory of Regular Languages in Coq , 2013, CPP.

[49]  Sanjoy K. Baruah,et al.  Multiprocessor fixed-priority scheduling with restricted interprocessor migrations , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

[50]  Haibo Zeng,et al.  Mechanisms for guaranteeing data consistency and flow preservation in AUTOSAR software on multi-core platforms , 2011, 2011 6th IEEE International Symposium on Industrial and Embedded Systems.

[51]  Raymond R. Devillers,et al.  Liu and Layland's schedulability test revisited , 2000, Inf. Process. Lett..

[52]  Konstantinos Bletsas,et al.  Realistic analysis of limited parallel software/hardware implementations , 2004, Proceedings. RTAS 2004. 10th IEEE Real-Time and Embedded Technology and Applications Symposium, 2004..

[53]  Jian-Jia Chen,et al.  Schedulability and optimization analysis for non-preemptive static priority scheduling based on task utilization and blocking factors , 2015, 2015 27th Euromicro Conference on Real-Time Systems.

[54]  Giuseppe Lipari,et al.  A pre-order relation for exact schedulability test of sporadic tasks on multiprocessor Global Fixed-Priority scheduling , 2015, Real-Time Systems.

[55]  Guillaume Melquiond,et al.  Coquelicot: A User-Friendly Library of Real Analysis for Coq , 2015, Math. Comput. Sci..

[56]  Sanjoy K. Baruah,et al.  Proportionate progress: a notion of fairness in resource allocation , 1993, STOC '93.

[57]  S. Funk,et al.  Restricting EDF migration on uniform multiprocessors ∗ , 2003 .

[58]  Ge Yu,et al.  Exact Schedulability Analysis for Static-Priority Global Multiprocessor Scheduling Using Model-Checking , 2007, SEUS.

[59]  Lothar Thiele,et al.  Real-time calculus for scheduling hard real-time systems , 2000, 2000 IEEE International Symposium on Circuits and Systems. Emerging Technologies for the 21st Century. Proceedings (IEEE Cat No.00CH36353).

[60]  Andy J. Wellings,et al.  Analysing real-time communications: controller area network (CAN) , 1994, 1994 Proceedings Real-Time Systems Symposium.

[61]  Naijun Zhan,et al.  A Formal Proof of the Rate Monotonic Scheduler , 1999, RTCSA.

[62]  Marko Bertogna,et al.  Response-Time Analysis of Synchronous Parallel Tasks in Multiprocessor Systems , 2014, RTNS.

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

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

[65]  Robert I. Davis,et al.  Message response time analysis for ideal controller area network (CAN) refuted , 2006 .

[66]  Sanjoy K. Baruah,et al.  A multiprocessor implementation of the total bandwidth server , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[67]  Klaus Gresser,et al.  An Event Model for Deadline Verification of Hard Real-Time Systems , 1993, Fifth Euromicro Workshop on Real-Time Systems.

[68]  Rolf Ernst,et al.  Event model interfaces for heterogeneous system analysis , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[69]  Theodore P. Baker,et al.  Brute-Force Determination of Multiprocessor Schedulability for Sets of Sporadic Hard-Deadline Tasks , 2007, OPODIS.

[70]  Rômulo Silva de Oliveira,et al.  Exploring the design space of multiprocessor synchronization protocols for real-time systems , 2014, J. Syst. Archit..

[71]  Christian Urban,et al.  Priority Inheritance Protocol Proved Correct , 2012, Journal of Automated Reasoning.

[72]  Aloysius Ka-Lau Mok,et al.  Fundamental design problems of distributed systems for the hard-real-time environment , 1983 .

[73]  Wang Yi,et al.  Schedulability analysis of fixed-priority systems using timed automata , 2006, Theor. Comput. Sci..

[74]  Sanjoy K. Baruah,et al.  Multiprocessor Scheduling for Real-Time Systems , 2015, Embedded Systems.

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

[76]  James H. Anderson,et al.  On the Implementation of Global Real-Time Schedulers , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[77]  Chenyang Lu,et al.  Global EDF scheduling for parallel real-time tasks , 2015, Real-Time Systems.

[78]  Ragunathan Rajkumar,et al.  Coordinated Task Scheduling, Allocation and Synchronization on Multiprocessors , 2009, 2009 30th IEEE Real-Time Systems Symposium.