Two-stage performance engineering of container-based virtualization
(2018) In Advances in Science, Technology and Engineering Systems Journal 3(1). p.521-536- Abstract
Cloud computing has become a compelling paradigm built on compute and storage virtualization technologies. The current virtualization solution in the Cloud widely relies on hypervisor-based technologies. Given the recent booming of the container ecosystem, the container-based virtualization starts receiving more attention for being a promising alternative. Although the container technologies are generally considered to be lightweight, no virtualization solution is ideally resource-free, and the corresponding performance overheads will lead to negative impacts on the quality of Cloud services. To facilitate understanding container technologies from the performance engineering's perspective, we conducted two-stage performance... (More)
Cloud computing has become a compelling paradigm built on compute and storage virtualization technologies. The current virtualization solution in the Cloud widely relies on hypervisor-based technologies. Given the recent booming of the container ecosystem, the container-based virtualization starts receiving more attention for being a promising alternative. Although the container technologies are generally considered to be lightweight, no virtualization solution is ideally resource-free, and the corresponding performance overheads will lead to negative impacts on the quality of Cloud services. To facilitate understanding container technologies from the performance engineering's perspective, we conducted two-stage performance investigations into Docker containers as a concrete example. At the first stage, we used a physical machine with “just-enough” resource as a baseline to investigate the performance overhead of a standalone Docker container against a standalone virtual machine (VM). With findings contrary to the related work, our evaluation results show that the virtualization's performance overhead could vary not only on a feature-by-feature basis but also on a job-to-job basis. Moreover, the hypervisor-based technology does not come with higher performance overhead in every case. For example, Docker containers particularly exhibit lower QoS in terms of storage transaction speed. At the ongoing second stage, we employed a physical machine with “fair-enough” resource to implement a container-based MapReduce application and try to optimize its performance. In fact, this machine failed in affording VM-based MapReduce clusters in the same scale. The performance tuning results show that the effects of different optimization strategies could largely be related to the data characteristics. For example, LZO compression can bring the most significant performance improvement when dealing with text data in our case.
(Less)
- author
- Li, Zheng ; Kihl, Maria LU ; Chen, Yiqun and Zhang, He
- organization
- publishing date
- 2018
- type
- Contribution to journal
- publication status
- published
- subject
- keywords
- Cloud Computing, Container, Hypervisor, MapReduce, Performance Engineering, Virtualization
- in
- Advances in Science, Technology and Engineering Systems Journal
- volume
- 3
- issue
- 1
- pages
- 16 pages
- publisher
- ASTES Publishers
- external identifiers
-
- scopus:85061737092
- ISSN
- 2415-6698
- DOI
- 10.25046/aj030163
- project
- E! Celtic-Plus 5G PERFECTA
- language
- English
- LU publication?
- yes
- id
- da6a2d4c-fa66-4730-9830-e0e344f23d72
- date added to LUP
- 2019-03-05 13:05:08
- date last changed
- 2022-03-25 08:32:44
@article{da6a2d4c-fa66-4730-9830-e0e344f23d72, abstract = {{<p>Cloud computing has become a compelling paradigm built on compute and storage virtualization technologies. The current virtualization solution in the Cloud widely relies on hypervisor-based technologies. Given the recent booming of the container ecosystem, the container-based virtualization starts receiving more attention for being a promising alternative. Although the container technologies are generally considered to be lightweight, no virtualization solution is ideally resource-free, and the corresponding performance overheads will lead to negative impacts on the quality of Cloud services. To facilitate understanding container technologies from the performance engineering's perspective, we conducted two-stage performance investigations into Docker containers as a concrete example. At the first stage, we used a physical machine with “just-enough” resource as a baseline to investigate the performance overhead of a standalone Docker container against a standalone virtual machine (VM). With findings contrary to the related work, our evaluation results show that the virtualization's performance overhead could vary not only on a feature-by-feature basis but also on a job-to-job basis. Moreover, the hypervisor-based technology does not come with higher performance overhead in every case. For example, Docker containers particularly exhibit lower QoS in terms of storage transaction speed. At the ongoing second stage, we employed a physical machine with “fair-enough” resource to implement a container-based MapReduce application and try to optimize its performance. In fact, this machine failed in affording VM-based MapReduce clusters in the same scale. The performance tuning results show that the effects of different optimization strategies could largely be related to the data characteristics. For example, LZO compression can bring the most significant performance improvement when dealing with text data in our case.</p>}}, author = {{Li, Zheng and Kihl, Maria and Chen, Yiqun and Zhang, He}}, issn = {{2415-6698}}, keywords = {{Cloud Computing; Container; Hypervisor; MapReduce; Performance Engineering; Virtualization}}, language = {{eng}}, number = {{1}}, pages = {{521--536}}, publisher = {{ASTES Publishers}}, series = {{Advances in Science, Technology and Engineering Systems Journal}}, title = {{Two-stage performance engineering of container-based virtualization}}, url = {{http://dx.doi.org/10.25046/aj030163}}, doi = {{10.25046/aj030163}}, volume = {{3}}, year = {{2018}}, }