• 検索結果がありません。

IaaSクラウド向け軽量実行環境におけるアプリケーション実行性能に関する考察

N/A
N/A
Protected

Academic year: 2021

シェア "IaaSクラウド向け軽量実行環境におけるアプリケーション実行性能に関する考察"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)情報処理学会第 82 回全国大会   4A-04.  . IaaS クラウド向け軽量実行環境におけるアプリケーション 実行性能に関する考察 宮澤 元 † 南山大学 理工学部 ソフトウェア工学科 †. 1.. はじめに. オーバヘッドは依然として存在する。特に入出力仮想化. IaaS(Infrastructure-as-a-Service) 環境を提供するクラ. のオーバヘッドは一般に大きく、ネットワーク通信など. ウドコンピューティング (クラウド) のアプリケーション. の入出力を多く行うアプリケーションではコンテナ仮想. 実行基盤としてコンテナ仮想化技術が普及している。マ. 化が有利となってもおかしくない。. ルチテナントの IaaS 環境では複数の実行環境を適切に. 我々は、コンテナや Unikernels をクラウドにおけるア. 隔離することが不可欠だが、従来広く利用されてきた仮. プリケーションの軽量実行環境と捉え、アプリケーショ. 想マシンは仮想マシンモニタによる物理計算機の仮想化. ンの動作状況に合わせて適切な軽量実行環境を与えられ. を利用してこれを実現したものである。一方コンテナ仮. るような IaaS 実行基盤の実現を目指している。そのた. 想化では、オペレーティングシステム (OS) カーネルが. めにアプリケーションの動作状況に対して、既存の軽量. 用意する名前空間の機能を用いて提供されるコンテナと. 実行環境がどのように振る舞うかを具体的に把握する必. 呼ばれる実行環境を用いてアプリケーションプロセスの. 要がある。本稿では、軽量実行環境におけるアプリケー. 粒度で隔離を行う。コンテナはそれぞれにゲスト OS を. ションの実行性能について考察する。単純な数値計算ア. 用意する必要がなく、仮想マシンモニタでの仮想 CPU. プリケーションを複数の軽量実行環境上で動作させて性. やメモリの管理が仮想マシン上のゲスト OS でのプロセ. 能測定実験を行い、比較を行う。. スや仮想メモリの管理と重複してしまうといった問題が 存在しないので低オーバヘッドで実現することができる。 一方、Unikernels[1] をはじめ、従来の仮想マシンの オーバヘッドを低減するための研究も行われている。. Unikernels とは、ユーザコードにライブラリ OS をリ ンクして仮想マシン上で直接動作できるようにした単一 のアプリケーションバイナリのことである。Unikernels を利用すると、仮想マシンのゲスト OS として汎用 OS を利用する場合と比べ、ゲスト OS に起因するオーバヘッ ドを低減でき、性能向上が見込まれる。 しかし、コンテナと Unikernels のどちらがアプリケー ションの実行により適しているかは状況により異なる。 従来型の仮想マシンも含めたアプリケーションの実行環 境の性能評価に関する研究も行われているが、使用す る仮想マシンモニタの種類やアプリケーションの特性な. 2.. 軽量実行環境の性能比較. コンテナ仮想化環境や Unikernel 環境など、軽量実行 環境についての性能比較は数多くなされている。起動時 間やメモリフットプリントといった軽量実行環境そのも のの性能比較や、いくつかの軽量実行環境におけるアプ リケーションの性能比較については様々な報告がある。 一方、複数のアプリケーションを動作させた状態での プラットフォーム全体での性能比較はほとんどなされて いない。マルチテナントの IaaS 環境では、同一の物理マ シン上で複数の仮想マシンやコンテナが動作しており、 このような状況における軽量仮想実行環境ごとのアプリ ケーションの性能特性を明らかにすることは重要だと思 われる。. 3.. 実験. どによっても結果は異なる [3, 4, 5]。例えば Unikernels. 軽量実行環境として代表的な Unikernels 環境の一つで. 環境では、アプリケーションはライブラリ OS と一体化. ある OSv (version 0.54.0) と、広く利用されているコンテ. した単一のバイナリとして動作するので、汎用のホスト. ナ仮想化環境の Docker (version 19.03.5) を利用して、単. OS 上でプロセスとして動作するコンテナ仮想化環境よ. 純な数値計算アプリケーションを動作させ、実行時間を計. りコンテキストスイッチが少ない分、性能的に有利だと. 測する実験を行った。OSv については、QEMU(version. 考えられる。その反面、Unikernels においても仮想化の. 2.11.1) を用いて動作させた。. A Study on Performance of Applications on Lightweight Execution Environments for IaaS Cloud † Department of Software Engineering, Faculty of Science and Engineering, Nanzan University. 3.1. 実験環境. 実験には表 1 に示す仕様の PC を用いた。また軽量実 行環境にはそれぞれ 2G バイトのメモリを割り当てた。. 1-17. Copyright 2020 Information Processing Society of Japan. All Rights Reserved..

(2) 情報処理学会第 82 回全国大会. アプリケーションの実行時間には CPU の処理性能がそ. 表 1: 実験に利用した PC の仕様 CPU Intel Core i7-8700K 3.7GHz コア数. 6 コア 12 スレッド. メモリ. DDR4-2666 DRAM 32G バイト. ストレージ. Plextor SSD PX512M9PEG. OS. Ubuntu Server 18.04.3 Kernel 4.15.0. のまま反映されたと考えられる。一方、Docker 環境で の性能低下がスケジューリングのオーバヘッドや cgroup によるリソース制限に起因するものとは考えにくく、原 因を調査中である。なお、OSv 環境での実行時間は他の 環境に比べてやや短く、OS オーバヘッドが低減される 効果が現れていると考えられる。. (sec.). 4.. 60. いくつかの軽量実行環境を用いて単純な数値計算アプ. 実行時間. 50. リケーションを実行させ、実行時間を計測する実験を行っ. 40. 30. た。実験を行ったいずれの環境でも同等の実行時間を要. 20. するが、Unikernels 環境での実行時間がやや短い結果と. 10. なった。しかしコンテナ環境では標準的な操作で動作さ O Sv. na tiv e ux. かり、原因を調査する必要がある。. Li n. se nt er ). せた場合の結果が他の環境に比べて大幅に遅いことが分 今後は、さまざまな状況において、アプリケーション. D oc. ke r( n. D oc. ke r. 0. の実行にどのような軽量実行環境が適しているかを調べ る。特に I/O バウンドアプリケーションについて軽量. 図 1: 計算実験の結果. 3.2. まとめ. 実行環境を比較する実験を行う他、より現実的なワーク ロードにおけるアプリケーションの振る舞いについても. 計算実験. 調べる。. モンテカルロ法を用いて円周率の近似値を計算するア プリケーションを作成し、このアプリケーションの実行 時間を計測する実験を行った。このアプリケーションで はサンプルサイズとして定めた 10 億個の点の座標を単 位格子内にランダムに生成する。これらの点のうち、単 位円内に生成された点の数を集計することにより 1/4 円 の面積を計算して円周率の近似値を求める。プログラム は C 言語で作成した。. Docker 環境と OSv 環境の他、コンテナを利用しない Linux 環境 (Linux native) で行った実験結果を図 1 に示 す。Docker 環境については、アプリケーションを直接 コンテナ内で動作させたものの他、nsenter コマンドを 用いてコンテナの名前空間内でアプリケーションを動作 させた後にコンテナの cgroup にアプリケーションを追 加する方法 (Docker(nsenter)) でも実験を行った。各環 境で実験を 10 回ずつ行った平均値を結果とした。 ほぼ CPU バウンドの単純なアプリケーションである にも関わらず、Docker 環境での実行時間がそれ以外の 環境での実行時間と比べて 1.5 倍程度遅かった∗ 。この実 験結果は、田尻による Apache Spark を用いた類似の実 験の結果 [6] と整合する。Docker(nsenter) 環境も含め、. Docker 環境以外ではほぼ同等の実行時間であり、この ∗ 筆者の以前の報告 [7] では Docker 環境での実行時間が他の軽量 実行環境より 2 倍近く速い結果となっていたが、これは乱数発生に用 いた random 関数の実装が Docker 環境と OSv 環境とで異なってい たことが原因であり、今回のアプリケーションでは修正済みである。. 1-18. 参考文献 [1] Anil Madhavapeddy, et al., “Unikernels: Library Operating Systems for the Cloud,” in Proceedings of the 18th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’13), pp.461–472, 2013. [2] Filipe Manco, et al., “My VM is Lighter (and Safer) than your Container,” in Proceedings of the 26th Symposium of Operating Systems Principles, pp.218–233, 2017. [3] M. G. Xavier, et al., “Performance Evaluation of Container-Based Virtualization for High Performance Computing Environments,” in Proceedings of the 21st Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP 2013), pp.233–240, 2013. [4] S. Gupta and D. Gera, “A Comparison of LXD, Docker and Virtual Machine,” in International Journal of Scientific & Engineering Research, Volume. 7, Issue 9, pp.1414–1417, 2016. [5] B. Xavier, et al., “Time Provisioning Evaluation of KVM, Docker and Unikernels in a Cloud Platform,” in Proceedins of the 16th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing, pp.277–280, 2016. [6] 田尻翔太, “IaaS 環境におけるマルチプロセスアプリケー ションを考慮した仮想化基盤の動的構成管理に関する研 究,” 南山大学大学院理工学研究科修士論文, 2017. [7] 宮澤元, “軽量実行環境におけるアプリケーションの実行 性能比較,” 情報処理学会第 81 回全国大会講演論文集 (1), pp.29-30, 2019 年.. Copyright 2020 Information Processing Society of Japan. All Rights Reserved..

(3)

表 1: 実験に利用した PC の仕様 CPU Intel Core i7-8700K 3.7GHz コア数 6 コア 12 スレッド メモリ DDR4-2666 DRAM 32G バイト ストレージ Plextor SSD PX512M9PEG

参照

関連したドキュメント

  ・kseg0:  仮想アドレスの上位 3 ビットが 100 の場合,選択されるアドレス空間 は kseg0 という名前の 512MB のカーネル空間である.kseg0

現地観測は八丈島にある東京電力が所有する 500kW 風 車を対象に、 2004 年 5 月 12 日から 2005 年 3 月 7 日 にかけての 10 ヶ月にわたり

Adaptive-Agent Simulation Analysis of a Simple Transportation Network, Proceedings of the Joint 2nd International Conference on Soft Computing and Intelligent Systems and

10) Wolff/ Bachof/ Stober/ Kluth, Verwaltungsrecht Bd.1, 13.Aufl., 2017, S.337ff... 法を知る」という格言で言い慣わされてきた

((.; ders, Meinungsverschiedenheiten zwischen minderjähriger Mutter und Vormund, JAmt

Amount of Remuneration, etc. The Company does not pay to Directors who concurrently serve as Executive Officer the remuneration paid to Directors. Therefore, “Number of Persons”

⼝部における線量率の実測値は11 mSv/h程度であることから、25 mSv/h 程度まで上昇する可能性

小・中学校における環境教育を通して、子供 たちに省エネなど環境に配慮した行動の実践 をさせることにより、CO 2