A flattened hierarchical scheduler for real-time virtualization

Migrating legacy real-time software stacks to newer hardware platforms can be achieved with virtualization which allows several software stacks to run on a single machine. Existing solutions guarantee that deadlines of virtualized real-time systems are met but can only accommodate a reduced number of systems. Therefore, this paper introduces ExVM, a new scheduling framework to maximize the number of legacy uniprocessor real-time systems able to run on a single machine. Contrary to most existing solutions, ExVM uses a flattening approach where the host schedules the virtual machine which contains the task with the earliest deadline. The real-time characteristics of tasks are obtained through introspection during the execution. We implemented this framework using Linux's SCHED DEADLINE real-time scheduling policy in the host. Simulations using an exact schedulability test show that ExVM is able to schedule 96% of randomly generated tasksets with a utilization of at least 0.8, while state-of-the-art solutions are only able to schedule 40% of the same tasksets. Experimental evaluations performed using synthetic benchmarks and production real-time applications show that ExVM always outperforms the existing solutions, always meeting more than 80% of deadlines while these solutions fall below 50% when the utilization increases.

[1]  Theodore P. Baker Comparison of Empirical Success Rates of Global vs. Partitioned Fixed-Priority and EDF Scheduling for Hard Real Time TR-050601 , 2005 .

[2]  Binoy Ravindran,et al.  ChronOS Linux: A best-effort real-time multiprocessor Linux kernel , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[3]  Michael S. Drescher,et al.  A Flattened Hierarchical Scheduler for Real-Time Virtual Machines , 2015 .

[4]  Sanjoy K. Baruah,et al.  A hierarchical extension to the constant bandwidth server framework , 2001, Proceedings Seventh IEEE Real-Time Technology and Applications Symposium.

[5]  Binoy Ravindran,et al.  KairosVM: Deterministic introspection for real-time virtual machine hierarchical scheduling , 2014, Proceedings of the 2014 IEEE Emerging Technology and Factory Automation (ETFA).

[6]  Cucinotta Tommaso,et al.  Improving Responsiveness for Virtualized Networking Under Intensive Computing Workloads , 2011 .

[7]  Loren Merritt,et al.  X264: A HIGH PERFORMANCE H.264/AVC ENCODER , 2006 .

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

[9]  Claudio Scordino,et al.  An EDF scheduling class for the Linux kernel ∗ , 2009 .

[10]  Navjot Singh,et al.  Supporting soft real-time tasks in the xen hypervisor , 2010, VEE '10.

[11]  Attila Bilgic,et al.  Virtualization for safety-critical, deeply-embedded devices , 2013, SAC '13.

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

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

[14]  Robert I. Davis,et al.  Cache related pre-emption delays in hierarchical scheduling , 2015, Real-Time Systems.

[15]  Otto-Hahn-Ring Towards Linux as a Real-Time Hypervisor , 2009 .

[16]  Giuseppe Lipari,et al.  A Framework for Hierarchical Scheduling on Multiprocessors: From Application Requirements to Run-Time Allocation , 2010, 2010 31st IEEE Real-Time Systems Symposium.

[17]  Robert I. Davis,et al.  Accounting for Cache Related Pre-emption Delays in Hierarchical Scheduling , 2014, RTNS '14.

[18]  Alan Burns,et al.  Resource Sharing in Hierarchical Fixed Priority Pre-Emptive Systems , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[19]  Serge J. Belongie,et al.  SD-VBS: The San Diego Vision Benchmark Suite , 2009, 2009 IEEE International Symposium on Workload Characterization (IISWC).

[20]  Stefan M. Petters,et al.  Towards certifiable adaptive reservations for hypervisor-based virtualization , 2014, 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[21]  Udo Steinberg,et al.  NOVA: a microhypervisor-based secure virtualization architecture , 2010, EuroSys '10.

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

[23]  Giorgio C. Buttazzo,et al.  Biasing effects in schedulability measures , 2004, Proceedings. 16th Euromicro Conference on Real-Time Systems, 2004. ECRTS 2004..

[24]  Insup Lee,et al.  Realizing Compositional Scheduling through Virtualization , 2012, 2012 IEEE 18th Real Time and Embedded Technology and Applications Symposium.

[25]  Rocquencourt,et al.  Analysis of Deadline Scheduled Real-Time Systems , 1996 .

[26]  Michael González Harbour,et al.  Response time analysis for tasks scheduled under EDF within fixed priorities , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[27]  Insup Lee,et al.  Compositional real-time scheduling framework with periodic model , 2008, TECS.

[28]  Hennadiy Leontyev,et al.  LITMUS^RT : A Testbed for Empirically Comparing Real-Time Multiprocessor Schedulers , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

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

[30]  Jane W.-S. Liu,et al.  Scheduling real-time applications in an open environment , 1997, Proceedings Real-Time Systems Symposium.

[31]  Binoy Ravindran,et al.  A formally verified application-level framework for real-time scheduling on POSIX real-time operating systems , 2004, IEEE Transactions on Software Engineering.

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

[33]  Sanjoy K. Baruah,et al.  Hybrid-priority real-time scheduling , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.