Abstract
In virtualized environments, multiprocessor virtual machines encounter synchronization problems such as lock holder preemption (LHP) and lock waiter preemption (LWP). When the issue happens, a virtual CPU (VCPU) waiting for such locks spins for an extraordinarily long time and wastes CPU cycles seriously, resulting in a significant degradation of system performance. Recent research that addresses this issue has some shortcomings. To address these problems, this paper proposes an efficient lock-aware virtual machine scheduling scheme to avoid LHP and LWP. Our approach detects lock holders and waiters from the virtual machine monitor side, and gives preempted lock holders and waiters multiple, continuous, extra scheduling chances to release locks, assuring that the de-scheduled VCPUs are not lock holders or waiters with high probability. We implement a Xen-based prototype and evaluate the performance of lock-intensive workloads. The experimental results demonstrate that our scheduling scheme fundamentally eliminates lock holder preemptions and lock waiter preemptions.






Similar content being viewed by others
References
Uhlig V, LeVasseur J, Skoglund E, Dannowski U (2004) Towards scalable multiprocessor virtual machines. In: Proceedings of the 3rd conference on virtual machine research and technology symposium (VM). IEEE, pp 43–56
Ouyang J, Lange JR (2013) Preemptable ticket spinlocks: improving consolidated performance in the cloud. In: Proceedings of the 9th international conference on virtual execution environments (VEE). ACM, pp 191–200
Lee W, Frank M, Lee V, Mackenzie K, Rudolph L (1997) Implications of I/O for gang scheduled workloads. In: Job scheduling strategies for parallel processing. Springer, New York, pp 215–237
Ousterhout JK (1982) Scheduling techniques for concurrent systems. In: Proceedings of the 3rd international conference on distributed computing systems (ICDCS), pp 22–30
Chakraborty K, Wells PM, Sohi GS (2012) Supporting overcommitted virtual machines through hardware spin detection. IEEE Trans Parallel Distrib Syst 23(2):353–366
Wells PM, Chakraborty K, Sohi GS (2006) Hardware support for spin management in overcommitted virtual machines. In: 15th International conference on parallel architecture and compilation techniques (PACT). ACM, pp 124–133
Zhang J, Dong Y, Duan J (2012a) ANOLE: A profiling-driven adaptive lock waiter detection scheme for efficient MP-guest scheduling. In: Proceedings of the 2012 IEEE international conference on cluster computing (CLUSTER). IEEE, pp 43–56
Zhang L, Chen Y, Dong Y, Liu C (2012b) Lock-visor: an efficient transitory co-scheduling for MP guest. In: Proceedings of the 41st international conference on parallel processing (ICPP). IEEE, pp 88–97
Kim H, Kim S, Jeong J, Lee J, Maeng S (2013) Demand-based coordinated scheduling for smp vms. In: Proceedings of the 18th international conference on architectural support for programming languages and operating systems (ASPLOS). ACM, pp 191–200
Zhong A, Jin H, Wu S, Shi X, Gen W (2012) Optimizing xen hypervisor by using lock-aware scheduling. In: 2012 Second international conference on cloud and green computing (CGC). IEEE, pp 31–38
(2008) Ticket spinlocks. http://lwn.net/Articles/267968/
Weng C, Wang Z, Li M, Lu X (2009) The hybrid scheduling framework for virtual machine systems. In: Proceedings of the 5th international conference on virtual execution environments (VEE). ACM, pp 111–120
Weng C, Liu Q, Yu L, Li M (2011) Dynamic adaptive scheduling for virtual machines. In: Proceedings of the 20th ACM international symposium on high performance distributed computing (HPDC). ACM, pp 239–250
Yu Y, Wang Y, Guo H, He X (2011) Hybrid co-scheduling optimizations for concurrent applications in virtualized environments. In: Proceedings of the 6th IEEE international conference on networking, architecture and storage (NAS)
(2014) Webbench. http://home.tiscali.cz:8080/~cz210552/webbench.html
(2014) Ebizzy. http://sourceforge.net/projects/ebizzy/
(2014) Hackbench. http://people.redhat.com/mingo/cfs-scheduler/tools/hackbench.c
(2014) Kernbench. http://freecode.com/projects/kernbench
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Yu, C., Qin, L. & Zhou, J. A lock-aware virtual machine scheduling scheme for synchronization performance. J Supercomput 75, 20–32 (2019). https://doi.org/10.1007/s11227-015-1557-y
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-015-1557-y