01_yamasaki

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.
