The Journal of Supercomputing

, Volume 72, Issue 9, pp 3348–3365 | Cite as

Synchronization support for parallel applications in virtualized clouds

  • Cheol-Ho HongEmail author
  • Young-Pil Kim
  • Hyunchan Park
  • Chuck Yoo


Cloud computing platforms have become very attractive for parallel applications, thanks to the system virtualization technology that allows versatile and pliable computing environments. However, owing to the virtualization overhead, parallel applications can suffer from poor performance when executing synchronization operations. In this paper, we propose sc scheduling, which is a synchronization-conscious scheduling algorithm that can mitigate the existing virtualization overhead. For this purpose, the proposed scheduler understands the synchronization phases of each parallel application. Based on this comprehension, it then eliminates unnecessary CPU spinning of parallel threads and its incurred waste of valuable CPU time. In addition, it prevents their long blocking, which otherwise causes unfairness between concurrent virtual machines (VMs) and other VMs. We implemented these simple concepts and thoroughly evaluated them in a recent Xen hypervisor release. Our results demonstrate that our approach can significantly improve the speed of concurrent virtual machines compared to the original credit scheduler in Xen.


Virtualization Parallel application Synchronization support 



This work was supported by a National Research Foundation of Korea (NRF) grant funded by the Korea government (MEST) (No. 2010-0029180) with KREONET. This work was also supported by a Korea University Grant.


  1. 1.
    Ahn J, Kim C, Han J, Choi Y, Huh J (2012) Dynamic virtual machine scheduling in clouds for architectural shared resources. In: Proceedings of the 4th USENIX conference on hot topics in cloud computing. USENIX Association, pp 19–19Google Scholar
  2. 2.
    Bailey D, Barszcz E, Barton J, Browning D, Carter R, Dagum L, Fatoohi R, Frederickson P, Lasinski T, Schreiber R et al (1991) The nas parallel benchmarks summary and preliminary results. In: Proceedings of the 1991 ACM/IEEE conference on supercomputing, 1991 (Supercomputing’91). IEEE, pp 158–165Google Scholar
  3. 3.
    Barham P, Dragovic B, Fraser K, Hand S, Harris T, Ho A, Neugebauer R, Pratt I, Warfield A (2003) Xen and the art of virtualization. In: ACM SIGOPS operating systems review. ACM, pp 164–177Google Scholar
  4. 4.
    Blagodurov S, Zhuravlev S, Fedorova A, Kamali A (2010) A case for numa-aware contention management on multicore systems. In: Proceedings of the 19th international conference on parallel architectures and compilation techniques. ACM, pp 557–558Google Scholar
  5. 5.
    Buyya R, Yeo C, Venugopal S, Broberg J, Brandic I (2009) Cloud computing and emerging it platforms: vision, hype, and reality for delivering computing as the 5th utility. Future Gener Comput Syst 25(6):599–616CrossRefGoogle Scholar
  6. 6.
    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
  7. 7.
    Friebel T, Biemueller S (2008) How to deal with lock holder preemption. Presentation at Xen Summit North AmericaGoogle Scholar
  8. 8.
    Gavrilovska A, Kumar S, Raj H, Schwan K, Gupta V, Nathuji R, Niranjan R, Ranadive A, Saraiya P (2007) High-performance hypervisor architectures: virtualization in hpc systems. In: Workshop on system-level virtualization for HPC (HPCVirt)Google Scholar
  9. 9.
    Haletky E (2011) Vmware esx and esxi in the enterpriseGoogle Scholar
  10. 10.
    Henning J (2006) Spec cpu2006 benchmark descriptions. ACM SIGARCH Comput Archit News 34(4):1–17MathSciNetCrossRefGoogle Scholar
  11. 11.
    Hong CH, Kim BJ, Kim YP, Park H, Yoo C (2014) Performance prediction and evaluation of parallel applications in KVM, Xen, and VMware. In: Euro-Par 2014 parallel processing. Springer, Berlin, pp 99–110Google Scholar
  12. 12.
    Hong CH, Yoo C (2013) Synchronization-aware virtual machine scheduling for parallel applications in Xen. IEICE Trans Inf Syst 96(12):2720–2723CrossRefGoogle Scholar
  13. 13.
    Kivity A, Kamay Y, Laor D, Lublin U, Liguori A (2007) KVM: the linux virtual machine monitor. In: Proceedings of the linux symposium, vol 1, pp 225–230Google Scholar
  14. 14.
    Nishitani Y, Negishi K, Ohta H, Nunohiro E (2000) Implementation and evaluation of OpenMP for Hitachi SR8000. In: High performance computing. Springer, Berlin, pp 391–402Google Scholar
  15. 15.
    Sukwong O, Kim H (2011) Is co-scheduling too expensive for SMP VMs? In: Proceedings of the sixth conference on computer systems. ACM, pp 257–272Google Scholar
  16. 16.
    Uhlig V, LeVasseur J, Skoglund E, Dannowski U (2004) Towards scalable multiprocessor virtual machines. In: Proceedings of the 3rd virtual machine research and technology symposium, pp 43–56Google Scholar
  17. 17.
    Velte A, Velte T (2009) Microsoft virtualization with Hyper-V. McGraw-Hill, Inc., New YorkGoogle Scholar
  18. 18.
  19. 19.
    Weng C, Liu Q, Yu L, Li M (2011) Dynamic adaptive scheduling for virtual machines. In: Proceedings of the 20th international symposium on high performance distributed computing, San Jose, pp 239–250Google Scholar
  20. 20.
    Weng C, Wang Z, Li M, Lu X (2009) The hybrid scheduling framework for virtual machine systems. In: Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on virtual execution environments. ACM, pp 111–120Google Scholar
  21. 21.
    Xu C, Bai Y, Luo C (2009) Performance evaluation of parallel programming in virtual machine environment. In: Sixth IFIP international conference on network and parallel computing, 2009 (NPC’09). IEEE, pp 140–147Google Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  • Cheol-Ho Hong
    • 1
    Email author
  • Young-Pil Kim
    • 1
  • Hyunchan Park
    • 1
  • Chuck Yoo
    • 1
  1. 1.Department of Computer Science and EngineeringKorea UniversitySeoulSouth Korea

Personalised recommendations