Download presentation
Presentation is loading. Please wait.
1
仮想計算機を用いたサーバ統合に おける高速なリブートリカバリ
光来健一 千葉滋 東京工業大学
2
VM を用いたサーバ統合 サーバ統合が行われてきている 仮想計算機(VM)の利用が現実的に VM を用いる利点
仮想化のハードウェアサポートによる性能向上 Intel VT, AMD Pacifia 4 GB 超の物理メモリサポートによるメモリ不足の解消 PAE, AMD64, EM64T, IA-64 VM を用いる利点 サーバを安全に分離できる 従来の OS が利用できる 管理が容易になる サーバ サーバ VM 統合サーバ
3
リブートリカバリの重要性 VMM や VM(OS)の再起動は避けられない リブートリカバリを速くすべき アップデート
予防保守(Rejuvenation) クラッシュ リブートリカバリを速くすべき 再起動後になるべく速く元の サービス品質に戻す 再起動の影響を最小化する VM VM VM 仮想計算機モニタ (VMM) ハードウェア
4
VMM の従来のリブートリカバリ 全ての VM を起動し直すのに時間がかかる VM のサスペンド・レジューム? OS の起動、サービスの起動
ディスクを読み書きする必要 VM のメモリサイズが増大 VM VMM
5
VM の従来のリブートリカバリ 十分にファイルキャッシュに載るまで ファイルシステムの性能が低下 OS 起動時にファイル先読み?
キャッシュミスによりディスク アクセスが増加 OS 起動時にファイル先読み? 起動時のディスクアクセスと競合 キャッシュに使えるメモリが増大 VM OS キャッシュ VMM
6
提案:高速なリブートリカバリ 高速化手法 提供する機構 再起動前のメモリの内容を再起動後に再利用 できるようにする
VMM のための Warm-VM Reboot “Suspend To RAM” を VM に対して実現 ノート PC のサスペンド・レジューム VM のための Warm-cache Reboot ファイルキャッシュを残す OS の部分再起動
7
Warm-VM Reboot VMM の再起動後に VM を高速に再開 VM を高速にサスペンド
メモリイメージをそのまま凍結 ディスクに保存しない VMM の再起動中に VM の メモリイメージを保持 BIOS のクイックブート機能を利用 計算機の再起動中にメモリの内容を 保持できる VM を高速にレジューム メモリイメージの凍結を解除 VM VMM VM メモリ イメージ
8
Warm-cache Reboot VM の再起動後に OS のキャッシュミスを 軽減
ファイルキャッシュに使われて いるメモリを予約する ファイルアクセス時に再起動前の キャッシュが見つかれば再利用 VM OS キャッシュ VMM VM メモリ
9
実装 Xen 3.0.0、Linux 2.6.12.6 に実装 キャッシュマッピング テーブル ファイル情報→ キャッシュページ
キャッシュページ ドメイン 0 ドメイン U 疑似物理メモリ 仮想的に連続した メモリに見せる カーネル イベント 1 5 ... 4 2 3 P2M マッピング テーブル 疑似物理メモリ→ マシンメモリ ハイパーコール Xen 1 2 3 4 5 マシンメモリ ...
10
Warm-VM Reboot の実装(1/2) ドメインをサスペンド Xen からサスペンド イベントを送信 ドメインの状態をメモリに保存
ドメイン U ドメインをサスペンド Xen からサスペンド イベントを送信 ドメインの状態をメモリに保存 レジスタ イベントチャンネル ドメインのメモリを予約 サスペンド 処理 カーネル ... 4 2 3 サスペンド ハイパーコール サスペンド イベント Xen ドメインの 状態を保存 予約 ... 1 2 3 4 5 マシンメモリ
11
Warm-VM Reboot の実装(2/2) Xen を再起動 ドメインをレジューム CPU キャッシュを フラッシュ
メモリに書き戻す クイックブートにより メモリの内容を保持 ドメインをレジューム ドメインに同じメモリを再割り当て ドメイン U レジューム 処理 カーネル 再割り当て 4 2 3 ... ハイパーコール からの復帰 Xen ドメインの 状態を復元 ... 1 2 3 4 5 マシンメモリ
12
Warm-cache Reboot の実装 キャッシュマッピングテーブル キャッシュに読み込まれた時にエントリを追加
ドメイン U キャッシュマッピングテーブル キャッシュに読み込まれた時にエントリを追加 キャッシュが破棄された時に エントリを削除 カーネル 仮想 ディスク ... 4 2 3 Xen ... 1 2 3 4 5 マシンメモリ
13
Warm-cache Reboot の実装 キャッシュマッピングテーブル ドメインの再起動時
ドメイン U キャッシュマッピングテーブル ファイルキャッシュに読み込まれた時にエントリを追加 ファイルキャッシュが破棄された時にエントリを削除 ドメインの再起動時 ドメインに同じメモリを 再割り当て キャッシュマッピングテーブル を復元 ファイルキャッシュを再利用 カーネル 仮想 ディスク 4 2 3 ... Xen ... 1 2 3 4 5 再割り当て マシンメモリ
14
実験:Warm-VM Reboot 測定内容 比較対象 VM のサスペンド / レジュームにかかる時間
VM のメモリサイズと VM の数の影響を測定 VMM の再起動時のサーバ処理性能の推移 httperf で Apache にリクエストを送り続けた 比較対象 Xen サスペンド / レジューム シャットダウン / 起動 サーバ Pentium GHz PC3200 DDR SDRAM 2 GB SATA HDD 160 GB GbE NIC クライアント メモリ 1 GB, GbE NIC
15
VM のメモリサイズの影響 Warm-VM Reboot サスペンド / レジューム Xen サスペンド / レジューム
メモリサイズ非依存 0.6 秒 / 0.6 秒 Xen サスペンド / レジューム メモリサイズに比例 28 秒 / 20 秒 (1 GB 時) シャットダウン / 起動 12 秒 / 11 秒 起動するサービスに依存 サスペンド レジューム
16
VM 数の影響 Warm-VM Reboot サスペンド / レジューム Xen サスペンド / レジューム シャットダウン / 起動
2.3 秒 / 2.0 秒 (6 VMs) Xen サスペンド / レジューム 45 秒 / 37 秒 (6 VMs) シャットダウン / 起動 25 秒 / 56 秒 (6 VMs) 起動するサービスに依存 サスペンド レジューム VM メモリサイズ:256 MB
17
サービスのダウンタイム Warm-VM Reboot Xen サスペンド / レジューム シャットダウン / 起動 40 秒 104 秒
ドメイン 0 のシャットダウン中に ドメイン U が動作できる Warm-VM Reboot 40 秒 Xen サスペンド / レジューム 104 秒 シャットダウン / 起動 78 秒 Warm-VM Reboot ドメイン U の終了・開始処理に 時間がかかる Xen サスペンド / レジューム シャットダウン / 起動 VM メモリサイズ:1 GB
18
実験:Warm-cache Reboot 測定内容 VM 再起動の前後のファイル読み込み性能 VM 再起動の前後のウェブサーバの処理性能
再起動前に2回、再起動後に2回測定 VM 再起動の前後のウェブサーバの処理性能 httperf で Apache にリクエストを送信 VM 再起動時のサーバ処理性能の推移 httperf で Apache にリクエストを送り続けた VM メモリサイズ:1 GB
19
VM 再起動前後の性能 Warm-cache Reboot 再起動後1回目の性能が向上 再起動後1回目の性能は2回目より低い
ファイル読み込み 15 倍 ウェブサーバ 3 倍 再起動後1回目の性能は2回目より低い ファイル読み込み 64 % ウェブサーバ 92 % ファイルキャッシュ以外のキャッシュミスが原因 ファイル ウェブ 起動後 再起動後
20
VM 再起動時のサーバ性能の推移 Warm-cache Reboot 従来の再起動 先読み 再起動後 20 秒は 6 % 性能低下
再起動後 33 秒は 44 % 性能低下 先読み 先読み処理がウェブサーバの処理を阻害 Warm-cache Reboot 従来 先読み
21
関連研究 Recovery Box [Baker et al.’92] Rio ファイルキャッシュ [Chen et al.’96]
アプリケーションの状態を再起動後に復元 アプリケーションに依存 Rio ファイルキャッシュ [Chen et al.’96] 再起動時にダーティキャッシュを書き戻す キャッシュは再起動によって失われる Live Migration [Clark et al.’05] VM をほとんど停止させずに他のホストに移動 移動に時間がかかる
22
まとめ 高速なリブートリカバリを提案 Warm-VM Reboot Warm-cache Reboot
VMM の再起動後に VM を高速にレジューム 再起動によるダウンタイムを約半分に Warm-cache Reboot VM の再起動後にファイルキャッシュを再利用 再起動直後のサーバ性能の低下を 6 % に
23
今後の課題 再起動後に再利用するメモリの保護 x86_64 アーキテクチャへの実装 より現実的なワークロードでの実験
クラッシュ時に破壊されないようにする 実装はほぼ完了 x86_64 アーキテクチャへの実装 より多くのメモリが搭載できる 実装は途中まで完了 より現実的なワークロードでの実験 今回は最も効果的な実験を行った
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.