Grid Computing 11/05 学籍番号07M37275 山崎翔平 取り扱う論文 High Performance Virtual Machine Migration with RDMA over Modern Interconnects Conference: Cluster 2007 Authors: Wei Huang etc. Organizations Computer Science and Engineering The Ohio State University IBM T. J. Watson Research Center Live Migration of Virtual Machines Conference: NSDI'05 Authors: Christopher Clark etc. Organizations University of Cambridge Computer Laboratory University of Copenhagen, Denmark 背景: Virtual Machineによるマイグレーション VMマイグレーション ある物理マシン上のVMを別の物理マシン上へ移動すること VMマイグレーション データセンタ、クラスタにおける有用な管理機能 オンラインシステム管理 ロードバランス Proactive fault tolerance 実運用性のためには以下の2点が必要 マイグレーション時間の削減 VM上のアプリケーションパフォーマンスへのインパクト削減 背景: Infinibandによる高いパフォーマンスと Remote Direct Memory Access (RDMA) Infinibandとは 非常に高い信頼性・可用性・保守性を持つ基幹系・HPC系の サーバ・クラスタ用高速I/Oアーキテクチャおよびインターコネ クトのこと TCP/IP、Ethernetとの比較した主な特徴 高帯域、低レイテンシ トランスポートレイヤまでをハードウェアでサポート OSの介入が少なくソフトウェアオーバヘッドが少ない RDMA通信によるCPU通信処理負荷を減少 RDMAは、リモートのマシンのメモリをCPUの介入なしに実現する技術 問題点: 従来のマイグレーション実装 SocketインターフェースとTCP/IPプロトコル による転送 高いプロトコルオーバヘッド write による同期命令 CPUの負荷が高い Read, 提案 InfiniBandのRDMA機能を用いた高いパフォーマ ンスを持つVMマイグレーション ハイパフォーマンスインターコネクト(InfiniBand)と RDMAによる高いスループットの実現 低いソフトウェアオーバーヘッド ⇒マイグレーション時間の削減 RDMA上のデータ通信によりCPUへの影響小 ⇒ アプリケーションパフォーマンスへの影響小 研究の目的と成果 目的 RDMA機能を用いて、マイグレーション時間を短縮し、V M上の他のアプリケーションに与える影響の少ないVMマ イグレーションの実現 成果 XenとInfiniBandの組み合わせによるプロトタイプ実装 効率良いマイグレーションプロトコル設計 CPUを介入しない高速なマイグレーションの実現 複数物理メモリページの同時転送 ネットワークQoSの保証 従来の手法に比べて 最大80%のトータルマイグレーション時間の短縮 最大77%のアプリケーションダウン時間の短縮 etc. Virtual Machine Monitor Xenについて Xenの構成 最も下位にあるXen hypervisor (VMM)が直接ハードウェアをアクセス Domain 0(特権のあるVM) ブート時から起動 デバイスマネージャ Xen自体はデバイスドライバを持たず、物理デバイス制御を担当 他のVMの起動、シャットダウン、マイグレーション (helper process) Xenにおけるアドレスの仮想化 ゲストVMはXenが提供する仮想的なアドレス空間上で動作 VMはすぐ下にハードウェアがあると錯覚 ⇒(擬似)物理アドレス Xenが管理する本当の物理アドレスをマシンアドレスと呼ぶ (Xen独自の用語) VMではマシンアドレスを意識したページテーブルを持つ Page Application Page table 仮想アドレス Application ゲストVM 仮想アドレス (擬似)物理アドレス 通常OS Xen hypervisor 物理アドレス マシンアドレス Hard Ware Hard Ware 通常OS Xen table Xenのマイグレーション機能 Dom0 DomU Migration helper 全てのメモリページ はhelper process のアドレス空間に マッピングされる Dom0 Migration helper VMM TCP/IPソケットを通じ てMigration helperの アドレス空間に転送 DomU VMM マイグレーション成功 共有ストレージ DomU内の2種類のメモリーページ データを示すページ(変更の必要なし) DomUのページテーブル(変換の必要あり) ⇒転送前に(マシン)依存アドレスを非依存アドレスに変換 ⇒転送後に非依存アドレスを依存アドレスに逆変換 Xenのlive migration 実行中の仮想マシンを別のホストに、無停止で移動 させる技術 DomUの起動中に全てのメモリページをマイグレーション先に転送 以下のどちらかを 満たす時に遷移 前回の転送後で書き変えられた メモリページを転送 1. Dirty rateがページ 転送率を上回る 2. 反復回数が閾値を 上回る 繰り返し 元のVMをシャットダウン、VMの 全てのメモリページを転送 ダウンタイム 転送先でメモリページが揃った時点でVMを起動 InfiniBandにおけるRDMA RDMA semantics メモリバッファの登録 RDMA read RDMA write ターゲット側では、あらかじめメモリバッファを登録し、そのkeyを initiatorに送信しておく (ユーザプロセス空間のDMAアドレスの取得) Initiatorの物理メモリページ非連続性のサポート RDMA read with scatter RDMA write with gather 物理メモリ 1 RDMA read with scatter 物理メモリ 物理メモリ 物理メモリ RDMA write with gather 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 RDMAを活かすための実装上の論点 効率良いマイグレーションプロトコル 2種類のメモリページに対応した処理 RDMAオペレーションにおける負荷の偏りの考慮 InfiniBandにおけるメモリ登録 複数物理メモリページの同時転送 従来のXen live migration: メモリ1ページごとの 転送 ネットワークQoS 他のアプリケーションとの最適なネットワーク共有 RDMAベースマイグレーションプロトコル 各メモリデータの種類ごとの処理 通常データ Page table page RDMAオペレーション 送信先ホストが受信を認識する必要 があるため(同期通信) マシン非依存アドレス(pfn)変換、send/receiveオペレーション サーバのワークロードに応じた動的プロトコル選択 Initiatorが常に負荷大 InfiniBandにおけるメモリ登録 Page table page アドレス変換(mfn→pfn)後、予約済みバッファ領域にコピー (send) 転送先ホストでは、readしたあとアドレス逆変換 新しいページテーブルの作成 Normal page 物理アドレスさえ知って いればユーザ空間のメ メモリ登録はCPU負荷をかけるので避けたい モリの値が変えられる? InfiniBandではカーネル空間内の物理アドレスを使った直接 相当危険なのでは?? データ転送をサポート ユーザレベルプロセス(migration helperプロセス) でも使えるようにInfiniBandドライバを拡張 ⇒メモリ登録する必要なし 複数物理メモリページの同時転送 従来のマイグレーション 各VMごとにXenが 管理する mfnとpfnの対応表 Xen live migrationにおけるページ転送 1メモリページの転送が基本 転送率を上げる余地あり 最もdirty rateが低いものを選択 粒度が小さいので最適なものを選べる 複数物理メモリページの同時転送 提案手法:Page Clustering RDMA read with Scatter RDMA write with Gather 目的 どのようにグループ 複数ページ転送することによるバンド幅向上 Page が決定する? dirty率の予測順序を正確に反映 プログラムでは何を指定 する必要がある? 手順(RDMA read) マッピングテーブルをmfnの順番に再構成 再構成したテーブルをいくつかのグループに分割 Network QoS 目的 高いスループットを目指しながら、ネットワーク輻輳を最 小限にとどめること 上限となる転送率でページ転送を開始 繰り返し 数ページ転送するごとに バンド幅の理論値(T)と実測値(A)を比較 A <= T×0.8 下限となる転送率に設定される T×0.8 < A 前回のpage dirty率分だけ 転送率を上げる 実験評価 評価対象 マイグレーションの基本的なパフォーマンス VM上のアプリケーションに与える影響 Network QoS 諸注意 総マイグレーション時間 ダウン時間 ネットワーク輻輳 TCP/IP関係の実験はIP over InfiniBand(IPoIB)で行う Network QoSの実験以外では転送率に制限をかけない 実験環境 CPU Dual Intel Xen 2.66GHz memory 2GB Network Mellanox MT23108 PCI-X InfiniBand HCA VMM Xen-3.0.3 Kernel Linux 2.6.16.29 Page Clustering手法の有効性 RDMA readは 最大27%の 時間短縮を実現 4KB周辺で、InfiniBandは RDMA writeの パフォーマンスを最適化 異なるメモリサイズに対する総マイグレーション時間の比較 1.Page clustering手法が総マイグレーション時間を短縮できている 2.RDMA readではRDMA Writeほど改善が見られない 総マイグレーション時間における RDMAオペレーションの優位性 RDMAオペレーションに より最大80%の 時間短縮を実現 InfiniBand RDMA writeオペレーションの 方がReadよりもバンド 幅が広いらしい 総マイグレーション時間におけるIPoIB, RDMAオペレーションの比較 1.RDMAオペレーションの方がマイグレーション時間において優位性がある 2.RDMA Writeの方がReadよりも若干性能が良い RDMAベースマイグレーションのスケーラビリティ 実験シナリオ 1つのホスト上の複数のVM(256MB)を同時にそれぞれ他のホストへ 物理ホストには2つCPUがある マイグレートさせる ⇒物理ホストの故障が予測されたときの対処 3台のVMマイグレーションでは ネットワークだけでなく CPUの負荷が増大 RDMAオペレーション のうち、readの方がこ のホストマシンに負荷 を与えないから Root-to-all マイグレーションにおける各オペレーションの比較 1.IPoIBではVMが3台になったときに性能が著しく低下 2.RDMA readが最もスケールする手法 RDMAベースによるダウンタイムの削減 仮定:ダウンタイムは以下の2つに依存する VM内で起動しているアプリケーション ネットワークバンド幅 実験シナリオ VM内にメモリ領域をとり、あるプログラムがその領域を更新し続ける ⇒liveマイグレーションにおいて最後の転送メモリサイズが変化 メモリ領域が増えるに従い、RDMAと IPoIBのダウンタイムの差が大きくなる RDMAではIPoBに比べて最大 77%のダウンタイム削減が実現 RDMAのバンド幅広いが要因 マイグレーションダウンタイムの比較 マイグレーションVM内のアプリケーションへの影響 実験のシナリオ SPEC CINT 2000ベンチマークをVM上で動かし、8回のマイグレーション後の 実行時間を計測 2CPUの時の実行時間 1CPUの時の実行時間 RDMAオペレーションによるマイグレーションでは、IPoIBに比べて 2CPUの時で平均54%、1CPUの時で平均70%のオーバヘッドを削減 IPoIBではCPUの輻輳のせいでオーバヘッドが発生 マイグレーションVM外のアプリケーションへの影響(1/2) 実験シナリオ ある物理マシンA内のVM上でSPEC CINTベンチマークを動かす マシンAに他のマシンBからVMをマイグレートし、そのVMを30秒後 に別のマシンCへマイグレートする RDMA Hybridとは マシンB→マシンA: RDMA write、マシンA→マシンC: RDMA read ⇒最もマシンAのCPUに負担をかけない選択 RDMAベースのマイグレーションは、 IPoIBと比較して平均64%のオーバ ヘッド削減を実現 CPUに負荷をかけない 提案手法による優位性 Non-migration VM内のアプリケーションに対する影響 マイグレーションVM外のアプリケーションへの影響(2/2) <RDMA Hybridと他との詳細比較> マシンAのDom0内の実行命令数、L2キャッシュミス 数、TLBミス数の比較 RDMA Hybridベースが、RDMA Readに比べて全体的に優位であることが分かる HPCアプリケーションにおけるマイグレーションの影響 実験シナリオ NAS Parallel Benchmarkによる実験 8,9個のプロセス(それぞれ別のVMを用意)から計算 各VMは異なる筐体上で起動 (mem 512MB) 実行中に1つのVMを別ホストにマイグレートする 平均79%削減 ベンチマーク総実行時間 1.RDMAベースによるマイグレーションにより、IPoIBで生じるオーバヘッド を大幅に削減できる 2.IPoIBでは低転送率、CPUの輻輳により長い総マイグレーション時間が発 生してしまう 各マイグレーション手法における バンド幅とCPU使用率の違い 有効なバンド幅とDom0のCPU使用率 1.IPoIBベースのマイグレーションではmigration helper processは最大 53%のCPU使用率があり、有効なバンド幅は最大49MB/s 2.RDMAベースのマイグレーションでは、最大14%のCPU使用率があり、 有効なバンド幅は最大225MB/s Network QoSにおける動的データ転送率変化 設定 2つの物理ホスト間のVMマイグレーション イメージ転送率 上限 300MB/s 下限 50MB/s 1GB VMマイグレーション開始 双方向データ 転送テスト開始 (650MB/s) Adaptive rate limit control 双方向データ 転送テスト終了 (650MB/s) Network QoSにおける動的データ転送率変化 設定 2つの物理ホスト間のVMマイグレーション イメージ転送率 上限 300MB/s 下限 50MB/s ネットワーク輻輳 がない場合 提案手法は、輻輳に応じて動的にデータ転送率を変化させる ことで、他のアプリケーションと効率良くネットワークを共有できる。 ネットワーク輻輳 がある場合 Adaptive rate limit control Related Work VM migration over MAN/WAN 地理的に離れたVMのマイグレーション 10Gb Ethernet-NIC UZURAのRDMA転送 によるVM migration RDMAを用いたファイルシステム、ストレージ TCP-offloadエンジンによるTCP processing overheadの削減 Dom0, まう U間のコンテクストスイッチが発生してし Conclusion XenとInfiniBandの組み合わせによるプロトタイプ実装 効率良いマイグレーションプロトコル設計 CPUを介入しない高速なマイグレーションの実現 複数物理メモリページの同時転送 ネットワークQoSの保証 従来の手法に比べて 最大80%のトータルマイグレーション時間の短縮 最大77%のアプリケーションダウン時間の短縮 etc.
© Copyright 2025 ExpyDoc