Fine-grained preemption analysis for latency investigation across virtual machines

This paper studies the preemption between programs running in different virtual machines on the same computer. One of the current monitoring methods consist of updating the average steal time through collaboration with the hypervisor. However, the average is insufficient to diagnose abnormal latencies in time-sensitive applications. Moreover, the added latency is not directly visible from the virtual machine point of view. The main challenge is to recover the cause of preemption of a task running in a virtual machine, whether it is a task on the host computer or in another virtual machine.We propose a new method to study thread preemption crossing virtual machines boundaries using kernel tracing. The host computer and each monitored virtual machine are traced simultaneously. We developed an efficient and portable trace synchronization method, which is required to account for time offset and drift that occur within each virtual machine. We then devised an algorithm to recover the root cause of preemption between threads at every level. The algorithm successfully detected interactions between multiple competing threads in distinct virtual machines on a multi-core machine.

[1]  Michel Dagenais,et al.  Efficient Model to Query and Visualize the System States Extracted from Trace Data , 2013, RV.

[2]  Willy Zwaenepoel,et al.  Performance profiling of virtual machines , 2011, VEE '11.

[3]  Prashant J. Shenoy,et al.  Empirical evaluation of latency-sensitive application performance in the cloud , 2010, MMSys '10.

[4]  Michel Dagenais,et al.  Lockless multi-core high-throughput buffering scheme for kernel tracing , 2012, OPSR.

[5]  Alex Garthwaite,et al.  The evolution of an x86 virtual machine monitor , 2010, OPSR.

[6]  Michel Dagenais,et al.  Online Incremental Clock Synchronization , 2014, Journal of Network and Systems Management.

[7]  John Fisher-Ogden,et al.  Hardware Support for Efficient Virtualization , 2006 .

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

[9]  Michel Dagenais,et al.  State History Tree: An Incremental Disk-Based Data Structure for Very Large Interval Data , 2013, 2013 International Conference on Social Computing.

[10]  Michel Dagenais,et al.  Analyzing blocking to debug performance problems on multi-core systems , 2010, OPSR.

[11]  Kang G. Shin,et al.  Performance Evaluation of Virtualization Technologies for Server Consolidation , 2007 .

[12]  S. K. Nandy,et al.  Resource usage monitoring for KVM based virtual machines , 2012, 2012 18th International Conference on Advanced Computing and Communications (ADCOM).

[13]  Hai Jin,et al.  Future Generation Computer Systems , 2022 .

[14]  D. Toupin Using Tracing to Diagnose or Monitor Systems , 2011, IEEE Software.

[15]  A. Khandual Performance Monitoring in Linux KVM Cloud Environment , 2012, 2012 IEEE International Conference on Cloud Computing in Emerging Markets (CCEM).