SafeMC: A System for the Design and Evaluation of Mode-Change Protocols

Real-time systems with multiple modes require mode-change protocols (MCPs) to ensure safety during mode transitions. A variety of MCPs are available in the literature; however, it can be difficult to tell which of them is the most suitable for a given application. This is because 1) existing work often evaluates MCPs analytically, without considering platform-specific overheads in a real deployment; 2) experimental evaluations, where available, tend to make very different choices in run-time environments and workloads, which hinders a direct comparison; and 3) practical applications often require at least some customization, which can completely invalidate the analysis and/or experimental evaluation of the underlying MCP. In this paper, we take a first step towards more principled comparisons. We identify a set of fundamental primitives that most MCPs tend to be built on, and we show that a variety of existing MCPs can be formulated by composing these primitives in different ways. We then present SafeMC, a system for specifying and evaluating current and new MCPs. SafeMC provides an easy-to-use specification language, a library of existing MCPs that can be customized by the user, as well as several tools for test generation, automatic evaluation, tracing, and performance analysis. To demonstrate the utlity of SafeMC, we use it to compare the performance of five classical MCPs in Xen. SafeMC is designed to be extensible and reusable, and we hope that it can serve as a building block for future research in this area.

[1]  Alfons Crespo,et al.  Mode Change Protocols for Real-Time Systems: A Survey and a New Proposal , 2004, Real-Time Systems.

[2]  Insup Lee,et al.  Overhead-aware compositional analysis of real-time systems , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[3]  고메즈 루이스 리카르도 프라다,et al.  Transitioning a mixed-mode vehicle to autonomous mode , 2011 .

[4]  Insup Lee,et al.  Compositional Analysis of Multi-mode Systems , 2010, 2010 22nd Euromicro Conference on Real-Time Systems.

[5]  Kiyoung Choi,et al.  Schedulability-driven performance analysis of multiple mode embedded real-time systems , 2000, DAC.

[6]  Insup Lee,et al.  Cache-aware compositional analysis of real-time multicore virtualization platforms , 2013, 2013 IEEE 34th Real-Time Systems Symposium.

[7]  Wang Yi,et al.  TIMES: A Tool for Schedulability Analysis and Code Generation of Real-Time Systems , 2003, FORMATS.

[8]  Samarjit Chakraborty,et al.  A Multi-mode Real-Time Calculus , 2008, 2008 Real-Time Systems Symposium.

[9]  Giuseppe Lipari,et al.  Elastic Scheduling for Flexible Workload Management , 2002, IEEE Trans. Computers.

[10]  Hermann Härtig,et al.  Flattening hierarchical scheduling , 2012, EMSOFT '12.

[11]  Insup Lee,et al.  Real-time multi-core virtual machine scheduling in Xen , 2014, 2014 International Conference on Embedded Software (EMSOFT).

[12]  Kiyoung Choi,et al.  Schedulability-driven performance analysis of multiple mode embedded real-time systems , 2000, Proceedings 37th Design Automation Conference.

[13]  Bryan Ford,et al.  CPU inheritance scheduling , 1996, OSDI '96.

[14]  Florence Maraninchi,et al.  Mode-Automata: a new domain-specific construct for the development of safe critical systems , 2003, Sci. Comput. Program..

[15]  Chenyang Lu,et al.  Implementation and evaluation of mixed-criticality scheduling approaches for sporadic tasks , 2014, ACM Trans. Embed. Comput. Syst..

[16]  Gilles Muller,et al.  A Framework for Simplifying the Development of Kernel Schedulers: Design and Performance Evaluation , 2005, HASE.

[17]  Hyun-Wook Jin,et al.  Towards a practical implementation of criticality mode change in RTOS , 2014, Proceedings of the 2014 IEEE Emerging Technology and Factory Automation (ETFA).

[18]  Sebastian Fischmeister,et al.  Efficient mode changes in multi-mode systems , 2016, 2016 IEEE 34th International Conference on Computer Design (ICCD).

[19]  Insup Lee,et al.  Timing Analysis of Mixed Time/Event-Triggered Multi-Mode Systems , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[20]  John Regehr,et al.  Using hierarchical scheduling to support soft real-time applications in general-purpose operating systems , 2001 .

[21]  Insup Lee,et al.  A Semantic Framework for Mode Change Protocols , 2011, 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium.

[22]  Alan Burns,et al.  Implementing Mixed Criticality Systems in Ada , 2011, Ada-Europe.

[23]  Rolf Ernst,et al.  Multi-mode monitoring for mixed-criticality real-time systems , 2013, 2013 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[24]  Alan Burns,et al.  System Mode Changes-General and Criticality-Based , 2014 .

[25]  Insup Lee,et al.  Analysis and Implementation of Global Preemptive Fixed-Priority Scheduling with Dynamic Cache Allocation , 2016, 2016 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS).

[26]  Xin Liu,et al.  A variable rate execution model , 2004, Proceedings. 16th Euromicro Conference on Real-Time Systems, 2004. ECRTS 2004..

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