Exploiting sporadic servers to provide budget scheduling for ARINC653 based real-time virtualization environments

Virtualization techniques for embedded real-time systems typically employ TDMA scheduling to achieve temporal isolation among different virtualized partitions. Due to the fixed TDMA schedule, worst case response times for IRQs and tasks are significantly increased. Recent publications introduced slack based IRQ shaping to mitigate this problem. While providing better response times for IRQs, those mechanisms neither improve task timings nor provide a work conserving scheduling. In order to provide such capabilities while still providing temporal isolation, we introduce a method based on the well known sporadic server model. In combination with a proposed budget scheduler the system is able to schedule a TDMA based configuration while providing better response times and the same amount of temporal isolation. We show correctness of the approach and evaluate it in a hypervisor implementation.

[1]  P.J. Prisaznuk,et al.  ARINC 653 role in Integrated Modular Avionics (IMA) , 2008, 2008 IEEE/AIAA 27th Digital Avionics Systems Conference.

[2]  Rolf Ernst,et al.  Sufficient temporal independence and improved interrupt latencies in a real-time hypervisor , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[3]  Jean J. Labrosse,et al.  MicroC/OS-II: The Real Time Kernel , 1998 .

[4]  Theodore P. Baker,et al.  Defects of the POSIX Sporadic Server and How to Correct Them , 2010, 2010 16th IEEE Real-Time and Embedded Technology and Applications Symposium.

[5]  Robert Kaiser,et al.  Evolution of the PikeOS Microkernel , 2015 .

[6]  Ye Li,et al.  Quest-V: A Virtualized Multikernel for High-Confidence Systems , 2011, ArXiv.

[7]  Chenyang Lu,et al.  RT-Xen: Towards real-time hypervisor scheduling in Xen , 2011, 2011 Proceedings of the Ninth ACM International Conference on Embedded Software (EMSOFT).

[8]  Rolf Ernst,et al.  Monitoring Arbitrary Activation Patterns in Real-Time Systems , 2012, 2012 IEEE 33rd Real-Time Systems Symposium.

[9]  Ye Li,et al.  Virtual-CPU Scheduling in the Quest Operating System , 2011, 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium.

[10]  Rolf Ernst,et al.  Designing time partitions for real-time hypervisor with sufficient temporal independence , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[11]  Fabio Checconi,et al.  Design and Implementation of a POSIX Compliant Sporadic Server for the Linux Kernel , 2008 .

[12]  Gernot Heiser,et al.  The OKL4 microvisor: convergence point of microkernels and hypervisors , 2010, APSys '10.

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