仮想メモリを用いた VMマイグレーションの高速化 九州工業大学 情報工学部 機械情報工学科 光来研究室 14237076 村岡裕二
大容量メモリを持つVM IaaS型クラウドの普及 大容量メモリを持つVMも提供 ユーザに仮想マシン(VM)を提供 自由度の高いシステムの構築が可能 大容量メモリを持つVMも提供 Amazon EC2では4TBのVM ビッグデータの解析などに利用 VM 4TB VM 16GB
VMマイグレーション VMは停止させずに別のホストに移動できる 移送先ホストに十分な空きメモリが必要 VMのすべてのメモリを転送 転送中に更新されたメモリを再送 VMを停止させて転送を完了し、移送先で再開 移送先ホストに十分な空きメモリが必要 このようなホストを確保しておくのは高コスト 移送元ホスト 移送先ホスト VM本体 VM本体 メモリ マイグレーション 1 1 2 2 3 3 3 4 4 5 5 空き メモリ 更新メモリ
仮想メモリを用いた マイグレーション 仮想メモリを用いて必要なメモリ容量を確保 必要に応じてページングを行う 物理メモリに入り切らないデータはディスクに格納 物理メモリ容量以上のデータを扱うことが可能 必要に応じてページングを行う ページイン:ディスクのデータを物理メモリへ ページアウト:物理メモリのデータをディスクへ 移送元ホスト VM本体 移送先ホスト 物理 メモリ ページイン マイグレーション ディスク メモリ 1 2 3 4 5 ページアウト
仮想メモリを用いる問題点 マイグレーションとの相性が悪い VMのメモリ転送中に大量のページアウトが発生 VMのメモリ再送時にページインが発生 物理メモリに格納されたデータが後で追い出される VMのメモリ再送時にページインが発生 更新は物理メモリ上でしか行えない VM再開時にページインが発生 仮想化ソフトウェアのメモリが必要になる 移送元ホスト VM本体 移送先ホスト マイグレーション 物理メモリ メモリ ディスク 3 4 4 5 1 1 2 2 3 4 4 5 更新メモリ 仮想化ソフトウェアのメモリ 更新されるメモリ
提案:VMemDirect 仮想メモリとの連携によりVMマイグレーショ ンを高速化 VMのメモリを格納先に直接転送 メモリアクセス履歴に基づいて格納先を決定 VM専用の仮想メモリを提供 マイグレーション中のページングを抑制 移送先ホスト 移送元ホスト VM本体 メモリ マイグレーション 物理メモリ ディスク
VMのメモリの直接転送 VMのメモリを移送先ホストの物理メモリまた はディスクに直接格納 ページングのオーバヘッドを削減 移送元ホストでメモリの格納先を決定 格納先を指定する情報を付与してメモリを転送 ページングのオーバヘッドを削減 物理メモリとディスク間でのデータ転送が不要 移送元ホスト VM本体 移送先ホスト マイグレーション 物理メモリ メモリ ディスク 1 2 3 4 5
履歴に基づく格納先の決定 メモリアクセス履歴に基づいて格納先を決定 ディスクアクセスを削減 アクセスされそうなデータから順に物理メモリへ 残りのデータはディスクへ ディスクアクセスを削減 メモリ再送時に更新されるデータが物理メモリにあ る可能性が高くなる 移送元ホスト 移送先ホスト アクセス 履歴 VM本体 マイグレーション 物理メモリ ディスク 1 2 3 4 4 5 アクセスされそうな メモリデータ 残りのメモリデータ 8
VM専用の仮想メモリ VMごとにディスクにスワップファイルを作成 仮想化ソフトウェアのページングを防止 データを持たないブロックはディスクを消費しない 仮想化ソフトウェアのページングを防止 VMのメモリだけをページングの対象にする VM本体 ページング ディスク 1 2 4 3 5 仮想化ソフトウェアのメモリ VMのメモリ スワップファイル
VMemDirectでのページング 存在しないメモリ領域へのアクセスを検出 同時に、使われていないメモリを選択 スワップファイルのブロックを読み込み、削除 VMのメモリ領域にそのデータを書き込み 同時に、使われていないメモリを選択 スワップファイルのブロックにデータを書き込み VMのメモリ領域を削除 VM本体 ページイン ディスク 1 2 4 3 5 VMのメモリ スワップファイル ページアウト
実験 VMのマイグレーション性能を測定 従来の仮想メモリを用いた場合と比較 ディスクとしてHDD、SSD、NVMe SSDを使用 ホスト ディスク CPU: Intel Xeon E3-1226 v3 メモリ:8GB ネットワーク:ギガビットイーサネット OS: Linux 4.11 仮想化ソフトウェア:QEMU-KVM 2.4.1 VM: メモリ2GB HDD: WD5000AAKX SSD: Crucial MX300 NVMe: Samsung NVMe SSD 960 EVO
マイグレーション時間 VMのマイグレーションにかかる時間を測定 HDDを用いた場合、従来手法と比べて38%の短縮 ページングを抑制した効果 SSD、NVMeを用いた場合、従来手法と同程度 ネットワーク性能がボトルネックになり、ページン グのオーバヘッドを隠蔽
ダウンタイム マイグレーションの最終段階でVMが停止する 時間を測定 従来手法と比べて42〜97%短縮 VMemDirectではディスクの違いによる差が小さい ページングによるディスクアクセスの削減の効果 13 13
関連研究 S-memV [Suetake et al.'16] Agileライブマイグレーション [Deshpande et al.'16] VMを分割して複数ホストにマイグレーション ネットワーク経由のページングにより性能低下 Agileライブマイグレーション [Deshpande et al.'16] ネットワーク上にあるVM専用のスワップ領域を利 用した高速マイグレーション ページングのオーバヘッドが大きい Infiniswap [Gu et al.’17] 高速ネットワークを利用したページング 高価なInfinibandが必要
まとめ 大容量メモリを持つVMのマイグレーションを高 速化するVMemDirectを提案 今後の課題 VMのメモリを格納先に直接転送 マイグレーション性能の向上を確認 今後の課題 メモリアクセス履歴の取得の実装 ページアウトの実装