未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化

Slides:



Advertisements
Similar presentations
九州工業大学 塩田裕司 光来健一.  仮想マシンは必要なときだけ動かす使い方が一般 的 ◦ 一台の計算機上に複数の計算機を仮想的に作成できる ◦ デスクトップ  異なる OS を使用するため作成 ◦ サーバ  最大負荷に合わせた数の仮想マシンを作成  長期間使わない仮想マシンも存在する VM.
Advertisements

九州工業大学大学院 情報工学府 情報創成工学専攻 塩田裕司.  仮想マシン( VM )は必要なときだけ動かすこと が多い ◦ クラウドでもデスクトップでも ◦ 長期間使わない VM が存在する  VM の再開時に攻撃を受ける可能性が高くなる ◦ 停止中に OS やアプリケーションの脆弱性が発見されるこ.
ファイルキャッシュを考慮したディスク監視のオフロード
セキュリティ機構のオフロードを考慮した仮想マシンへの動的メモリ割当
榮樂 英樹 LilyVM と仮想化技術 榮樂 英樹
クラウド上の仮想マシンの安全なリモート監視機構
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
Xenを用いたクラウドコンピュー ティングにおける情報漏洩の防止
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
中村孝介(九州工業大学) 光来健一(九州工業大学/JST CREST)
KVMにおけるIDSオフロードのための仮想マシン監視機構
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
クラウドにおけるライブラリOSを用いた インスタンス構成の動的最適化
記 憶 管 理(2) オペレーティングシステム 第10回.
ファイルシステムキャッシュを 考慮した仮想マシン監視機構
侵入検知システム(IDS) 停止 IDS サーバへの不正アクセスが増加している
クラウドにおけるアプリケーション単位での VM構成の動的最適化
帯域外リモート管理を継続可能な マイグレーション手法
大きな仮想マシンの 複数ホストへのマイグレーション
ファイルシステムキャッシュを 考慮したIDSオフロード
ネストした仮想化を用いた VMの安全な帯域外リモート管理
帯域外リモート管理の継続を 実現可能なVMマイグレーション手法
VMマイグレーションを可能にするIDSオフロード機構
クラウドの内部攻撃者に対する安全なリモートVM監視機構
アスペクト指向プログラミングを用いたIDSオフロード
サスペンドした仮想マシンの オフラインアップデート
KVMにおける仮想マシンの 内部監視機構の実装と性能評価
分散IDSの実行環境の分離 による安全性の向上
VMのメモリ暗号化によるクラウド管理者への情報漏洩の防止
VMのメモリ暗号化による クラウド管理者への情報漏洩の防止
VM専用仮想メモリとの連携による VMマイグレーションの高速化
IaaS型クラウドにおける インスタンス構成の動的最適化手法
リモートホストの異常を検知するための GPUとの直接通信機構
シャドウデバイスを用いた 帯域外リモート管理を継続可能なVMマイグレーション
実行時情報に基づく OSカーネルのコンフィグ最小化
仮想メモリを用いた VMマイグレーションの高速化
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
ネストしたVMを用いた 仮想化システムの高速なソフトウェア若化
仮想計算機を用いたサーバ統合に おける高速なリブートリカバリ
クラウドにおけるIntel SGXを用いた VMの安全な監視機構
IaaS環境におけるVMのメモリ暗号化による情報漏洩の防止
クラウドにおけるVMリダイレクト攻撃を防ぐためのリモート管理機構
クラウドにおけるVM内コンテナを用いた 自動障害復旧システムの開発
クラウドにおけるVM内コンテナを用いた 低コストで迅速な自動障害復旧
Intel SGXを利用する 巨大なアプリケーションの マイグレーション機構
Intel SGXを用いた仮想マシンの 安全な監視機構
軽量な仮想マシンを用いたIoT機器の安全な監視
複数ホストにまたがって動作する仮想マシンの障害対策
VMMのソフトウェア若化を考慮した クラスタ性能の比較
信頼できないクラウドにおける仮想化システムの監視機構
VM内コンテナを用いた サービス単位の オートスケール機構
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
仮想環境を用いた 侵入検知システムの安全な構成法
Cell/B.E.のSPE Isolationモードを用いた監視システム
仮想マシンの監視を継続可能なマイグレーション機構
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
仮想マシンと物理マシンを一元管理するための仮想AMT
仮想化システムのソフトウェア若化のための軽量なVMマイグレーション
仮想マシンに対する 高いサービス可用性を実現する パケットフィルタリング
Cell/B.E. のSPE上で動作する 安全なOS監視システム
VMリダイレクト攻撃を防ぐための 安全なリモート管理機構
ゼロコピー・マイグレーションを 用いた軽量なソフトウェア若化手法
仮想化システムの 軽量なソフトウェア若化のための ゼロコピー・マイグレーション
強制パススルー機構を用いた VMの安全な帯域外リモート管理
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
複数ホストにまたがるVMの 高速かつ柔軟な 部分マイグレーション
複数ホストにまたがるVMの メモリ使用状況に着目した高速化
Virtual Machine Introspectionを可能にするVMCryptの拡張 田所秀和 光来健一 (九州工業大学)
強制パススルー機構を用いた VMの安全な帯域外リモート管理
管理VMへの キーボード入力情報漏洩の防止
Presentation transcript:

未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化 九州工業大学 情報工学部 機械情報工学科  学籍番号 15237038 光来研究室 B4 田内 聡一朗

大容量メモリを持つVM IaaS型クラウドが普及 大容量メモリを持つVMも提供 仮想マシン(VM)をインターネット経由でサービスとして 提供 ユーザは必要な時に必要なだけ利用可能 大容量メモリを持つVMも提供 例:Amazon EC2は12TBのメモリを持つVMを提供 ビッグデータの解析などに利用 まずは研究背景から説明していきます。 ユーザは必要な時に必要なリソースを選択して利用することが可能 VM 4TB 12TB インターネット経由

VMマイグレーション VMを稼働させたまま別のホストへ移動 移送先ホストに十分な空きメモリが必要 サービスを停止することなくホストをメンテナンス可能 移送先ホストに十分な空きメモリが必要 大容量メモリをもつVMの場合、そのようなホストを常に 確保しておくのは避けたい コストが増加し、運用の自由度が低下 VM本体 メモリ 移送元ホスト 移送先ホスト マイグレーション VM1 VM2 空きメモリ VMの運用にはVMマイグレーションという技術が利用されています メンテンなんすや障害対策として

分割マイグレーション [Suetake et al.'18] VMを分割して複数のホストへマイグレーション VM本体とVMがアクセスすることが予測されるメモリを メインホストへ転送 メインホストに入りきらないメモリはサブホストへ転送 大容量メモリを転送するには時間がかかる 移送元ホスト 移送先メインホスト 移送先サブホスト VM本体 VM本体 VMのメモリ VMのメモリ VMのメモリ 1 2 3 4 アクセスされそうなメモリ それ以外のメモリ

リモートページング マイグレーション後のVMは複数のホストにまた がって動作 リモートページングのオーバヘッドが大きい 必要なメモリをサブホストから取得(ページイン) 不要なメモリをサブホストへ転送(ページアウト) リモートページングのオーバヘッドが大きい ネットワーク経由(LAN)で ページインとページアウトが対となっている メインホスト サブホスト ページイン メモリ メモリ 1 2 3 4 ページアウト

未使用メモリに着目 VMのメモリの中には使われていない領域が存在す ることも多い 従来システムは未使用メモリを考慮していない 例:OSの起動直後、巨大アプリケーションの終了後 従来システムは未使用メモリを考慮していない マイグレーション時に未使用メモリも転送 未使用メモリであってもサブホストからページイン 未使用メモリをサブホストにページアウト 「分割マイグレーションとリモートページングの性能を向上させるために、本研究では未使用メモリに着目した。VMのメモリの中には使われていない領域が存在することも多い。例えば、...。従来システムはこのような未使用メモリを考慮していない。」と説明。 これらが先ほど説明したオーバヘッドの原因の一つである 移送元ホスト 移送先メインホスト 移送先サブホスト マイグレーション VM本体 VM本体 VMのメモリ VMのメモリ VMのメモリ 1 2 3 4

提案:FCtrans 未使用ページを考慮することで複数ホストにまた がるVMの高速化を実現 分割マイグレーション時に未使用ページは転送しない 未使用ページに対してリモートページングを行わない 移送元ホスト 移送先メインホスト 移送先サブホスト マイグレーション VMのメモリ VMのメモリ VMのメモリ 1 2 3 4 2 1 4 3 リモートページング

VMの未使用メモリの追跡 使用ビットマップを用いて4KBのページ単位でVM のメモリ使用状況を管理 VMによる未使用メモリへのアクセスを検出 起動時はすべてのページが未使用 VMによる未使用メモリへのアクセスを検出 使用ビットマップの対応するビットを1にする この時に初めてVMに物理メモリを割り当てる 使用中 未使用 未使用 使用中 未使用 VMメモリ使用状況: ・・・ 1 1 使用ビットマップ: ・・・

分割マイグレーションの高速化 使用ビットマップを調べ、未使用ページなら移送先 ホストに転送しない データ転送およびメモリ読み書きのオーバヘッドを削減 移送先メインホストでは使用ビットマップを再構築 メモリの情報を受信したら対応するビットを1にする 移送元で未使用のメモリは移送先でも未使用のまま 移送元ホスト VMのOSの情報などの核となる情報は従来通り転送を行う VMのメモリデータの転送に変更を加えた 使用状況が違う 図がおかしい 使用状況の図 移送先メインホスト 移送先サブホスト ビットマップ ビットマップ 1 マイグレーション 1 1 VMのメモリ 4 VMのメモリ VMのメモリ 1 2 3 4 2

リモートページングの最適化 ページイン時に使用ビットマップを調べ、未使用メ モリについてはページインを行わない 代わりに、メインホストの空きメモリを割り当てる サブホストからのメモリ転送のオーバヘッドを削減 メインホストにまだ空きメモリがあればページアウ トも行わない サブホストへのメモリ転送のオーバヘッドを削減 メインホストの空きメモリ容量を管理してページアウトが必要かどうか判定 メインホスト サブホスト ページイン メモリ メモリ 2 1 4 4 3 ページアウト 10

OSが解放したメモリの考慮 OSが解放して使わなくなってもVMのメモリは使用 中のまま 一旦、使用中になると未使用状態には戻らない 定期的にOSのメモリ管理情報を調べ、使われて いないメモリを未使用状態に戻す 使用ビットマップの対応するビットを0にする VMへの物理メモリの割り当てを解除 物理メモリ割り当てを解除 という言葉を使いましょう VM内のOS 使用中 未使用 未使用 使用中 未使用 書き換え 1 1 1 使用ビットマップ:

実験 FCtransによる性能向上を調べた 比較対象 マイグレーション性能 リモートページング性能 従来の分割マイグレーションおよびリモートページング を行うシステム ホスト(2台) CPU: Intel Core i7-7700    : Intel Xeon CPU E3-1225 v5 メモリ: 8GB ネットワーク: ギガビットイーサネット OS: Linux 4.3 仮想化ソフトウェア: QEMU-KVM 2.11.2 VM 仮想CPU: 1 メモリ: 1GB OS: Linux 4.4

マイグレーション性能 分割マイグレーションにかかる時間を測定 VMを一時停止させる時間(ダウンタイム)を測定 FCtransにより71%高速化 ネットワーク転送量が71%削減されたため VMを一時停止させる時間(ダウンタイム)を測定 FCtransにより37%高速化 VMの停止中に転送されるメモリが減少したため 高速化の書き方

リモートページング性能 分割マイグレーション後のページイン回数を測定 FCtransでは合計ページイン回数を大幅に削減 分割マイグレーション直後 メモリを書き換えるプログラムを動かした場合 FCtransでは合計ページイン回数を大幅に削減 それぞれ従来システムと比較して99%と80%減少 マイグレーション直後はページイン 累積ではなく差をグラフに 通常時は差分 負荷はページインは起こらないはず 起動後はページングの回数がおおい 凡例がない 合計回数

関連研究 未使用メモリを考慮したマイグレーション [Li et al.'15] MDD [Zhang et al.'10] マイグレーション時に未使用メモリを転送しない 1対1マイグレーションが対象であり、未使用メモリの検出方 法も異なる MDD [Zhang et al.'10] マイグレーション時に内容が重複するメモリを転送しない 分割マイグレーションに適用するには移送先ホストを考慮す る必要 VSwapper [Amit et al.'14] VMのメモリとディスク間でのページングを最適化 いくつかの最適化はリモートページングにも適用可能 同じホストに送る場合でないと転送を省略できないということ 書き込みを検知すること まとめて OSの情報を取得することでオーバヘッドの削減可能 探索を分割して行う

まとめ 未使用メモリに着目して複数ホストにまたがるVM の高速化を実現するFCtransを提案 今後の課題 分割マイグレーション時に未使用メモリを転送しないよ うにすることで高速化 未使用メモリに対してリモートページングを行わないよ うに最適化 マイグレーション性能とリモートページング性能の大幅 な向上を確認 今後の課題 VM内のOSのメモリ管理情報を効率よく調べる手法の 検討 VMのメモリの大きさに比例して探索時間は長くなる