2.4 評価
2.4.2 調整精度
評価条件
多くのプログラムは,プロセッサ処理と入出力処理を繰り返す.そこで,図2.2に示す評価 プログラムで測定した.評価プログラムは,プロセッサ処理として特定のメモリ領域の値の インクリメント処理,および入出力処理としてread()システムコールによりHDDから512B 読み込む処理を繰り返す.なお,入力位置はランダムである.また,read()システムコール の前後で取得したハードウェアクロックの差を測定し,入出力時間とする.評価では,イン クリメント処理の回数を変更することにより,プロセッサ処理の時間を変更し,プロセッサ 処理時間と入出力時間の比率(以降,処理比率と呼ぶ)を変化させた.
調整精度の評価尺度として,調整精度を用いる.調整精度は,
調整精度= 実際の入出力時間
理想の入出力時間 (2.5) である.ここで,実際の入出力時間とは,read()システムコール発行から戻り値が返却され るまでの時間である.また,理想の入出力時間とは,実I/O時間を要求入出力性能で割った
第 2 章 入出力性能の調整方式 28
0 1 2 3 4 5 6 7 8
10 20 30 40 50 60 70 80 90 100
Requested I/O performance (%) Regu
latio n ra tio
Maximum Average Median Minimum Maximum Average Median Minimum
図 2.4 調整精度(プロセッサ:入出力=1:1)
値である.以降の評価では,評価プログラムによるプロセッサ処理と入出力処理を1002回繰 り返し,入出力時間を測定し,最初と最後を除いた1000回の入出力時間を評価に利用する.
基本評価
占有状態における要求入出力性能と調整精度(平均値)の関係を図2.3に示す.図2.3よ り,調整精度は,調整対象プロセスの処理比率や要求入出力性能に関わらず,最大1.04程度 であり,調整精度は良いといえる.
次に,調整精度の最大値について考察する.調整対象プロセスの処理比率が1:1の場合 を図2.4に示す.図2.4より,最大値のみが平均値や中央値より大きく外れていることがわ かる.例えば,最大値は要求入出力性能が50%のときは平均値の約2.2倍,20%のときは 約6.9倍である.また,調整精度の頻度分布を図2.5に示す.図2.5より,調整精度の大半は 1付近であり,大きく外れた値として最大値があることがわかる.例えば,要求入出力性能 が50%の場合,調整精度の値は,99%以上が1.2以下であり,最大値は2.0以上と大きい.
この原因を明らかにするため,要求入出力性能が50%の場合について,実I/O時間と調整
第 2 章 入出力性能の調整方式 29
0 100 200 300 400 500 600 700 800 900 1000
~ 0
.8 0.9 1 1.1
1.2 1.3
1.4 1.5
1.6 1.7
1.8 1.9
2.0
~ Regulation ratio
Cou nt
Requested I/O performance = 10%
Requested I/O performance = 50%
Requested I/O performance = 90%
3 1 5
図 2.5 調整精度の頻度分布
精度の関係を図2.6に示す.図2.6より,実I/O時間が非常に短い場合に調整精度は悪化す ることがわかる.具体的には,394,587,および727回目の入出力処理において,実I/O時 間が1ミリ秒以下になり,調整精度の値が非常に大きくなってしまう.これは,実I/O時間 が非常に短いため,遅延可否閾値(この実装では10ミリ秒)により遅延処理は行われない ものの,システムコール共通処理などの時間のために,調整精度が悪化することによる.な お,実I/O時間が非常に短くなる場合は全体の0.3%と非常に少ない.
以上のことから,占有状態において,個々の入出力処理における調整精度は良い.
他プロセスの影響
調整対象でないプロセス(以降,共存プロセスと呼ぶ)を1個のみ同時走行させた場合に おける調整対象プロセスの要求入出力性能と調整精度(平均値)の関係を図2.7に示す.な お,許容係数は1である.図2.7より以下のことがわかる.
(1)調整対象プロセスの処理比率に関係なく,以下のことがいえる.
(A)調整対象プロセスの要求入出力性能が低い場合,共存プロセスの影響は小さく,調
第 2 章 入出力性能の調整方式 30
0 5 10 15 20 25 30
0 200 400 600 800 1000
Count of real I/O Real
I/O tim e (m s)
-3 -2 -1 0 1 2 3 4
Regu latio n ra tio Real I/O time
1ms
Regulation ratio
図 2.6 実I/O時間と調整精度
整精度は良い.例えば,要求入出力性能が50%以下のときの調整精度は1.0〜1.2である.
(B)調整対象プロセスの要求入出力性能が高い場合,共存プロセスの入出力処理の比率 が高くなるにつれ,共存プロセスの影響は大きくなる.例えば,調整対象プロセスの処理比
率が0:1,要求入出力性能が90%の場合,共存プロセスの処理比率が2:1のときの調整精
度は約1.2であるものの,0:1のときは約2.1になってしまう.これは,共存プロセスの入 出力処理の比率が高いほど,調整対象プロセスと共存プロセスが同時期に入出力要求を発行 する確率が高くなり,デバイスドライバ内で調整対象プロセスの実I/O開始待ちが発生する ためである.
(2)調整対象プロセスの入出力処理の比率が高くなると,共存プロセスの影響は大きくな る.例えば,調整対象プロセスの要求入出力性能が90%で共存プロセスの処理比率が0:1 の場合,調整対象プロセスの処理比率が2:1のときの調整精度は約1.6であるものの,0:1 のときは約2.1になってしまう.これは,(1)(B)と同じ原因である.つまり,調整対象プロ セスの入出力処理の比率が高いほど,調整対象プロセスと共存プロセスが同時期に入出力要 求を発行する確率が高くなり,デバイスドライバ内で調整対象プロセスの実I/O開始待ちが
第 2 章 入出力性能の調整方式 31
0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6
10 20 30 40 50 60 70 80 90 100
Requested I/O performance (%) Aver
age of r egul atio n ra tio
Type of coexistence process (CPU processing : I/O processing)
□ 0:1 × 1:1 △ 2:1
(A) Type of regulated process(PU:I/O=0:1)
0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6
10 20 30 40 50 60 70 80 90 100
Requested I/O performance (%) Aver
age of r egul atio n ra tio
Type of coexistence process (CPU processing : I/O processing)
□ 0:1 × 1:1 △ 2:1
(B) Type of regulated process(PU:I/O=1:1)
第 2 章 入出力性能の調整方式 32
0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6
10 20 30 40 50 60 70 80 90 100
Requested I/O performance (%) Aver
age of r egul atio n ra tio
Type of coexistence process (CPU processing : I/O processing)
□ 0:1 × 1:1 △ 2:1
(C) Type of regulated process(PU:I/O=2:1)
図 2.7 共存プロセスを1個のみ同時走行させた場合の調整精度(入出力要求数を調整する 制御方式)
発生する.
次に,共存プロセス数による影響を明らかにするため,共存プロセス(処理比率は1:1)
の数と調整精度(平均値)の関係を図2.8に示す.なお,調整対象プロセスの処理比率は1:
1である.また,許容係数は1である.図2.8より,要求入出力性能が低いほど,共存プロ セス数による影響は小さいことがわかる.例えば,共存プロセス数が7の場合,要求入出力 性能が70%のときの調整精度は約2.2であるものの,30%のときは約1.2である.これもま た,(1)(B)や(2)と同じ理由である.
以上のことから,調整対象プロセスの要求入出力性能が低い場合,あるいは調整対象プロ セスの入出力要求と共存する全プロセスの入出力要求が同時期に発生する確率が低い場合は,
入出力性能を保証できるといえる.
また,他プロセスの影響の抑制効果を明らかにするため,入出力時間を調整する制御法[84]
と本制御方式を比較する.図2.7や図2.8と同じ条件での測定結果を図2.9と図2.10に示す.
第 2 章 入出力性能の調整方式 33
0.8 1.3 1.8 2.3 2.8 3.3 3.8
1 3 5 7
Number of coexistence processes Av er
ag e of re gu la tio n ra tio
Requested I/O performance
□
70%
×50%
△30%
図 2.8 共存プロセス数と調整精度(入出力要求数を調整する制御方式)
図2.7と図2.9の比較,および図2.8と図2.10の比較により,本制御方式は入出力時間を調 整する制御法に比べ,他プロセスの影響を抑制でき,かつ共存プロセス数の影響も抑制でき ることがわかる.
許容係数と入出力スループットの関係
許容係数と入出力スループット(1秒当たりの入出力要求の処理数)の関係を明らかにす る.3つの調整対象プロセス(いずれも処理比率は2:1,要求入出力性能は15%)と6つの 共存プロセスを走行させた場合における許容係数,調整対象プロセスの調整精度(平均値),
および入出力スループットの関係を図2.11に示す.ここで,入出力性能の調整精度への影響 を大きくするため,共存プロセスの処理比率を0:1とし,最大の入出力処理を要求するも のとした.図2.11より,許容係数が大きいほど調整精度は良いものの,入出力スループット は低下することがわかる.一方,許容係数が小さい場合は逆になる.例えば,許容係数が3 のときの調整精度は約1.0,入出力スループットは約142回/秒であるものの,許容係数が1 のときは約1.2と約154回/秒になる.
第 2 章 入出力性能の調整方式 34
0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6
10 20 30 40 50 60 70 80 90 100
Requested I/O performance (%) Aver
age of r egul atio n ra tio
Type of coexistence process (CPU processing : I/O processing)
□ 0:1 × 1:1 △ 2:1
(A) Type of regulated process(PU:I/O=0:1)
0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6
10 20 30 40 50 60 70 80 90 100
Requested I/O performance (%) Aver
age of r egul atio n ra tio
Type of coexistence process (CPU processing : I/O processing)
□ 0:1 × 1:1 △ 2:1
(B) Type of regulated process(PU:I/O=1:1)
第 2 章 入出力性能の調整方式 35
0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6
10 20 30 40 50 60 70 80 90 100
Requested I/O performance (%) Aver
age of r egul atio n ra tio
Type of coexistence process (CPU processing : I/O processing)
□ 0:1 × 1:1 △ 2:1
(C) Type of regulated process(PU:I/O=2:1)
図 2.9 共存プロセスを1個のみ同時走行させた場合の調整精度(入出力時間を調整する制 御法)
2.4.3 有効な適用事例
起動時間
重要なサービスに悪影響を及ぼす処理を抑制する効果を明らかにするため,本制御方式と 優先度制御法を比較する.悪影響を及ぼすバックグラウンドプロセスの走行を制限した場合 について,サービスを提供するフォアグラウンドプロセスを起動してから利用者にウィンド ウを表示するまでの時間(以降,起動時間と呼ぶ)を比較する.具体的には,バックグラウ ンドプロセスは,ウィルス対策ソフトウェアとしてClam Antivirus 0.92(以降,ClamAVと 呼ぶ)を走行させた.フォアグラウンドプロセスは,WebブラウザとしてMozilla 1.7.13(以 降,Mozillaと呼ぶ),またはエディタソフトウェアとしてEmacs 22.1.2(以降,Emacsと 呼ぶ),または動画再生ソフトウェアとしてMplayer 1.0rc1(以降,Mplayerと呼ぶ)であ る.以下の条件におけるフォアグラウンドプロセスの起動時間を測定した.