A software-based technique enabling composable hierarchical preemptive scheduling for time-triggered applications

Many embedded real-time applications are typically time-triggered and preemptive schedulers are used to execute tasks of such applications. Orthogonally, composable partitioned embedded platforms use preemptive time-division multiplexing mechanism to isolate applications. Existing composable systems that support two-level scheduling are restricted to cooperative intra-application schedulers, and thus cannot execute the time-triggered applications. In this work, we introduce a framework that allows concurrent, composable execution of such applications on temporally-partitioned systems. The framework is composed of an execution platform and a method for timing analysis of applications running on the platform. The platform realizes a software-based timed-interrupt virtualization technique on an existing composable system. Multiple time-triggered applications may run concurrently using different intra-application preemptive scheduling policies, e.g., fixed-priority and rate-monotonic. The analysis method formalizes the available processing time for executing each application on a processor in order to enable schedulability tests for different policies. Finally, these concepts are demonstrated by executing a number of applications, first on an FPGA prototype and second on a Matlab simulation of the platform. The results indicate a composable and concurrent execution of multiple time-triggered applications using our proposed framework. Furthermore, the implementation of the technique has low cost in terms of memory footprint and execution overhead.

[1]  Yajun Ha,et al.  Analyzing composability of applications on MPSoC platforms , 2008, J. Syst. Archit..

[2]  Aloysius K. Mok,et al.  A model of hierarchical real-time virtual resources , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[3]  Kees G. W. Goossens,et al.  Decoupled inter- and intra-application scheduling for composable and robust embedded MPSoC platforms , 2012, Map2MPSoC/SCOPES.

[4]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.

[5]  Luís Almeida,et al.  Scheduling within temporal partitions: response-time analysis and server design , 2004, EMSOFT '04.

[6]  Gernot Heiser,et al.  The role of virtualization in embedded systems , 2008, IIES '08.

[7]  Kees G. W. Goossens,et al.  A Unified Execution Model for Data-Driven Applications on a Composable MPSoC , 2011, 2011 14th Euromicro Conference on Digital System Design.

[8]  Midori Sugaya,et al.  Task Grain Scheduling for Hypervisor-Based Embedded System , 2008, 2008 10th IEEE International Conference on High Performance Computing and Communications.

[9]  Joyce L. Tokar Space & Time Partitioning with ARINC 653 and pragma profile , 2003 .

[10]  Giuseppe Lipari,et al.  Resource partitioning among real-time applications , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

[11]  Orlando Moreira,et al.  Scheduling multiple independent hard-real-time jobs on a heterogeneous multiprocessor , 2007, EMSOFT '07.

[12]  J.,et al.  Composability and Predictability for Independent Application Development , Verification and Execution , 2010 .

[13]  Insik Shin,et al.  Implementation of compositional scheduling framework on virtualization , 2011, SIGBED.

[14]  Neeraj Suri,et al.  Compositional design of RT systems: a conceptual basis for specification of linking interfaces , 2003, Sixth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, 2003..

[15]  Kees G. W. Goossens,et al.  Architectures and modeling of predictable memory controllers for improved system integration , 2011, 2011 Design, Automation & Test in Europe.

[16]  Samarjit Chakraborty,et al.  VM-Based Real-Time Services for Automotive Control Applications , 2010, 2010 IEEE 16th International Conference on Embedded and Real-Time Computing Systems and Applications.

[17]  Kees G. W. Goossens,et al.  Design and implementation of an operating system for composable processor sharing , 2011, Microprocess. Microsystems.

[18]  Martin Lukasiewycz,et al.  Time-triggered implementations of mixed-criticality automotive software , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[19]  Z. Hanzalek,et al.  TORSCHE Scheduling toolbox for Matlab , 2006, 2006 IEEE Conference on Computer Aided Control System Design, 2006 IEEE International Conference on Control Applications, 2006 IEEE International Symposium on Intelligent Control.

[20]  Aloysius K. Mok,et al.  Resource partition for real-time systems , 2001, Proceedings Seventh IEEE Real-Time Technology and Applications Symposium.

[21]  Insup Lee,et al.  Periodic resource model for compositional real-time guarantees , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[22]  Johan J. Lukkien,et al.  Multiplexing real-time timed events , 2009, 2009 IEEE Conference on Emerging Technologies & Factory Automation.

[23]  Hermann Kopetz,et al.  A System-on-a-Chip Platform for Mixed-Criticality Applications , 2010, 2010 13th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing.

[24]  Reinder J. Bril,et al.  Virtual timers in hierarchical real-time systems , 2009 .

[25]  Mathai Joseph,et al.  Finding Response Times in a Real-Time System , 1986, Comput. J..

[26]  Kees G. W. Goossens,et al.  The aethereal network on chip after ten years: Goals, evolution, lessons, and future , 2010, Design Automation Conference.

[27]  S. Shirero,et al.  On the schedulability conditions on partial time slots , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[28]  Kees G. W. Goossens,et al.  Virtual execution platforms for mixed-time-criticality systems: the CompSOC architecture and design flow , 2013, SIGBED.