Avaliação Comparativa de Desempenho entre Contêineres e Máquinas Virtuais Baseadas em KVM
Resumo
As tecnologias de virtualização evoluíram significativamente na última década. Estudos anteriores mostram que contêineres apresentam desempenho superior ao de máquinas virtuais. Este trabalho responde a questões levantadas ao longo de anos, investigando empiricamente a eficácia dessas plataformas e contrastando soluções de sistemas operacionais e hypervisors executadas sobre uma plataforma de hardware específica. Docker, Podman, LXC e KVM foram avaliados em comparação com o desempenho nativo, medindo CPU, memória, disco e rede sob diversas cargas. Os resultados mostram que os contêineres mantêm desempenho quase nativo, enquanto o hypervisor alcança desempenho competitivo por meio de ajustes específicos por carga de trabalho.Referências
Abraham, S., Paul, A. K., Khan, R. I. S., and Butt, A. R. (2020). On the use of containers in high performance computing environments. In 2020 IEEE 13th International Conference on Cloud Computing (CLOUD), pages 284–293. IEEE.
Bailey, D. H., Barszcz, E., Barton, J. T., Browning, D. S., Carter, R. L., Dagum, L., Fatoohi, R. A., Frederickson, P. O., Lasinski, T. A., Schreiber, R. S., Simon, H. D., Venkatakrishnan, V., and Weeratunga, S. K. (1991). The NAS parallel benchmarks. International Journal of Supercomputer Applications, 5(3):63–73.
Bernstein, D. (2014). Containers and cloud: From LXC to Docker to Kubernetes. IEEE Cloud Computing, 1(3):81–84.
Bhargava, R., Serebrin, B., Spadini, F., and Manne, S. (2008). Accelerating two-dimensional page walks for virtualized systems. In Proceedings of the 13th international conference on Architectural support for programming languages and operating systems, pages 26–35. ACM.
Biederman, E. W. (2006). Multiple instances of the global Linux namespaces. In Proceedings of the Linux Symposium, volume 1, Ottawa, Canada.
Chae, M., Lee, H., and Lee, K. (2019). A performance comparison of Linux containers and virtual machines using Docker and KVM. Cluster Computing, 22(Suppl 1):1765–1775.
Cheng, Y., Chen, W., Chen, X., Xu, B., and Zhang, S. (2013). A user-level numa-aware scheduler for optimizing virtual machine performance. In International Workshop on Advanced Parallel Processing Technologies, pages 32–46. Springer.
Deng, S., Zhao, H., Huang, B., Zhang, C., Chen, F., Deng, Y., Yin, J., Dustdar, S., and Zomaya, A. Y. (2024). Cloud-native computing: A survey from the perspective of services. Proceedings of the IEEE, 112(1):12–46.
Djordjevic, B., Timcenko, V., Lazic, M., and Davidovic, N. (2022). Performance comparison of Docker and Podman container-based virtualization. In 2022 21st International Symposium INFOTEH-JAHORINA (INFOTEH), pages 1–6. IEEE.
Dongarra, J. J., Luszczek, P., and Petitet, A. (2003). The LINPACK benchmark: Past, present and future. Concurrency and Computation: Practice and Experience, 15(9):803–820.
Felter, W., Ferreira, A., Rajamony, R., and Rubio, J. (2015). An updated performance comparison of virtual machines and Linux containers. In 2015 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), pages 171–172. IEEE.
Giallorenzo, S., Mauro, J., Poulsen, M. G., and Siroky, F. (2021). Virtualization costs: Benchmarking containers and virtual machines against bare-metal. SN Computer Science, 2(5):404.
Heo, T. (2015). Control group v2. Documentação do kernel Linux, [link]. Acesso em agosto de 2026.
Hwang, J., Zeng, S., y Wu, F., and Wood, T. (2013). A component-based performance comparison of four hypervisors. In 2013 IFIP/IEEE International Symposium on Integrated Network Management (IM 2013), pages 269–276. IEEE.
Kurtzer, G. M., Sochat, V., and Bauer, M. W. (2017). Singularity: Scientific containers for mobility of compute. PLOS ONE, 12(5):e0177459.
Linux Containers Org (2025). LXC – introduction. [link]. Acesso em agosto de 2026.
Linux KVM Project (2014). KVM — kernel-based virtual machine. [link]. Acesso em agosto de 2026.
Matthews, J. N., Hu, W., Hapuarachchi, M., Deshane, T., Dimatos, D., Hamilton, G., McCabe, M., and Owens, J. (2007). Quantifying the performance isolation properties of virtualization systems. In Proceedings of the 2007 Workshop on Experimental Computer Science (ExpCS ’07), New York, NY, USA. ACM.
McCalpin, J. D. (1995). Memory bandwidth and machine balance in current high performance computers. IEEE Computer Society Technical Committee on Computer Architecture (TCCA) Newsletter, pages 19–25. [link].
Merrifield, T. and Taheri, H. R. (2016). Performance implications of extended page tables on virtualized x86 processors. In Proceedings of the12th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, pages 25–35.
Morabito, R., Kjällman, J., and Komu, M. (2015). Hypervisors vs. lightweight virtualization: A performance comparison. In 2015 IEEE International Conference on Cloud Engineering (IC2E), pages 386–393. IEEE.
Open Container Initiative (2023). OCI runtime specification. [link]. Acesso em agosto de 2026.
Pahl, C., Brogi, A., Soldani, J., and Jamshidi, P. (2019). Cloud container technologies: A state-of-the-art review. IEEE Transactions on Cloud Computing, 7(3):677–692.
Rao, J., Wang, K., Zhou, X., and Xu, C.-Z. (2013). Optimizing virtual machine scheduling in numa multicore systems. In 2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA), pages 306–317. IEEE.
Red Hat, Inc. (2023). Podman documentation. [link]. Acesso em agosto de 2026.
Red Hat, Inc. (2026). Building, running, and managing containers. [link].
Russell, R. (2008). virtio: Towards a de-facto standard for virtual I/O devices. ACM SIGOPS Operating Systems Review, 42(5):95–103.
Scrivano, G. (2023). A fast and lightweight fully featured oci runtime and c library for running containers. [link]. Acesso em agosto de 2026.
Sharma, P., Chaufournier, L., Shenoy, P., and Tay, Y. C. (2016). Containers and virtual machines at scale: A comparative study. In Proceedings of the 17th International Middleware Conference (Middleware ’16), Middleware ’16, pages 1–13, New York, NY, USA. ACM.
Sharma, P. and Kulkarni, P. (2012). Singleton: system-wide page deduplication in virtual environments. In Proceedings of the 21st international symposium on High-Performance Parallel and Distributed Computing, pages 15–26.
Snell, Q. O., Mikler, A. R., and Gustafson, J. L. (1996). Netpipe: A network protocol independent performance evaluator. In Proceedings of the IASTED International Conference on Intelligent Information Management and Systems.
Torrez, A., Randles, T., and Priedhorsky, R. (2019). HPC container runtimes have minimal or no performance impact. In 2019 IEEE/ACM International Workshop on Containers and New Orchestration Paradigms for Isolated Environments in HPC (CANOPIE-HPC), pages 37–42. IEEE.
Turnbull, J. (2014). The Docker Book: Containerization Is the New Virtualization. James Turnbull.
Xavier, M. G., Neves, M. V., Rossi, F. D., Ferreto, T. C., Lange, T., and De Rose, C. A. F. (2013). Performance evaluation of container-based virtualization for high performance computing environments. In 2013 21st Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP), pages 233–240. IEEE.
Zhang, Q., Liu, L., Pu, C., Dou, Q., Wu, L., and Zhou, W. (2018). A comparative study of containers and virtual machines in big data environment. In 2018 IEEE 11th International Conference on Cloud Computing (CLOUD), pages 178–185. IEEE.
Bailey, D. H., Barszcz, E., Barton, J. T., Browning, D. S., Carter, R. L., Dagum, L., Fatoohi, R. A., Frederickson, P. O., Lasinski, T. A., Schreiber, R. S., Simon, H. D., Venkatakrishnan, V., and Weeratunga, S. K. (1991). The NAS parallel benchmarks. International Journal of Supercomputer Applications, 5(3):63–73.
Bernstein, D. (2014). Containers and cloud: From LXC to Docker to Kubernetes. IEEE Cloud Computing, 1(3):81–84.
Bhargava, R., Serebrin, B., Spadini, F., and Manne, S. (2008). Accelerating two-dimensional page walks for virtualized systems. In Proceedings of the 13th international conference on Architectural support for programming languages and operating systems, pages 26–35. ACM.
Biederman, E. W. (2006). Multiple instances of the global Linux namespaces. In Proceedings of the Linux Symposium, volume 1, Ottawa, Canada.
Chae, M., Lee, H., and Lee, K. (2019). A performance comparison of Linux containers and virtual machines using Docker and KVM. Cluster Computing, 22(Suppl 1):1765–1775.
Cheng, Y., Chen, W., Chen, X., Xu, B., and Zhang, S. (2013). A user-level numa-aware scheduler for optimizing virtual machine performance. In International Workshop on Advanced Parallel Processing Technologies, pages 32–46. Springer.
Deng, S., Zhao, H., Huang, B., Zhang, C., Chen, F., Deng, Y., Yin, J., Dustdar, S., and Zomaya, A. Y. (2024). Cloud-native computing: A survey from the perspective of services. Proceedings of the IEEE, 112(1):12–46.
Djordjevic, B., Timcenko, V., Lazic, M., and Davidovic, N. (2022). Performance comparison of Docker and Podman container-based virtualization. In 2022 21st International Symposium INFOTEH-JAHORINA (INFOTEH), pages 1–6. IEEE.
Dongarra, J. J., Luszczek, P., and Petitet, A. (2003). The LINPACK benchmark: Past, present and future. Concurrency and Computation: Practice and Experience, 15(9):803–820.
Felter, W., Ferreira, A., Rajamony, R., and Rubio, J. (2015). An updated performance comparison of virtual machines and Linux containers. In 2015 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), pages 171–172. IEEE.
Giallorenzo, S., Mauro, J., Poulsen, M. G., and Siroky, F. (2021). Virtualization costs: Benchmarking containers and virtual machines against bare-metal. SN Computer Science, 2(5):404.
Heo, T. (2015). Control group v2. Documentação do kernel Linux, [link]. Acesso em agosto de 2026.
Hwang, J., Zeng, S., y Wu, F., and Wood, T. (2013). A component-based performance comparison of four hypervisors. In 2013 IFIP/IEEE International Symposium on Integrated Network Management (IM 2013), pages 269–276. IEEE.
Kurtzer, G. M., Sochat, V., and Bauer, M. W. (2017). Singularity: Scientific containers for mobility of compute. PLOS ONE, 12(5):e0177459.
Linux Containers Org (2025). LXC – introduction. [link]. Acesso em agosto de 2026.
Linux KVM Project (2014). KVM — kernel-based virtual machine. [link]. Acesso em agosto de 2026.
Matthews, J. N., Hu, W., Hapuarachchi, M., Deshane, T., Dimatos, D., Hamilton, G., McCabe, M., and Owens, J. (2007). Quantifying the performance isolation properties of virtualization systems. In Proceedings of the 2007 Workshop on Experimental Computer Science (ExpCS ’07), New York, NY, USA. ACM.
McCalpin, J. D. (1995). Memory bandwidth and machine balance in current high performance computers. IEEE Computer Society Technical Committee on Computer Architecture (TCCA) Newsletter, pages 19–25. [link].
Merrifield, T. and Taheri, H. R. (2016). Performance implications of extended page tables on virtualized x86 processors. In Proceedings of the12th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, pages 25–35.
Morabito, R., Kjällman, J., and Komu, M. (2015). Hypervisors vs. lightweight virtualization: A performance comparison. In 2015 IEEE International Conference on Cloud Engineering (IC2E), pages 386–393. IEEE.
Open Container Initiative (2023). OCI runtime specification. [link]. Acesso em agosto de 2026.
Pahl, C., Brogi, A., Soldani, J., and Jamshidi, P. (2019). Cloud container technologies: A state-of-the-art review. IEEE Transactions on Cloud Computing, 7(3):677–692.
Rao, J., Wang, K., Zhou, X., and Xu, C.-Z. (2013). Optimizing virtual machine scheduling in numa multicore systems. In 2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA), pages 306–317. IEEE.
Red Hat, Inc. (2023). Podman documentation. [link]. Acesso em agosto de 2026.
Red Hat, Inc. (2026). Building, running, and managing containers. [link].
Russell, R. (2008). virtio: Towards a de-facto standard for virtual I/O devices. ACM SIGOPS Operating Systems Review, 42(5):95–103.
Scrivano, G. (2023). A fast and lightweight fully featured oci runtime and c library for running containers. [link]. Acesso em agosto de 2026.
Sharma, P., Chaufournier, L., Shenoy, P., and Tay, Y. C. (2016). Containers and virtual machines at scale: A comparative study. In Proceedings of the 17th International Middleware Conference (Middleware ’16), Middleware ’16, pages 1–13, New York, NY, USA. ACM.
Sharma, P. and Kulkarni, P. (2012). Singleton: system-wide page deduplication in virtual environments. In Proceedings of the 21st international symposium on High-Performance Parallel and Distributed Computing, pages 15–26.
Snell, Q. O., Mikler, A. R., and Gustafson, J. L. (1996). Netpipe: A network protocol independent performance evaluator. In Proceedings of the IASTED International Conference on Intelligent Information Management and Systems.
Torrez, A., Randles, T., and Priedhorsky, R. (2019). HPC container runtimes have minimal or no performance impact. In 2019 IEEE/ACM International Workshop on Containers and New Orchestration Paradigms for Isolated Environments in HPC (CANOPIE-HPC), pages 37–42. IEEE.
Turnbull, J. (2014). The Docker Book: Containerization Is the New Virtualization. James Turnbull.
Xavier, M. G., Neves, M. V., Rossi, F. D., Ferreto, T. C., Lange, T., and De Rose, C. A. F. (2013). Performance evaluation of container-based virtualization for high performance computing environments. In 2013 21st Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP), pages 233–240. IEEE.
Zhang, Q., Liu, L., Pu, C., Dou, Q., Wu, L., and Zhou, W. (2018). A comparative study of containers and virtual machines in big data environment. In 2018 IEEE 11th International Conference on Cloud Computing (CLOUD), pages 178–185. IEEE.
Publicado
03/11/2026
Como Citar
KNIEST, Davi; MARCON, Artur Z.; BORGES, Julio A. de C.; SACILOTTO, A.; XAVIER, Miguel G.; FERRETO, Tiago C.; DE ROSE, Cesar A. F..
Avaliação Comparativa de Desempenho entre Contêineres e Máquinas Virtuais Baseadas em KVM. In: SIMPÓSIO EM SISTEMAS COMPUTACIONAIS DE ALTO DESEMPENHO (SSCAD), 27. , 2026, Natal/RN.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2026
.
p. 413-427.
DOI: https://doi.org/10.5753/sscad.2026.34960.
