Skip to main content
QUICK REVIEW

[論文レビュー] A Comparative Study of Containers and Virtual Machines in Big Data Environment

Qi Zhang, Ling Liu|arXiv (Cornell University)|Jul 5, 2018
Cloud Computing and Resource Management参考文献 21被引用数 11
ひとこと要約

この論文は、SparkベースのビッグデータワークロードにおけるDockerコンテナと仮想マシン(VM)の包括的な実験的比較を実施し、デプロイのしやすさ、パフォーマンスのスケーラビリティ、リソース利用効率を評価している。結果として、コンテナはVMに比べてスケーラビリティとリソース効率で顕著に優れており、大規模クラスタでは14.31倍の高速実行が達成され、軽量な隔離と動的リソース割り当てのおかげでCPU/メモリの利用効率も優れている。

ABSTRACT

Container technique is gaining increasing attention in recent years and has become an alternative to traditional virtual machines. Some of the primary motivations for the enterprise to adopt the container technology include its convenience to encapsulate and deploy applications, lightweight operations, as well as efficiency and flexibility in resources sharing. However, there still lacks an in-depth and systematic comparison study on how big data applications, such as Spark jobs, perform between a container environment and a virtual machine environment. In this paper, by running various Spark applications with different configurations, we evaluate the two environments from many interesting aspects, such as how convenient the execution environment can be set up, what are makespans of different workloads running in each setup, how efficient the hardware resources, such as CPU and memory, are utilized, and how well each environment can scale. The results show that compared with virtual machines, containers provide a more easy-to-deploy and scalable environment for big data workloads. The research work in this paper can help practitioners and researchers to make more informed decisions on tuning their cloud environment and configuring the big data applications, so as to achieve better performance and higher resources utilization.

研究の動機と目的

  • コンテナと仮想マシンを用いたビッグデータ環境の構築における実用的な利便性を評価すること。
  • コンテナベースとVMベースのクラウドインfraストラクチャ上での多様なSparkワークロードのパフォーマンスとスケーラビリティを測定・比較すること。
  • コンテナとVM間のパフォーマンス差を引き起こすシステムレベル要因(CPUウェイト時間やメモリ割り当てなど)を分析すること。
  • システム管理者や研究者によるビッグデータワークロード向けクラウド環境の最適化に役立つイン사이트を提供すること。

提案手法

  • 物理クラスタ上にDockerコンテナとKVMベースの仮想マシンを用いてSparkワークロードをデプロイし、同一構成で実験を実施した。
  • クラスタサイズを8〜48ノードの範囲で変化させ、負荷増加下でのスケーラビリティを評価した。
  • 実行時間、マケスパン、およびCPU使用率(ユーザー、システム、ウェイト)、メモリ使用量(キャッシュ済み、使用中、空き)などのシステムレベルメトリクスを測定した。
  • 実行時メトリクスを収集・分析し、特にI/O遅延とリソース競合といったパフォーマンスボトルネックを特定した。
  • Dockerfileを用いてコンテナイメージの作成を標準化し、環境間での一貫性のあるアプリケーションデプロイを確保した。
  • 各ノードにおけるワークロード実行前後でのメモリ使用量をモニタリングすることで、メモリフットプリントと割り当て動作を比較した。

実験結果

リサーチクエスチョン

  • RQ1コンテナと仮想マシンを用いたビッグデータコンピューティング環境のセットアップ時間にどのような差が生じるか?
  • RQ2多様なSparkワークロードにおいて、コンテナ環境とVM環境の実行時間およびスケーラビリティはどのように比較できるか?
  • RQ3コンテナとVM間のパフォーマンス差を引き起こすシステムレベル要因(CPUウェイト時間やメモリ割り当てなど)は何か?
  • RQ4異なるクラスタサイズとワークロード下で、CPUおよびメモリのリソース利用効率はコンテナとVMでどのように異なるか?

主な発見

  • コンテナはVMに比べてセットアップ時間とデプロイの複雑さが短く、システム管理者にとってより使いやすい。
  • 48ノードのクラスタにおいて、ロジスティック回帰はコンテナでは238秒、VMでは3643秒で完了し、14.31倍のパフォーマンス向上が達成された。
  • VMは大規模化(48ノード以上)に伴いタスクタイムアウトが著しく増加し、ワークロードの完了に失敗したのに対し、コンテナはすべてのジョブを正常に実行した。
  • クラスタサイズが拡大するに従い、VMのCPUウェイト時間が顕著に増加し、特に高負荷下でI/O遅延とリソース競合が顕著に現れた。
  • コンテナではメモリ利用効率が優れており、2つのコンテナはノードあたり2GB未満のメモリ使用量だったが、2つのVMはワークロード実行前でも約4GBを消費していた。
  • コンテナはジョブ終了後、即座にメモリを解放したが、VMは割り当てたメモリを保持したままとなり、リソース利用効率が悪かった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。