VMBKS: a shared memory cache system based on booting kernel in cloud

Abstract

In Infrastructure-as-a-Service clouds, virtual machine provisioning time is an important metric for evaluating the quality of service (QoS) provided by the service providers. VM provisioning is usually time-consuming, especially when many VMs boot up simultaneously. We call such phenomenons “Boot Storm”. In practice, many VMs would run on a single compute node for higher resource utilization. This multiple VMs and single compute node scenario easily encounters Boot Storm. Boot Storm leads to extremely high latency of VM provisioning and badly affects user’s experience. In this paper, we propose VMBKS, which is a cloud shared memory cache system based on booting kernel. We exploit VMs’ correlations to organize VM image files, to reduce cache size and mitigate the effect of Boot Storm. We use booting kernel to construct cache and share the booting kernel to correlative VMs. Evaluation shows that VMBKS can speed up VM provisioning time by up to 60 % and mitigate the effect of Boot Storm significantly.

This is a preview of subscription content, log in to check access.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

References

  1. 1.

    Cache. http://en.wikipedia.org/wiki/Cache_(computing). Accessed 4 Aug 2013

  2. 2.

    Eucalyptus. http://open.eucalyptus.com/. Accessed 13 Aug 2014

  3. 3.

    Opennebula: The open source toolkit for cloud computing. http://www.opennebula.org/. Accessed 13 Aug 2014

  4. 4.

    Radix tree. http://en.wikipedia.org/wiki/Radix_t-ree. Accessed 4 Aug 2013

  5. 5.

    Vhd (file format). http://en.wikipedia.org/wiki/-VHD_(file_format). Accessed 4 Aug 2013

  6. 6.

    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. SIGOPS Oper Syst Rev 37(5):164–177

    Article  Google Scholar 

  7. 7.

    Chen Z, Zhao Y, Miao X, Chen Y, Wang Q (2009) Rapid provisioning of cloud infrastructure leveraging peer-to-peer networks. In: Proceedings of the 2009 29th IEEE International Conference on Distributed Computing Systems Workshops, ICDCSW ’09, IEEE Computer Society, Washington, pp 324–329

  8. 8.

    Lagar-Cavilla HA, Whitney JA, Scannell AM, Patchin P, Rumble SM, de Lara E, Brudno M, Satyanarayanan M (2009) Snowflock: Rapid virtual machine cloning for cloud computing. In: Proceedings of the 4th ACM European Conference on Computer Systems, EuroSys ’09, New York, pp 1–12

  9. 9.

    Liao X, Li H, Jin H, Hou H, Jiang Y, Liu H (2011) VMStore: Distributed storage system for multiple virtual machines. Sci China F Inform Sci 54:1104–1118

    Article  Google Scholar 

  10. 10.

    McLoughlin M (2013) The qcow2 image format. https://people.gnome.org/~markmc/qcow-image-format.html. Accessed 4 Aug

  11. 11.

    Nicolae B, Bresnahan J, Keahey K, Antoniu G (2011) Going back and forth: Efficient multideployment and multisnapshotting on clouds. In: Proceedings of the 20th International Symposium on High Performance Distributed Computing, HPDC ’11, New York, 147–158

  12. 12.

    Nicolae B, Cappello F, Antoniu G (2011) Optimizing multi-deployment on clouds by means of self-adaptive prefetching. In: Proceedings of the 17th International Conference on Parallel Processing. vol Part I, Euro-Par’11. Springer-Verlag, Berlin pp 503–513

  13. 13.

    Project N (2010) Lantorrent. http://www.nimbusproject.org/docs/current/admin/reference.html#lantorrent. Accessed 4 Aug 2013

  14. 14.

    Project X (2009) Blktap2. http://xenbits.xensource.com/hg/xen-unstable.hg/file/tip/tools/blktap2/README. Accessed 4 Aug 2013

  15. 15.

    Razavi K, Ion A, Kielmann T (2014) Squirrel: Scatter hoarding vm image contents on iaas compute nodes. In: Proceedings of the 23rd International Symposium on High-performance Parallel and Distributed Computing, HPDC ’14. ACM, New York, pp 265–278

  16. 16.

    Razavi K, Kielmann T (2013) Scalable virtual machine deployment using vm image caches. In: Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis, SC ’13. ACM, New York, 65:1–65:12

  17. 17.

    Reich J, Laadan O, Brosh E, Sherman A, Misra V, Nieh J, Rubenstein D (2012) Vmtorrent: Scalable p2p virtual machine streaming. In: Proceedings of the 8th International Conference on Emerging Networking Experiments and Technologies, CoNEXT ’12. New York, NY, USA, ACM, pp 289–300

  18. 18.

    Shi L, Banikazemi M, Wang QB (2008) Iceberg: An image streamer for space and time efficient provisioning of virtual machines. In: Proceedings of the 2008 International Conference on Parallel Processing - Workshops, ICPPW ’08, pages 31–38, Washington, DC, USA, IEEE Computer Society

  19. 19.

    Shi X, Liu C, Wu S, Jin H, Wu X, Deng L (2011) A cloud service cache system based on memory template of virtual machine. In: Proceedings of the 2011 Sixth Annual ChinaGrid Conference, CHINAGRID ’11. IEEE Computer Society, Washington, pp 168–173

  20. 20.

    The OpenStack project. Openstack cloud software. http://openstack.org, 2014. Accessed 13 Aug 2014

  21. 21.

    Zhu J, Jiang Z, Xiao Z (2011) Twinkle: A fast resource provisioning mechanism for internet services. In: INFOCOM, pages 802–810. IEEE

Download references

Acknowledgments

This work was supported by National High-tech Research and Development Program of China (863 Program) under Grant No. 2012AA010905, China National Natural Science Foundation under Grant No. 61322210, 61272408 and Natural Science Foundation of Hubei under Grant No. 2012FFA007. Xiaofei Liao is the corresponding author.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Xiaofei Liao.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Shi, X., Liao, X., Zheng, D. et al. VMBKS: a shared memory cache system based on booting kernel in cloud. J Supercomput 75, 4–19 (2019). https://doi.org/10.1007/s11227-015-1554-1

Download citation

Keywords

  • Boot Storm
  • Booting kernel
  • Cloud computing
  • Shared memory cache
  • VM provisioning