论文标题

CPU限制的艺术:评估和改善虚拟化和容器化平台的性能

The Art of CPU-Pinning: Evaluating and Improving the Performance of Virtualization and Containerization Platforms

论文作者

Samani, Davood Ghatreh, Denninnart, Chavit, Bacik, Josef, Salehi, Mohsen Amini

论文摘要

云提供商以裸机,VM和容器的形式提供各种执行平台。但是,由于每个执行平台的优缺点,为特定的基于云的应用程序选择适当的平台已成为解决方案架构师的挑战。结合这些平台(例如在VM中部署容器)的可能性提供了新的能力,这使得挑战更加复杂。但是,文献中有一些关于在各种执行平台上部署不同应用程序类型的利弊的研究。特别是,在文献中对各种硬件配置和不同的CPU配置方法(例如CPU固定)的评估尚未得到充分研究。在这项工作中,对四类现实世界应用程序,即视频处理,并行处理(MPI),Web处理,NOT-SQL进行了测量和分析容器,VM和裸机执行平台的性能开销,并分别代表CPU密集型密集,并行处理,并行处理,以及两个IO密集型处理。我们的分析揭示了一组有趣的,有时甚至是违反直觉的发现,这些发现可以由解决方案架构师用作有效部署基于云的应用程序的最佳实践。以下是一些值得注意的提及:(a)在特定情况下,容器可以比VM更高的开销; (b)VM顶​​部的容器可以减轻某些应用程序的VM开销; (c)大量核心的容器比有几个内核的容器施加了低的开销。

Cloud providers offer a variety of execution platforms in form of bare-metal, VM, and containers. However, due to the pros and cons of each execution platform, choosing the appropriate platform for a specific cloud-based application has become a challenge for solution architects. The possibility to combine these platforms (e.g. deploying containers within VMs) offers new capacities that makes the challenge even further complicated. However, there is a little study in the literature on the pros and cons of deploying different application types on various execution platforms. In particular, evaluation of diverse hardware configurations and different CPU provisioning methods, such as CPU pinning, have not been sufficiently studied in the literature. In this work, the performance overhead of container, VM, and bare-metal execution platforms are measured and analyzed for four categories of real-world applications, namely video processing, parallel processing (MPI), web processing, and No-SQL, respectively representing CPU intensive, parallel processing, and two IO intensive processes. Our analyses reveal a set of interesting and sometimes counterintuitive findings that can be used as best practices by the solution architects to efficiently deploy cloud-based applications. Here are some notable mentions: (A) Under specific circumstances, containers can impose a higher overhead than VMs; (B) Containers on top of VMs can mitigate the overhead of VMs for certain applications; (C) Containers with a large number of cores impose a lower overhead than those with a few cores.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源