Steal time is a key performance metric for applications executed in a virtualized environment. Steal time measures the amount of time the processor is preempted by code outside the virtualized environment. This, in turn, allows to compute accurately the execution time of an application inside a virtual machine (i.e. it eliminates the time the virtual machine is suspended). Unfortunately, this metric is only available in particular scenarios in which the host and the guest OS are tightly coupled. Typical examples are the Xen hypervisor and Linux-based guest OSes. In contrast, in scenarios where the steal time is not available inside the virtualized environment, performance measurements are, most often, incorrect.
In this paper, we introduce a novel and platform agnostic approach to calculate this steal time within the virtualized environment and without the cooperation of the host OS. The theoretical execution time of a deterministic microbenchmark is compared to its execution time in a virtualized environment. When factoring in the virtual machine load, this solution -as simple as it is- can compute the steal time. The preliminary results show that we are able to compute the load of the physical processor within the virtual machine with high accuracy.
[1]
Peter Hofer,et al.
Sampling-based Steal Time Accounting under Hardware Virtualization
,
2015,
ICPE.
[2]
Hai Jin,et al.
XenHVMAcct: Accurate CPU Time Accounting for Hardware-Assisted Virtual Machine
,
2010,
2010 International Conference on Parallel and Distributed Computing, Applications and Technologies.
[3]
Giuliano Casale,et al.
A Feasibility Study of Host-Level Contention Detection by Guest Virtual Machines
,
2013,
2013 IEEE 5th International Conference on Cloud Computing Technology and Science.
[4]
A. Kivity,et al.
kvm : the Linux Virtual Machine Monitor
,
2007
.
[5]
David Brown,et al.
The Virtualization Reality
,
2006,
ACM Queue.
[6]
Jörg Schad.
Understanding and managing the performance variation and data growth in cloud computing
,
2015
.
[7]
Masao Yamamoto,et al.
Execution Time Compensation for Cloud Applications by Subtracting Steal Time based on Host-Level Sampling
,
2016,
ICPE Companion.