Virtualization vs. Containerization: Towards a Multithreaded Performance Evaluation Approach
Amro Abuabdo, Ziad A. Al-Sharif · 2019
Increasingly, hardware visualizations are becoming the norm. This opened the door for new possibilities but placed a new set of challenges that are to be faced by software developers, mainly when it comes to developing different applications in different programming languages and deploying them on various environments; often virtually hosted environments. The performance expectations and requirements might be easily affected by the settings of these virtual machines. This paper aims at evaluating the performance of these virtual environments and measure their impacts on the performance of multithreaded applications. In particular, we evaluate the performance of multithreaded applications and assess how it is influenced by the various virtualization technologies. A multithreaded application is developed in both C and Java and the performance is measured on different platforms; each of which is supported by either a virtualized system or a containerized environment. Certainly, C will keep outperforming Java in its execution speed; however, simple variations in the virtualization technique easily affects the performance of these multithreaded applications; a situation that should be taken into consideration by the software developers when deploying into such environments.