クラウドにおける仮想マシン構成の アプリケーション単位での最適化
-
Upload
wesley-wallace -
Category
Documents
-
view
41 -
download
4
description
Transcript of クラウドにおける仮想マシン構成の アプリケーション単位での最適化
クラウドにおける仮想マシン構成のアプリケーション単位での最適化
九州工業大学 情報工学部機械情報工学科
光来研究室10237036 三宮浩太
1
IaaS 型クラウドサービス• ユーザに仮想マシン (VM) を提供–ユーザは必要な時に必要なだけの VM を使う
ことができる– VM の台数 性能 使用時間に対して課金・ ・• 常に必要最小限の VM 構成に最適化することでコ
スト削減を行う
ユーザVMVMVMVMVMVMVM
ネットワークを
経由して利用
2
例 : Amazon EC2 VM1 台の料金 / 1 時
間
性能 料金m3.medium $0.113
m3.large $0.225m3.xlarge $0.450
m3.2xlarge $0.900
従来の VM 構成の最適化• VM のスケールアウト スケールイン・–負荷に応じて VM の数を増減– VM が既に 1 台だと VM の数を減らせない• VM の負荷が低くても最適化できない
3
スケールイン
スケールアウト
VM1
Application
VM2
Application
VM3
Application
VM1
Application
高負荷時 (m3.xlarge×3)$1.35/1 時間
低負荷時 (m3.xlarge×1)$0.45/1 時間
1 台の VM に対する最適化• VM のスケールアップ スケールダウン・–負荷に応じて VM の性能を変更–既に最低性能の VM だと性能を下げられない–性能切り替え時にダウンタイムが発生• アプリケーションを新しい VM に移動する必要
4
VM1CPU 3.75GB
Application
VM4CPU 15GB
Application
スケールダウン
スケールアップ
高負荷時( m3.xlarge)
$0.45/1 時間低負荷時 (m3.medium)
$0.113/1 時間
複数 VM にまたがる最適化• 複数アプリケーションを 1 台の VM に統
合– VM の数を柔軟に増減可能–アプリケーション移動時にダウンタイム発生–アプリケーション間の隔離が弱まる
5
統合
分離
VM1
Application1
VM2
Application2
VM3
Application3
VM1
Application1Application2
最適化前 (m3.medium×3)$0.339/1 時間
最適化後 (m3.medium×1)$0.113/1 時間
Application3
提案 : FlexCapsule
• アプリケーション単位での最適化を実現–アプリケーションを軽量な VM 内で動かす– VM のマイグレーション技術を用いて移動• 無停止での移動でダウンタイムの発生を防ぐ
– VM 間の強い隔離を利用• アプリケーション間のセキュリティの低下を防ぐ
6クラウド
VM1
ApplicationVM
クラウド VM2
ApplicationVM1マイグレーション
Application1 Application1
ApplicationVM2
Application1
ハイパーバイザ1 ハイパーバイザ 2
アプリケーション VM
• 1 つのアプリケーションを動作させるVM–軽量なライブラリ OS をリンク• アプリケーションに OS の機能を提供
– C 言語で書かれたアプリケーションが動作–マイグレーションのサポート
7
Application
アプリケーションVM
FlexCapsule OS
Network Console ・・・Timer
クラウド VM2
VM マイグレーションの流れ(1)• アプリケーション VM のメモリを転送–移動先にコピーを作成
• 移動元のアプリケーション VM を休止– FlexCapsule OS は各機能を休止状態にする• タイマー、ネットワーク・・・
8クラウド VM1
ApplicationVM
ApplicationVM
メモリApplication Application
ハイパーバイザ 1 ハイパーバイザ 2
FlexCapsule OS FlexCapsule OS
OS 機能
休止中
OS 機能
休止中
VM 全体
休止中
VM 全体
休止中
VM マイグレーションの流れ (2)
• 移動先でアプリケーション VM を復元– FlexCapsule OS が休止状態の各機能を復帰• タイマー、ネットワーク…
–移動先のクラウド VM の環境に合わせて再構築• CPU の情報、メモリ管理テーブル
9クラウド VM2クラウド VM1
ApplicationVM
ApplicationVM
Application Application
ハイパーバイザ 1 ハイパーバイザ 2
FlexCapsule OS FlexCapsule OS
OS 機能
休止中
VM 全体
休止中
OS 機能
休止中
VM 全体
休止中
アプリケーション VM の管理• 従来の OS のプロセスのように管理でき
る実行環境を提供–起動 停止 情報取得などをプロセスと同様に・ ・
行うことができる
10
OS
プロセス
プロセス
ハイパーバイザ
ApplicationVM
ApplicationVM
ps コマンド
xl list コマンド
ps コマンド
例 : プロセス一覧・情報の取得
実験• FlexCapsule を Xen を用いて実装し、ア
プリケーション VM をマイグレーション–マイグレーションにかかる時間、ダウンタイ
ムの計測–クラウド VM のスケールダウンによるアプリ
ケーション VM の性能変化
11
CPU Intel Xeon 3.70GHz×8
メモリ 8GB
ハイパーバイザ Xen 4.2.2
クラウド VM の管理 VM Linux 3.5.0
アプリケーション VM の管理VM
Linux 3.8.02 vCPUメモリ 1GB
実験 : マイグレーション性能• マイグレーション時間とダウンタイムを
測定–マイグレーション時間はメモリサイズに比例–ダウンタイムは常に 0.2 秒程度• メモリサイズの影響は受けない
12
0 32 64 96 12802468
1012141618
マイグレーション時間ダウンタイム
メモリサイズ (MB)
時間
(s)
• クラウド VM のスケールダウンによるアプリケーション VM の性能の変化を測定–クラウド VM2 は CPU 性能を 70 %に制限–アプリケーション VM での計算処理時間を計
測–性能が 64% に低下
スケールダウン
実験 : クラウド VM の性能変更
13
アプリケーションVM
処理時間
17.1 秒
アプリケーションVM
処理時間
26.4 秒
クラウド VM2(CPU70%)クラウド VM1(CPU100%)
関連研究• GUK [Jordan et al. ’09]– Mini-OS 上で Java アプリケーションを動かす– 休止・復帰に対応
• Zap [Osman et al. ’02]– OS レベルの仮想化でアプリケーションをマイグ
レーション– アプリケーション間の隔離は弱い
• GMO クラウド Public– VM を停止させることなくスケールダウンが可能– 無停止でのアプリケーションの統合はできない
14
まとめ• アプリケーション単位での VM 構成の最
適化を実現する FlexCapsule を提案–アプリケーションを軽量 VM 内で動作• VM のマイグレーション技術を利用可能• VM 間の強い隔離
–アプリケーション VM の実行環境を提供• 今後の課題–様々なアプリケーションの移植–より高機能な実行環境の提供
15