Hypervisor performance analysis for real-time workloads

Virtualization has become a key technology used in modern data centers. What began as a tool for server consolidation and energy efficiency has grown into an enabler for cloud computing. Cloud computing has become an accepted best practice for data centers. Virtualization is also becoming a key component of embedded and real-time systems in automotive systems, game consoles, and industrial settings. Many applications that run on embedded systems are bound to hard real-time requirements, meaning that deadlines must be met. While hypervisor performance for non-real-time workloads has been well-documented, comparison of performance across hypervisors for real-time workloads has not been systematically studied. In this paper, we fill that gap by characterizing Xen (Credit and Real-Time-Deferrable-Server schedulers) and Wind River's low-latency KVM for hard real-time workloads in one and two virtual machine (VM) cases. We compare each hypervisor to a non-virtualized base system and evaluate the relative merits of each hypervisor for a number of synthetic workloads with a number of varying characteristics. When using a single VM, and therefore no resource contention, we find that all configurations are capable of completing over 99.8% of their jobs within their deadline. This demonstrates that a virtualized environment can support some real-time applications, such as those with relaxed constraints. We also find that Wind River's low-latency KVM and Xen-RTDS scheduler are capable of supporting hard real-time constraints over a variety of task set characteristics. However, a use case with multiple VMs creates a need for resource sharing. The sharing of resources results in contention between guests for usage of the said resources. When two VMs are present, the XenRTDS and tuned Xen-credit scheduler are superior to the other configurations. Furthermore, we find that the default Xen-credit scheduler provides poor support for hard real-time constraints, regardless of whether resource contention is present. However, by tuning the credit scheduler's timeslice parameter to benefit latency-sensitive tasks, we observe that the performance of the credit scheduler is indeed able to support hard real-time constraints for the given workloads in both single VM and two VM cases. These developments in real-time virtualization prove to be an exciting step towards real-time enabled clouds.

[1]  Victor Yodaiken,et al.  A Real-Time Linux , 2000 .

[2]  Bernd Freisleben,et al.  Xen and the Art of Cluster Scheduling , 2006, First International Workshop on Virtualization Technology in Distributed Computing (VTDC 2006).

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

[4]  Feather-Trace : A Light-Weight Event Tracing Toolkit ∗ , 2007 .

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

[6]  Eric Brechner Getting Diagonal on the Xbox One Trifecta , 2013, Computer.

[7]  Felipe Cerqueira,et al.  A Comparison of Scheduling Latency in Linux, PREEMPT-RT, and LITMUS RT , 2013 .

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

[9]  Sisu Xi Real-Time Virtualization and Cloud Computing , 2014 .