vMPCP: A Synchronization Framework for Multi-core Virtual Machines

The virtualization of real-time systems has received much attention for its many benefits, such as the consolidation of individually developed real-time applications while maintaining their implementations. However, the current state of the art still lacks properties required for resource sharing among real-time application tasks in a multi-core virtualization environment. In this paper, we propose vMPCP, a synchronization framework for the virtualization of multi-core real-time systems. Vmpcp exposes the executions of critical sections of tasks in a guest virtual machine to the hyper visor. Using this approach, vMPCP reduces and bounds blocking time on accessing resources shared within and across virtual CPUs (VCPUs) assigned on different physical CPU cores. Vmpcp supports periodic server and deferrable server policies for the VCPU budget replenish policy, with an optional budget overrun to reduce blocking times. We provide the VCPU and task schedulability analyses under vMPCP, with different VCPU budget supply policies, with and without overrun. Experimental results indicate that, under vMPCP, deferrable server outperforms periodic server when overrun is used, with as much as 80% more task sets being schedulable. The case study using our hyper visor implementation shows that vMPCP yields significant benefits compared to a virtualization-unaware multi-core synchronization protocol, with 29% shorter response time on average.

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

[2]  Rusty Russell,et al.  virtio: towards a de-facto standard for virtual I/O devices , 2008, OPSR.

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

[4]  R. Rajkumar Real-time synchronization protocols for shared memory multiprocessors , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[5]  Björn Andersson,et al.  Coordinated Bank and Cache Coloring for Temporal Protection of Memory Accesses , 2013, 2013 IEEE 16th International Conference on Computational Science and Engineering.

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

[7]  Thomas Nolte,et al.  Multiprocessor Synchronization and Hierarchical Scheduling , 2009, 2009 International Conference on Parallel Processing Workshops.

[8]  Insup Lee,et al.  Compositional real-time scheduling framework , 2004, 25th IEEE International Real-Time Systems Symposium.

[9]  Björn Andersson,et al.  Bounding memory interference delay in COTS-based multi-core systems , 2014, 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[10]  Theodore P. Baker,et al.  Stack-based scheduling of realtime processes , 1991, Real-Time Systems.

[11]  Giuseppe Lipari,et al.  A comparison of MPCP and MSRP when sharing resources in the Janus multiple-processor on a chip platform , 2003, The 9th IEEE Real-Time and Embedded Technology and Applications Symposium, 2003. Proceedings..

[12]  A. Kivity,et al.  kvm : the Linux Virtual Machine Monitor , 2007 .

[13]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[14]  John P. Lehoczky,et al.  Analysis of hierar hical fixed-priority scheduling , 2002, Proceedings 14th Euromicro Conference on Real-Time Systems. Euromicro RTS 2002.

[15]  Hennadiy Leontyev,et al.  A Flexible Real-Time Locking Protocol for Multiprocessors , 2007, 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2007).

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

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

[18]  Thomas Nolte,et al.  Independently-Developed Real-Time Systems on Multi-cores with Shared Resources , 2011, 2011 23rd Euromicro Conference on Real-Time Systems.

[19]  Hennadiy Leontyev,et al.  A hierarchical multiprocessor bandwidth reservation scheme with timing guarantees , 2008, 2008 Euromicro Conference on Real-Time Systems.

[20]  Alan Burns,et al.  Hierarchical fixed priority pre-emptive scheduling , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

[21]  Lui Sha,et al.  Solutions for Some Practical Problems in Prioritized Preemptive Scheduling , 1986, RTSS.

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

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

[24]  Thomas Nolte,et al.  Resource sharing using the rollback mechanism in hierarchically scheduled real-time open systems , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[25]  Yang Xu,et al.  An Evaluation of Microkernel-Based Virtualization for Embedded Real-Time Systems , 2010, 2010 22nd Euromicro Conference on Real-Time Systems.

[26]  Shuichi Oikawa,et al.  Resource kernels: a resource-centric approach to real-time and multimedia systems , 2001, Electronic Imaging.

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

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

[29]  Insup Lee,et al.  Hierarchical Scheduling Framework for Virtual Clustering of Multiprocessors , 2008, 2008 Euromicro Conference on Real-Time Systems.

[30]  Ragunathan Rajkumar,et al.  A Coordinated Approach for Practical OS-Level Cache Management in Multi-core Real-Time Systems , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[31]  Alan Burns,et al.  New results on fixed priority aperiodic servers , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[32]  Lui Sha,et al.  Real-time synchronization protocols for multiprocessors , 1988, Proceedings. Real-Time Systems Symposium.

[33]  Jay K. Strosnider,et al.  The Deferrable Server Algorithm for Enhanced Aperiodic Responsiveness in Hard Real-Time Environments , 1987, IEEE Trans. Computers.

[34]  Ragunathan Rajkumar,et al.  Linux/RK: A Portable Resource Kernel in Linux , 2005 .

[35]  Insik Shin,et al.  SIRAP: a synchronization protocol for hierarchical resource sharingin real-time open systems , 2007, EMSOFT '07.