Advertisement

A Performance Survey of Lightweight Virtualization Techniques

  • Max PlauthEmail author
  • Lena Feinbube
  • Andreas Polze
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10465)

Abstract

The increasing prevalence of the microservice paradigm creates a new demand for low-overhead virtualization techniques. Complementing containerization, unikernels are emerging as alternative approaches. With both techniques undergoing rapid improvements, the current landscape of lightweight virtualization approaches presents a confusing scenery, complicating the task of choosing a suited technology for an intended purpose. This work provides a comprehensive performance comparison covering containers, unikernels, whole-system virtualization, native hardware, and combinations thereof. Representing common workloads in microservice-based applications, we assess application performance using HTTP servers and a key-value store. With the microservice deployment paradigm in mind, we evaluate further characteristics such as startup time, image size, network latency, and memory footprint.

Notes

Acknowledgements

We would like to thank Vincent Schwarzer for engaging our interest in unikernels in the course of his master’s thesis [28]. Furthermore, we thank the HPI Future SOC Lab for granting us access to the hardware resources used in this paper.

This paper has received funding from the European Union’s Horizon 2020 research and innovation program 2014–2018 under grant agreement No. 644866.

Disclaimer

This paper reflects only the authors’ views and the European Commission is not responsible for any use that may be made of the information it contains.

References

  1. 1.
    Arcangeli, A., Eidus, I., Wright, C.: Increasing memory density by using KSM. In: Proceedings of the Linux Symposium, pp. 19–28. Citeseer (2009)Google Scholar
  2. 2.
    Beserra, D., Moreno, E.D., Endo, P.T., Barreto, J., Sadok, D., Fernandes, S.: Performance analysis of LXC for HPC environments. In: 2015 Ninth International Conference on Complex, Intelligent, and Software Intensive Systems (CISIS), pp. 358–363, July 2015Google Scholar
  3. 3.
    Briggs, I., Day, M., Guo, Y., Marheine, P., Eide, E.: A Performance Evaluation of Unikernels, Prepared for CS6480, Advanced Computer Networking, Fall 2014 (2015). http://media.taricorp.net/performance-evaluation-unikernels.pdf
  4. 4.
    Canonical, Ltd.: LXC. https://linuxcontainers.org/lxc/introduction/. Accessed 15 July 2017
  5. 5.
    Canonical Ltd.: LXD. https://linuxcontainers.org/lxd/introduction/. Accessed 15 July 2017
  6. 6.
    Di Tommaso, P., Palumbo, E., Chatzou, M., Prieto, P., Heuer, M.L., Notredame, C.: The impact of Docker containers on the performance of genomic pipelines. Peer J. 3, e1273 (2015)CrossRefGoogle Scholar
  7. 7.
    Docker Inc.: Docker. https://www.docker.com/. Accessed 15 July 2017
  8. 8.
    Engler, D.R., Kaashoek, M.F., O’Toole Jr., J.: Exokernel: an operating system architecture for application-level resource management. In: Proceedings of the Fifteenth ACM Symposium on Operating Systems Principles, SOSP 1995, pp. 251–266. ACM, New York (1995)Google Scholar
  9. 9.
    Felter, W., Ferreira, A., Rajamony, R., Rubio, J.: An updated performance comparison of virtual machines and Linux containers. In: 2015 IEEE International Symposium on Performance Analysis of Systems and Software, pp. 171–172, March 2015Google Scholar
  10. 10.
    ApacheBench - G-Wan, ab.c: http://gwan.com/source/ab.c. Accessed 15 July 2017
  11. 11.
    Hewlett Packard Enterprise: HPE ProLiant m710p Server Cartridge QuickSpecs (2015). https://goo.gl/0dV579
  12. 12.
    Irazoqui, G., Inci, M.S., Eisenbarth, T., Sunar, B.: Wait a minute! A fast, cross-VM attack on AES. In: Stavrou, A., Bos, H., Portokalidis, G. (eds.) RAID 2014. LNCS, vol. 8688, pp. 299–319. Springer, Cham (2014). doi: 10.1007/978-3-319-11379-1_15 Google Scholar
  13. 13.
    Jones, M., Arcand, B., Bergeron, B., Bestor, D., Byun, C., Milechin, L., Gadepally, V., Hubbell, M., Kepner, J., Michaleas, P., et al.: Scalability of VM Provisioning systems. arXiv preprint (2016). arXiv:1606.05794
  14. 14.
    Kantee, A.: Flexible operating system internals: the design and implementation of the any kernel and rump kernels. Ph.D. thesis, Aalto University, Finland (2012)Google Scholar
  15. 15.
    Kantee, A.: The rise and fall of the operating system, login: the USENIX magazine, pp. 6–9 (2015)Google Scholar
  16. 16.
    Kivity, A., Laor, D., Costa, G., Enberg, P., HarEl, N., Marti, D., Zolotarov, V.: OSv–optimizing the operating system for virtual machines. In: 2014 USENIX Annual Technical Conference, pp. 61–72 (2014)Google Scholar
  17. 17.
    KVM project: KVM. http://www.linux-kvm.org/page/Main. Accessed 15 July 2017
  18. 18.
    Lighty labs: weighttp. https://redmine.lighttpd.net/projects/weighttp/. Accessed 15 July 2017
  19. 19.
    Madhavapeddy, A., Leonard, T., Skjegstad, M., Gazagnaire, T., Sheets, D., Scott, D., Mortier, R., Chaudhry, A., Singh, B., Ludlam, J., et al.: Jitsu: just-in-time summoning of unikernels. In: 12th USENIX Symposium on Networked Systems Design and Implementation, pp. 559–573 (2015)Google Scholar
  20. 20.
    Madhavapeddy, A., Mortier, R., Rotsos, C., Scott, D., Singh, B., Gazagnaire, T., Smith, S., Hand, S., Crowcroft, J.: Unikernels: library operating systems for the cloud. In: Proceedings of the 18th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 461–472. ACM, New York (2013)Google Scholar
  21. 21.
    Madhavapeddy, A., Scott, D.J.: Unikernels: the rise of the virtual library operating system. Commun. ACM 57(1), 61–69 (2014)CrossRefGoogle Scholar
  22. 22.
    Mao, M., Humphrey, M.: A performance study on the VM startup time in the cloud. In: 2012 IEEE Fifth International Conference on Cloud Computing, pp. 423–430. IEEE (2012)Google Scholar
  23. 23.
    Martins, J., Ahmed, M., Raiciu, C., Olteanu, V., Honda, M., Bifulco, R., Huici, F.: ClickOS and the art of network function virtualization. In: Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation, pp. 459–473. USENIX Association (2014)Google Scholar
  24. 24.
  25. 25.
    Nickoloff, J.: Evaluating container platforms at scale. https://medium.com/on-docker/evaluating-container-platforms-at-scale-5e7b44d93f2c
  26. 26.
    Plauth, M., Feinbube, L., Polze, A.: A performance evaluation of lightweight approaches to virtualization. In: 8th International Conference on Cloud Computing, GRIDs, and Virtualization, IARIA, February 2017Google Scholar
  27. 27.
    Regola, N., Ducom, J.C.: Recommendations for virtualization technologies in high performance computing. In: 2010 IEEE Second International Conference on Cloud Computing Technology and Science, pp. 409–416. IEEE (2010)Google Scholar
  28. 28.
    Schwarzer, V.: Evaluierung von Unikernel-Betriebssystemen für Cloud-Computing. Masters thesis (in german), Hasso Plattner Institute for Software Systems Engineering, University of Potsdam (2016)Google Scholar
  29. 29.
    The OpenStack project: Nova. https://github.com/openstack/nova. Accessed 15 July 2017
  30. 30.
    Veal, B., Foong, A.: Performance scalability of a multi-core web server. In: Proceedings of the 3rd ACM/IEEE Symposium on Architecture for Networking and Communications Systems, pp. 57–66. ACM (2007)Google Scholar
  31. 31.
    Xavier, M.G., Neves, M.V., Rossi, F.D., Ferreto, T.C., Lange, T., Rose, C.: Performance evaluation of container-based virtualization for high performance computing environments. In: 2013 21st Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, pp. 233–240 (2013)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2017

Authors and Affiliations

  1. 1.Operating Systems and Middleware Group, Hasso Plattner Institute for Software Systems EngineeringUniversity of PotsdamPotsdamGermany

Personalised recommendations