クラウドにおける仮想マシン構成の アプリケーション単位での最適化

15
クククククククククククククククク ククククククククククククククク 九九九九九九 九九九九九 九九九九九九九 九九九九九 10237036 九九九九 1

description

クラウドにおける仮想マシン構成の アプリケーション単位での最適化. 九州工業大学 情報工学部 機械 情報工学科 光来研究室 10237036 三宮浩太. IaaS 型クラウドサービス. ユーザに 仮想マシン (VM) を 提供 ユーザは必要な時に必要なだけの VM を使うことが できる VM の台数・性能・使用時間に対して課金 常に必要最小限の VM 構成に最適化することでコスト削減を行う. ユーザ. VM. VM. VM. ネットワークを 経由して利用. VM. VM. VM. VM. 従来の VM 構成の最適化. - PowerPoint PPT Presentation

Transcript of クラウドにおける仮想マシン構成の アプリケーション単位での最適化

Page 1: クラウドにおける仮想マシン構成の アプリケーション単位での最適化

クラウドにおける仮想マシン構成のアプリケーション単位での最適化

九州工業大学 情報工学部機械情報工学科

光来研究室10237036 三宮浩太

1

Page 2: クラウドにおける仮想マシン構成の アプリケーション単位での最適化

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

Page 3: クラウドにおける仮想マシン構成の アプリケーション単位での最適化

従来の 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 時間

Page 4: クラウドにおける仮想マシン構成の アプリケーション単位での最適化

1 台の VM に対する最適化• VM のスケールアップ スケールダウン・–負荷に応じて VM の性能を変更–既に最低性能の VM だと性能を下げられない–性能切り替え時にダウンタイムが発生• アプリケーションを新しい VM に移動する必要

4

VM1CPU 3.75GB

Application

VM4CPU 15GB

Application

スケールダウン

スケールアップ

高負荷時( m3.xlarge)

$0.45/1 時間低負荷時 (m3.medium)

$0.113/1 時間

Page 5: クラウドにおける仮想マシン構成の アプリケーション単位での最適化

複数 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

Page 6: クラウドにおける仮想マシン構成の アプリケーション単位での最適化

提案 : FlexCapsule

• アプリケーション単位での最適化を実現–アプリケーションを軽量な VM 内で動かす– VM のマイグレーション技術を用いて移動• 無停止での移動でダウンタイムの発生を防ぐ

– VM 間の強い隔離を利用• アプリケーション間のセキュリティの低下を防ぐ

6クラウド

VM1

ApplicationVM

クラウド VM2

ApplicationVM1マイグレーション

Application1 Application1

ApplicationVM2

Application1

ハイパーバイザ1 ハイパーバイザ 2

Page 7: クラウドにおける仮想マシン構成の アプリケーション単位での最適化

アプリケーション VM

• 1 つのアプリケーションを動作させるVM–軽量なライブラリ OS をリンク• アプリケーションに OS の機能を提供

– C 言語で書かれたアプリケーションが動作–マイグレーションのサポート

7

Application

アプリケーションVM

FlexCapsule OS

Network Console ・・・Timer

Page 8: クラウドにおける仮想マシン構成の アプリケーション単位での最適化

クラウド VM2

VM マイグレーションの流れ(1)• アプリケーション VM のメモリを転送–移動先にコピーを作成

• 移動元のアプリケーション VM を休止– FlexCapsule OS は各機能を休止状態にする• タイマー、ネットワーク・・・

8クラウド VM1

ApplicationVM

ApplicationVM

メモリApplication Application

ハイパーバイザ 1 ハイパーバイザ 2

FlexCapsule OS FlexCapsule OS

OS 機能

休止中

OS 機能

休止中

VM 全体

休止中

VM 全体

休止中

Page 9: クラウドにおける仮想マシン構成の アプリケーション単位での最適化

VM マイグレーションの流れ (2)

• 移動先でアプリケーション VM を復元– FlexCapsule OS が休止状態の各機能を復帰• タイマー、ネットワーク…

–移動先のクラウド VM の環境に合わせて再構築• CPU の情報、メモリ管理テーブル

9クラウド VM2クラウド VM1

ApplicationVM

ApplicationVM

Application Application

ハイパーバイザ 1 ハイパーバイザ 2

FlexCapsule OS FlexCapsule OS

OS 機能

休止中

VM 全体

休止中

OS 機能

休止中

VM 全体

休止中

Page 10: クラウドにおける仮想マシン構成の アプリケーション単位での最適化

アプリケーション VM の管理• 従来の OS のプロセスのように管理でき

る実行環境を提供–起動 停止 情報取得などをプロセスと同様に・ ・

行うことができる

10

OS

プロセス

プロセス

ハイパーバイザ

ApplicationVM

ApplicationVM

ps コマンド

xl list コマンド

ps コマンド

例 : プロセス一覧・情報の取得

Page 11: クラウドにおける仮想マシン構成の アプリケーション単位での最適化

実験• 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

Page 12: クラウドにおける仮想マシン構成の アプリケーション単位での最適化

実験 : マイグレーション性能• マイグレーション時間とダウンタイムを

測定–マイグレーション時間はメモリサイズに比例–ダウンタイムは常に 0.2 秒程度• メモリサイズの影響は受けない

12

0 32 64 96 12802468

1012141618

マイグレーション時間ダウンタイム

メモリサイズ (MB)

時間

(s)

Page 13: クラウドにおける仮想マシン構成の アプリケーション単位での最適化

• クラウド VM のスケールダウンによるアプリケーション VM の性能の変化を測定–クラウド VM2 は CPU 性能を 70 %に制限–アプリケーション VM での計算処理時間を計

測–性能が 64% に低下

スケールダウン

実験 : クラウド VM の性能変更

13

アプリケーションVM

処理時間

17.1 秒

アプリケーションVM

処理時間

26.4 秒

クラウド VM2(CPU70%)クラウド VM1(CPU100%)

Page 14: クラウドにおける仮想マシン構成の アプリケーション単位での最適化

関連研究• GUK [Jordan et al. ’09]– Mini-OS 上で Java アプリケーションを動かす– 休止・復帰に対応

• Zap [Osman et al. ’02]– OS レベルの仮想化でアプリケーションをマイグ

レーション– アプリケーション間の隔離は弱い

• GMO クラウド Public– VM を停止させることなくスケールダウンが可能– 無停止でのアプリケーションの統合はできない

14

Page 15: クラウドにおける仮想マシン構成の アプリケーション単位での最適化

まとめ• アプリケーション単位での VM 構成の最

適化を実現する FlexCapsule を提案–アプリケーションを軽量 VM 内で動作• VM のマイグレーション技術を利用可能• VM 間の強い隔離

–アプリケーション VM の実行環境を提供• 今後の課題–様々なアプリケーションの移植–より高機能な実行環境の提供

15