Advertisement

The Journal of Supercomputing

, Volume 75, Issue 1, pp 20–32 | Cite as

A lock-aware virtual machine scheduling scheme for synchronization performance

  • Chao Yu
  • Leihua QinEmail author
  • Jingli Zhou
Article

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.

Keywords

Virtualization Synchronization Lock holder preemption Lock waiter preemption Virtual machine scheduling 

References

  1. 1.
    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–56Google Scholar
  2. 2.
    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–200Google Scholar
  3. 3.
    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–237Google Scholar
  4. 4.
    Ousterhout JK (1982) Scheduling techniques for concurrent systems. In: Proceedings of the 3rd international conference on distributed computing systems (ICDCS), pp 22–30Google Scholar
  5. 5.
    Chakraborty K, Wells PM, Sohi GS (2012) Supporting overcommitted virtual machines through hardware spin detection. IEEE Trans Parallel Distrib Syst 23(2):353–366CrossRefGoogle Scholar
  6. 6.
    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–133Google Scholar
  7. 7.
    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–56Google Scholar
  8. 8.
    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–97Google Scholar
  9. 9.
    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–200Google Scholar
  10. 10.
    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–38Google Scholar
  11. 11.
    (2008) Ticket spinlocks. http://lwn.net/Articles/267968/
  12. 12.
    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–120Google Scholar
  13. 13.
    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–250Google Scholar
  14. 14.
    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)Google Scholar
  15. 15.
  16. 16.
  17. 17.
  18. 18.

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  1. 1.Wuhan National Laboratory for Optoelectronics, School of Computer Science and TechnologyHuazhong University of Science and TechnologyWuhanChina

Personalised recommendations