メモリオーバーコミット環境下におけるDockerコンテナの性能変動の低減

書誌事項

タイトル別名
  • Taming Performance Variance of Docker Containers Under Memory Overcommitment

この論文をさがす

説明

軽量な仮想化技術であるLinuxコンテナが注目を集めている.クラウドプロバイダは物理マシン上に可能な限り多くのコンテナをつくり,リソースを効率良く使用したいと考えるため,大規模なマルチテナントと高速なデプロイを実現するコンテナ技術に期待している.一方で,オーバーコミットによってパフォーマンスが受ける影響や,その影響をどのように緩和させることができるかが十分に理解されていないため,プロバイダは,コンテナのパフォーマンス劣化を恐れてリソースのオーバーコミットを避け,保守的なリソース割当てを行う傾向にある.そこで,我々はメモリオーバーコミット環境下におけるコンテナの性能のばらつきに対して定量的な評価実験を行った.Linuxコンテナの一実装であるDockerコンテナにWebアプリケーションをデプロイし,それを複数たちあげ,そのすべてあるいは一部に対し2種類のレベルで負荷をかけた.実験の結果,メモリオーバーコミット環境下ではメモリアクセスの割合にかかわらずすべてのコンテナがスワップアウトしてしまっているため,負荷の低いコンテナ同様,負荷の高いコンテナのパフォーマンスのばらつきが著しいことが分かった.また,負荷の高いコンテナに対しcgroupのパラメータに適切な値を与えることは,スループットとレイテンシのばらつきを減らすのに非常に有効であることを確認した.

Linux containers are getting increasingly popular, due to its light-weight virtualization. Cloud providers embrace the technology as an enabler of massive multi-tenancy. While providers are eager to deploy as many containers in a physical machine as possible, they avoid overcommitting resources, fearing that it degrades the performance of all or some of the containers. In doing so, cloud providers tend to make conservative allocations of resources because it is not necessarily well understood how much the overcommitment makes impact on the performance and how the impact can be mitigated. This paper presents our quantitative study of performance variance of under memory overcommitted situation. Concretely, we deployed many instances of a Web application in Docker containers, and drove all or some of them at two different load levels. We observed significant performance variance under memory overcommitment for highly-loaded containers, as well as lightly-loaded ones, because all containers were swapped out, regardless of the memory access rate. We also found that setting an appropriate value of a cgroup parameter for the highly-loaded container was surprisingly effective in reducing the variance of the container both in throughput and latency.

収録刊行物

キーワード

詳細情報 詳細情報について

問題の指摘

ページトップへ