Advertisement

Concurrency Aware Dynamic Scheduler for Virtualized Environment

  • Pratik Shinde
  • Avinash Tomar
  • Komal Shah
  • Shipra Kalra
  • D. A. Kulkarni
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 199)

Abstract

Virtual Machines (VMs) running on a Symmetric Multiprocessors (SMP) are called SMP VMs. Operating System primitives can be easily applied directly to the virtualized environment. However, virtualization disrupts the basis of spinlock synchronization in the guest operating system. In non-virtualized environment lock-holder thread never gets pre-empted assuring that lock-waiter thread never gets scheduled before lock-holder. In virtualized environment scheduler is completely unaware of the association between Virtual CPUs (VCPUs). Scheduler may schedule VCPU executing lock-waiter thread before lock-holder VCPU or it may pre-empt lock-holder VCPU. This violates the most basic primitive of Operating System and causes problems like VCPU stacking due to which VCPUs of the same domain are stacked on the run queues of the same physical processor. To address this problem, the solution of co-scheduling is proposed. In co-scheduling all the VCPUs of a domain are scheduled at the same time or none of them is scheduled. This approach suffered from the drawbacks like CPU fragmentation and priority inversion. Our solution proposes a dynamic scheduler that is completely aware of the concurrency of the domain. Rather than co-scheduling every VCPU of the domain, we are relaxing the constraint on co-scheduling. Our solution proposes co-scheduling only if concurrency degree θ of domain is greater than threshold value δ.

Keywords

Virtual Machine Virtual CPU Synchronous scheduling VCPU stacking Priority inversion 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Chisnall, D.: The Definitive Guide to the Xen Hypervisor. Prentice Hall (2008)Google Scholar
  2. 2.
    Stallings, W.: Operating Systems. Prentice HallGoogle Scholar
  3. 3.
    Bovet, D.P.: Understanding the Linux Kernel, 3rd edn. O’ReillyGoogle Scholar
  4. 4.
    VMware, Inc., Co-scheduling SMP VMs in VMware ESX Server, http://communities.vmware.com/docs/DOC-4960
  5. 5.
    VMware, Inc., VMware vSphere 4:The CPU scheduler in VMware ESX 4, white paper (September 2010), http://www.vmware.com/pdf/perf-vsphere-cpu_scheduler.pdf
  6. 6.
    Yu, Y., Wangy, Y., Guo, H., He, X.: Hybrid Co-Scheduling Optimizations for Concurrent Applications in Virtualized Environments. In: Sixth IEEE International Conference on Networking, Architecture, and Storage (2011)Google Scholar
  7. 7.
    Sukwong, O., Kim, H.S.: Is co-scheduling too expensive for SMP VMs. In: EuroSys 2011. ACM (April 2011)Google Scholar
  8. 8.
    Cherkasova, L., Gupta, D., Vahdat, A.: Comparison of the Three CPU Schedulers in Xen. In: Proceedings on 30th IEEE Conference on CloudGoogle Scholar
  9. 9.
    Weng, C., Wang, Z., Li, M., Lu, X.: The hybrid scheduling framework for virtual machine systems. In: Proceedings of the 2009 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments (VEE), pp. 111–120 (2009)Google Scholar
  10. 10.
    Li, Z., Bai, Y., Zhang, H., Ma, Y.: Affinity-aware Dynamic Pinning Scheduling for Virtual Machines. In: IEEE International Conference on Cloud Computing Technology and Science (2010)Google Scholar
  11. 11.
    Weng, C., Liu, Q., Yu, L., Liu, M.: Dynamic Adaptive Scheduling for Virtual Machines. In: HPDC 2011, June 8-11 (2011)Google Scholar
  12. 12.
    Wells, P.M., Chakraborty, K., Sohi, G.S.: Hardware Support For Spin Management in Overcommitted Virtual Machines. In: PACT 2006, Sepetember 16-20, pp. 16–20 (2006)Google Scholar
  13. 13.
    Chen, H., Jin, H., Hu, K., Huang, J.: Dynamic Switching-Frequency Scaling: Scheduling Overcommitted Domains in Xen. In: 39th International Conference on Parallel Processing, September 13-16 (2010)Google Scholar
  14. 14.
  15. 15.
    Milenkovic, M.: Operating Systems Concepts and Design. Tata Mcgraw-HillGoogle Scholar
  16. 16.
  17. 17.
    Xen documentation, http://wiki.xensource.com
  18. 18.
  19. 19.
    Feitelson, D.G., Rudolph, L.: Distrubuted Hierarchical Control For Parallel Processing (May 1990)Google Scholar
  20. 20.
    Braham, P., Dragovich, B., Fraser, K., Hand, S., Harris, T., Ho, A., Neugebauer, R.: xen and art of virtualization. In: Proc. of 19th ACM Symposium on Operating Systems Principles (SOSP 2003), pp. 164–177 (October 2003)Google Scholar
  21. 21.
    Love, R.: Linux Kernel Development. Addison-Wesley Professional (2010)Google Scholar
  22. 22.

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Pratik Shinde
    • 1
  • Avinash Tomar
    • 1
  • Komal Shah
    • 1
  • Shipra Kalra
    • 1
  • D. A. Kulkarni
    • 1
  1. 1.Pune Vidyarthi Griha’s Collge of Engineering and TechnologyPuneIndia

Personalised recommendations