23
ネネネネネ VM ネネネネ ネネネネネネネネネネネネネネネネネネネ 九九九九九九 九九九九 九九九

ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

  • Upload
    arion

  • View
    138

  • Download
    0

Embed Size (px)

DESCRIPTION

ネストした VM を用いた 仮想化システムの高速なソフトウェア若化. 九州工業大学 大庭裕貴 光来健一. 仮想化 システム. 仮想 マシン (VM ) を用いて計算機を一台に集約 計算機の高性能化により余剰リソースが発生 メモリ や CPU が余る よう になってきた 集約すること で 利用効率 が 向上 し、コストも削減 物理マシンが 減り、コストの削減につながる VM 上でユーザにサービスを提供. ホスト. VM として 一台に集約. VM. VM. VM. VM. VM. ハイパーバイザ. ソフトウェア・エージング. - PowerPoint PPT Presentation

Citation preview

Page 1: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

ネストした VMを用いた仮想化システムの高速なソフトウェア若化

九州工業大学

大庭裕貴 光来健一

Page 2: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

仮想化システム

仮想マシン (VM)を用いて計算機を一台に集約計算機の高性能化により余剰リソースが発生

メモリや CPUが余るようになってきた集約することで利用効率が向上し、コストも削減

物理マシンが減り、コストの削減につながるVM上でユーザにサービスを提供

2

VM VM VM VM VM

ハイパーバイザ

ホスト

VMとして一台に集約

Page 3: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

3

ソフトウェア エージング・動作中のソフトウェアの状態が劣化していく現象

VMに対して操作を繰り返す内に空きメモリやディスク空き容量が減少メモリの解放し忘れ、オープンしたファイルの閉じ忘れ

仮想化システムの性能が低下最悪の場合、想定外のシステムダウンをまねく

Source: Machida et al., Combined Server Rejuvenation in a Virtualized Data Center, Proc. ATC 2012.

Page 4: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

ソフトウェア若化

ソフトウェアの状態を正常な状態へ戻す手法ソフトウェア エージングへの対処法・システムの再起動が最も単純な手法仮想化システムの場合ハイパーバイザの再起動が必要

ハイパーバイザ上で動作するすべての VMも再起動サービスを提供できないダウンタイムが発生

4

ホスト

ハイパーバイザ

VM VM VM VM VM

すべて再起動

再起動

Page 5: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

マイグレーションによるダウンタイム削減ソフトウェア若化前にすべての VMを移動

VMのマイグレーション機能を利用VMを動作させたまま別のホストに移動その際のダウンタイムは短い

移動元のハイパーバイザの再起動時に VMの再起動は不要

5

マイグレーション

ホスト 1

ハイパーバイザ

ホスト 2

ハイパーバイザ

VM VM VM VM

すべて移動

再起動

Page 6: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

マイグレーション中の性能低下

マイグレーションはシステムに大きな負荷をかけるネットワークを介して VMの大きなメモリイメージを転送

CPUやメモリ帯域を占有ネットワーク帯域を制限する方法もあるが…

システム全体の性能低下を抑えることはできるソフトウェア若化にかかる時間の増大

6

ハイパーバイザ

ホスト 1

ハイパーバイザ

ホスト 2メモリイメージ

VM VM VM VM VM VM VM VM VM VM

Page 7: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

提案: VMBeam高速なソフトウェア若化のために低負荷で高速なマイグレーションを可能にするシステム同一ホスト上に二つの仮想化システムを構築その仮想化システム間で VMをマイグレーション同一ホスト上にあることを利用して高速化

7

ハイパーバイザ

仮想化システム 1

ハイパーバイザ

仮想化システム 2マイグレーション

VM VM VM

エージング

Page 8: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

ネストした VMの活用同一ホスト上に二つの仮想化システムを構築

VMの中で仮想化システムを動作させるゲスト ハイパーバイザがソフトウェア若化の対象・

VMに対して様々な操作を行うため、エージングがより起こりやすい

8

ゲスト ハイパーバイザ・

ゲストVM

ゲストVM

ゲストVM

ホスト ハイパーバイザ・ゲスト ハイパーバイザ・

ゲストVM

ゲストVM

ゲストVM

ホスト VM1 ホスト VM2

Page 9: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

9ホスト ハイパーバイザ・

ネストした VMにおけるマイグレーション仮想ネットワークを介してメモリイメージを転送

これだけでも高速化されそうだが…ネットワーク仮想化によるオーバヘッドが大きい移動元と移動先の処理を同一ホスト上で行う必要がある

ネットワーク仮想化による負荷が 2倍

仮想ネットワーク

ゲスト VMメモリ

ゲスト VMメモリ

ホスト VM1 ホスト VM2

ゲスト・ハイパーバイザ仮想NIC

仮想NIC

ゲスト・ハイパーバイザ

メモリ

Page 10: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

10

VMBeamの高速なマイグレーションVMのメモリイメージの転送を高速化した二つのマイグレーション機構を提供コピー マイグレーション・スワップ マイグレーション・

VMのメモリイメージの転送を高速化ネットワーク仮想化のオーバヘッドを削減

Page 11: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

11

コピー マイグレーション・VM間メモリコピーを用いたマイグレーション

移動元のゲスト VMから移動先に直接メモリをコピー仮想ネットワークによるデータ転送を高速化

データ転送の際に仮想 NICを経由しないライブマイグレーションも可能

ホスト ハイパーバイザ・

ゲスト VMメモリ

ゲスト VMメモリ

ホスト VM1 ホスト VM2

ゲスト・ハイパーバイザ ゲスト・ハイパーバイザ

メモリ

Page 12: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

12

スワップ マイグレーション・ (1/2)VM間メモリスワップを用いたマイグレーション

移動元と移動先のゲスト VMのメモリを入れ替え移動先に空のゲスト VMを用意VM間メモリスワップの後で移動元の VMは破棄

仮想ネットワークによるメモリイメージ転送と同等の効果

ホスト ハイパーバイザ・

ゲスト VM ゲスト VMホスト VM1 ホスト VM2

ゲスト・ハイパーバイザゲスト・ハイパーバイザ

メモリ

メモリ

Page 13: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

13

スワップ マイグレーション・ (2/2)利点

ゲスト VMのメモリのコピーが必要ないマイグレーション時にゲスト VMの 2倍のメモリを使用しないようにすることが可能移動先のゲスト VMに実メモリを割り当てず、存在しないメモリとスワップ

欠点ライブマイグレーションは難しい

一部でもメモリをスワップすると VMを動かすことができなくなる

Page 14: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

14

VM間メモリスワップの実装ホスト物理メモリとマシンメモリの対応を変更

ホスト・ハイパーバイザが持つ P2Mテーブルを書き換えるゲスト物理メモリとホスト物理メモリの対応はそのまま

ゲストVM

ゲストVM

マシンメモリ

ホスト物理メモリ

ゲスト物理メモリ

P2Mテーブル 1

P2Mテーブル 2ホスト・ハイパーバイザ

ゲスト・ハイパーバイザ ゲスト・ハイパーバイザ

ホスト VM1 ホスト VM2

Page 15: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

15

ホスト管理 VM上のメモリサーバがメモリを操作ゲスト管理 VMはゲスト VMのメモリ情報だけをメモリサーバに送信

メモリサーバはハイパーコールを発行してメモリをコピーまたはスワップ

ホスト管理 VMメモリ

サーバ

Xenにおける VMBeamの実装

ゲスト管理VM

ゲストVM

ホスト・ハイパーバイザハイパーコール

ゲスト管理VM

ゲストVM

メモリ

メモリ

メモリ

ホスト VM1 ホスト VM2

ゲスト・ハイパーバイザ

ゲスト・ハイパーバイザ

メモリ情報 2

メモリメモリ情報 1

Page 16: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

16

実験

ネストした VMの性能を測定UnixBench、仮想ネットワーク性能

マイグレーションの性能を測定マイグレーション時間、 CPU負荷、ダウンタイム

比較対象VMBeam (Xen 4.2)

コピー マイグレーション、スワップ マイグレーション、・ ・仮想ネットワークを用いた標準マイグレーション

Xen-Blanket [Williams et al.'12]ネストした VMを用いない従来システム (Xen 4.2)

実験環境Intel Xeon E5-2665 (2.4Ghz)GbEth

ホスト /ゲスト ハイパーバイザ・ :Xen 4.2ホスト管理 VM カーネル :Linux-3.2.0ゲスト管理 VM カーネル :Linux-3.5.0

Page 17: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

17

UnixBenchゲスト VM上で UnixBenchを実行

従来システムの VM上での性能を 1としたVMBeam (Xen 4.2)では平均で 81%の性能低下仮想 EPTなどを用いると性能低下は 20% 程度という報告あり

Dhry

ston

e 2

usin

gre

gist

er v

aria

bles

Doub

le-P

reci

sion

Whe

tsto

ne

Exec

l Thr

ough

put

File

Cop

y10

24 b

ufsiz

e20

00 m

axbl

ocks

File

Cop

y25

6 bu

fsize

50

0 m

axbl

ocks

File

Cop

y40

96 b

ufsiz

e80

00 m

axbl

ocks

Pipe

Thr

ough

put

Pipe

-bas

edCo

ntex

t Swi

tchi

ng

Proc

ess C

reat

ion

Shel

l Scr

ipts

1 co

ncur

rent

Shel

l Scr

ipts

8 co

ncur

rent

Syst

em C

all

Over

head

00.20.40.60.8

11.2 VMBeam Xen-Blanket

相対性能

Page 18: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

18

仮想ネットワーク性能

ゲスト管理 VM間で iperfを用いてスループットを測定従来システムでは管理 VM間で測定VMBeamは従来システムの 23%の性能Xen-Blanketは従来システムの 10倍の性能

ブランケットハイパーコール

ゲスト管理 VMブランケット

フロントエンド ドライ・バ

ホスト VM

スループット [Mbps]従来システム 934

VMBeam 218Xen-Blanket 1.0x104

ホスト管理 VM

デバイスドライバ

ホスト・ハイパーバイザ

Page 19: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

19

マイグレーション時間

様々なメモリサイズの VMをマイグレーションVMBeamではメモリサイズにあまり比例しない

コピーとスワップで差はほとんどない

標準マイグレーションより最大 80%高速

従来システムより最大 40%高速

Xen-Blanketより-90% ~ 40%高速

0 128 256 384 512 640 7680

10

20

30

40

50

60

70

80 VMBeam(コピー )VMBeam(スワップ )標準従来システムXen-Blanket

メモリサイズ [MB]

時間

[s]

Page 20: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

20

CPU負荷マイグレーション中の CPU負荷を測定

標準マイグレーションより 50%低負荷従来システムと同程度の負荷

従来システムは移動元ホストで測定Xen-Blanketより 60%低負荷

1 5 9 13 17 210

100200300400500VMBeam(コピー ) VMBeam(スワップ ) 標準 従来システム Xen-Blanket

経過時間 [s]

CPU使用率

[%]

Page 21: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

21

ダウンタイム

マイグレーション中の VMのダウンタイムを測定VMBeamでは最大で 9 秒程度のダウンタイムが発生

メモリのコピーやスワップ以外の仮想ネットワークを使う処理に時間がかかっている

0 128 256 384 512 640 7680.00.20.40.60.81.01.21.4

VM間コピー VM間スワップ

メモリサイズ [MB]

時間

[s]

0 128 256 384 512 640 76802468

10

VMBeam(コピー ) VMBeam(スワップ )標準 従来システム

メモリサイズ [MB]

ダウンタイム

[s]

Page 22: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

22

関連研究

Warm-VM Reboot [Kourai et al. ‘07]ソフトウェア若化時に VMを高速にサスペンド レジューム・

ハイパーバイザの再起動時間はダウンタイムになるReHype [Le et al. ‘11]

ハイパーバイザのみを再起動管理 VMのソフトウェア若化時にはシステム全体を再起動

Xen-Blanket [Williams et al. ‘12]高速な仮想ネットワークを実現

PVゲストのみのサポートであり、コピー マイグレーショ・ンやスワップ マイグレーションを実装するのが困難・

Page 23: ネストした VM を用いた 仮想化システムの高速なソフトウェア若化

23

まとめ

低負荷で高速な VMマイグレーションを実現するVMBeamを提案VMをネストさせて二つの仮想化システムを構築コピー マイグレーションとスワップ マイグレーション・ ・を提供

今後の課題ゲスト VMのダウンタイムの削減

ホスト ハイパーバイザと直接通信することにより仮想・ネットワークの利用を回避

コピー マイグレーションにおけるライブマイグレー・ションへの対応