A performance evaluation between Docker container and Virtual Machines in cloud computing architectures

Autores/as

  • Luis Herrera-Izquierdo Pontificia Universidad Católica del Ecuador
  • Marc Grob Pontificia Universidad Católica del Ecuador

Resumen

ABSTRACT

Reliability, portability, scalability and availability of applications are essential features of cloud computing in the software architecture of enterprises, that usually makes use of virtual machines (VM’s). The hardware resources of cloud computing are always limited, for this reason it is important that the available resources are adequately allocated to obtain the best possible performance. The container technology is an alternative to VM as it allows to virtualize operating systems, package applications along with the required dependencies and deploy them as an instance of the operating system, permit applications to run independently, and consume only the necessary resources. This article, related to the area of parallel and distributed computing, presents a performance evaluation analyzing several aspects between VM’s and Docker containers, based on different benchmark tools. The test configuration is based on the principles of high performance computing (HPC), adapting the same setup used to measure the performance of the processing of big amount of data or information, demanding all out of the available hardware resources. The results of the tests reveal that Docker containers perform better compared to VM’s based on VirtualBox.

Keywords: Container, cloud computing, HPC, virtual machine, performance testing.

 

 

RESUMEN

La confiabilidad, portabilidad, escalabilidad y disponibilidad de las aplicaciones, son características esenciales que permiten implementar computación en la nube, usualmente basada en máquinas virtuales (VM’s), en una arquitectura de software empresarial. Los recursos de hardware de la computación en la nube, son siempre limitados. Por esto, y para obtener el mejor rendimiento posible, es importante que los recursos disponibles sean consumidos adecuadamente. La tecnología de contenedores representa una alternativa frente a las VM’s, debido a que nos permite virtualizar sistemas operativos, que empaquetan aplicaciones junto con las dependencias necesarias y las despliega en una instancia del sistema operativo. Esto permite que las aplicaciones se ejecuten de manera independiente y consuman solamente los recursos necesarios. En este artículo, relacionado con el área de computación paralela y distribuida, se presenta una evaluación del rendimiento computacional de dos tendencias de virtualización: VM’s y contenedores Docker, mediante el uso de varias herramientas tipo benchmark. Las pruebas se realizaron acorde a los principios de computación de alto rendimiento (HPC): similar a una evaluación de rendimiento para grandes cantidades de datos y procesamiento de información, esto es, implicando una alta demanda de los recursos de hardware disponibles. Los resultados de las pruebas demuestran que los contenedores Docker tienen un mejor rendimiento frente a las VM’s basadas en VirtualBox.

Palabras clave: Contenedor, computación en la nube, HPC, máquina virtual, pruebas de rendimiento.

Descargas

Los datos de descargas todavía no están disponibles.

Citas

Petitet, A. P., Whaley, R. C., Dongarra, J., & Cleary, A. (2008). HPL - A portable implementation of the high-performance linpack benchmark for distributed-memory computers. Available at https://www.researchgate.net/publication/244449955_HPL_-_a_Portable_Implementation _of_the_High-Performance_Linpack_Benchmark_for_Distributed-Memory_Computers

Barik, R. K., Lenka, R. K., Rao, K. R., & Ghos, D. (2016). Performance analysis of virtual machines and containers in cloud computing. 2016 International Conference on Computing, Communication and Automation (ICCCA), 1204-1210. doi:10.1109/CCAA.2016.7813925

Jacobson, D. M., & Canon, R. S. (2015). Contain this, unleashing Docker for HPC. Available at https://www.nersc.gov/assets/Uploads/cug2015udi.pdf

Chung, M. T., Quang-Hung, N., Nguyen, M. T., & Thoai, N. (2016). Using Docker in high performance computing applications. 2016 IEEE Sixth International Conference on Communications and Electronics (ICCE), 52-57. doi:10.1109/CCE.2016.756261, R. (n.d.). Bonnie++. Retrieved from http://www.coker.com.au/bonnie++/

Spoiala, C. C., Calinciuc, A., & Turcu, C. O. (2016). Performance comparison of a WebRTC server on Docker versus Virtual Machine. Retrieved 08 10, 2016, from 13 th International Conference on Development and Application Systems: http://www.dasconference.ro/dvd2016/data/papers/D78-paper.pdf

Docker. (2017). Docker. Retrieved from What is Docker: https://www.docker.com/what-docker

Kleyman, B. (2012). Hypervisor 101: Understanding the virtualization market. Retrieved from http://www.datacenterknowledge.com/archives/2012/08/01/hypervisor-101-a-look-hypervisor-market/

Morabito, R. (2016). A performance evaluation of container technologies on Internet of things devices. 2016 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), 999-1000. doi:10.1109/INFCOMW.2016.7562228

Parziale, L., Louie, B., Marins, E., Santos, T. N., & Venkatesan, S. (2012). Advanced networking concepts applied using Linux on IBM Systems. Retrieved from Performance tests and results: http://www.redbooks.ibm.com/redbooks/pdfs/sg247995.pdf

Peter Mell, T. G. (2011). The NIST definition of cloud computing. Retrieved from http://faculty.winthrop.edu/domanm/csci411/Handouts/NIST.pdf

Pipes, J. (2010). Performance tuning best practices. Retrieved from http://docs.linuxtone.org/ebooks/MySQL/performance-tuning-best-practices.pdf

Preeth, N. E., Mulerickal, F. J., Paul, B., & Sastri, Y. (2015). Evaluation of Docker containers based on hardware utilization. 2015 International Conference on Control Communication & Computing India (ICCC), 697-700. doi:10.1109/ICCC.2015.7432984

Sindi, M. (2009). HPL Calculator. Retrieved from http://hpl-calculator.sourceforge.net/HPL-HowTo.pdf

Sindi, M. (2016). Top500 HPL calculator. Retrieved from http://hpl-calculator.sourceforge.net/

Wes Felter, A. F. (2014). An updated performance comparison virtual machines and Linux containers. Retrieved 08 06, 2016, from IBM Research Report : http://domino.research.ibm.com/library/cyberdig.nsf/papers/0929052195DD819C85257D2300681E7B/$File/rc25482.pdf

Xavier, B., Ferreto, T., & Jersak, L. (2016). Time provisioning evaluation of KVM, Docker and Unikernels in a cloud platform. 2016 16th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), 277-280. doi:10.1109/CCGrid.2016.86

Descargas

Publicado

2017-11-29

Cómo citar

Herrera-Izquierdo, L., & Grob, M. (2017). A performance evaluation between Docker container and Virtual Machines in cloud computing architectures. Maskana, 8, 127–133. Recuperado a partir de https://publicaciones.ucuenca.edu.ec/ojs/index.php/maskana/article/view/1457