2.4 評価
2.4.3 データ収集時のオーバヘッド
%となり,先行研究手法よりも低オーバヘッド,かつ予測通りデリゲーション排除効果が確 認できた.
0.048%
0.441%
0.041%
0.133%
0.00%
0.10%
0.20%
0.30%
0.40%
0.50%
in Native in Guest
Overhead
Profiling environment previous
unified profiling
図 2.16 関連研究(previous)と提案手法(unified profiling)のオーバヘッドの比較(2.5ミ リ秒データ収集周期)
図 2.17 は,VMMで行う一元的な性能プロファイリングシステムによる,収集周期の変 化に対する,オーバヘッドの変化(青線)とオーバヘッドの許容ライン(赤線)を示す.こ の結果から,VMMで行う一元的な性能プロファイリングシステムでは,VM環境でも許容 可能なデータ収集周期として1ミリ秒を使用できることが分かる.データ収集周期が1.0ミ リ秒の時のVM上ワークロードに対するオーバヘッドは0.302 %,データ収集周期が0.1ミ リ秒の時のVM上ワークロードに対するオーバヘッドは3.084 % である.このように,1ミ リ秒のデータ収集周期の結果は,1 % より十分に低いオーバーヘッドである.
0.133% 0.302%
3.084%
0.0%
1.0%
2.0%
3.0%
2.5ms 1.0ms 0.1ms
Overhead in guest
Sampling rate
㻻㼡㼞㻌㼍㼘㼘㼛㼣㼍㼎㼘㼑㻌㼎㼛㼞㼐㼑㼞㼘㼕㼚㼑 㻻㼢㼑㼞㼔㼑㼍㼐㼞㼑㼟㼡㼘㼠㼟
図 2.17 データ収集周期によるオーバヘッドの変化
次に,MySQL [64] を用いた,オンライントランザクション処理(OLTP)性能に対する
オーバヘッド評価を行った.MySQLは,オープンソースソフトウェアのリレーショナルデー
タベース管理システム(RDBMS)として広く利用されている.また,MySQLは,Webや データベース(DB)などのシステムを構築するために広く利用されているLAMP(Linux, Apache, MySQL, and PHP/Perl/Python)のコンポーネントの一つでもある.MySQLの OLTP性能の測定にはSysbench [67] を用いた.この評価では,pCPUが二つの物理計算機 と,その上で動作させるvCPUが二つのVMを用いた.各vCPUは,特定のpCPUに固定割 り当てして動作させた.一つのvCPUにはMySQLデーモンを固定し,もう一つのvCPUに
はSysBenchプロセスを固定しOLTPベンチマークを実行した.ベンチマーク測定は,5回
行った.図 2.18 に,データ収集周期1.0ミリ秒の場合と0.1ミリ秒の場合の,OLTPスルー プット性能でのオーバヘッド結果を示す.この結果より,1.0ミリ秒周期で十分許容可能であ ることが確認できる.さらに,図2.17 の評価結果よりもオーバヘッドが低いことも確認でき る.これは,オーバヘッドがCPU使用率に依存するためと考えられる.図 2.19に,OLTP スループットの平均性能を示す.図 2.20 に,性能プロファイリングシステムによるデータ 収集無しの場合のOLTP実行時の平均CPU使用率を示す.図 2.17 の測定で用いたワーク ロード実行時のCPU使用率はほぼ100 %であった.対して,MySQLでの本評価時のCPU 使用率は,図2.20に示す通り,93 %以下であった.従って,CPU使用率が高い方が,デー タ収集による影響が大きくなりオーバヘッドが高くなると考えられる.
0.227% 0.241% 0.260%
1.528%
2.187%
2.414%
0.0%
0.5%
1.0%
1.5%
2.0%
2.5%
3.0%
0 20 40 60 80 100 120 140
Overhead
The number of worker threads with 1.0ms rate sampling with 0.1ms rate sampling
㻻㼡㼞㻌㼍㼘㼘㼛㼣㼍㼎㼘㼑㻌㼎㼛㼞㼐㼑㼞㼘㼕㼚㼑
図 2.18 MySQLのOLTPスループット性能でのオーバヘッド
0 50 100 150 200 250 300 350 400 450
1 4 8 16 32 64 128
Transactions per second
The number of worker threads without sampling
with 1.0ms rate sampling with 0.1ms rate sampling
図 2.19 MySQLのOLTPスループット性能
0 20 40 60 80 100
0 20 40 60 80 100 120 140
CPU usage [%]
The number of worker threads
図 2.20 OLTP実行時のCPU使用率