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
.