3.4.1 入出力順序保証方式
他の調整対象プロセスによる待ち時間の増加は,次の要因で発生する.
(要因1)自プロセスよりも高い要求入出力性能の調整対象プロセスが入出力要求を発行す る.
第 3 章 入出力スループットの向上方式 45
(要因2)同じ要求入出力性能の調整対象プロセスが自プロセスより先に入出力要求を発行 する.
これらの要因を踏まえた待ち時間のみ許容値を小さくすれば,入出力時間を保証できる.
そこで,許容値の算出方法として,以下の2つの方式を述べる.
1つは,最長の時間を見込む方法である.入出力要求の発行を事前に予測できない.この ため,自プロセスより高い(要因1)または同じ(要因2)要求入出力性能を持つ調整対象 プロセスの入出力要求のみ待ち時間が増加するとみなす.具体的には,この待ち時間と自身 の実I/O時間を理想の入出力時間から差し引いたものを当該プロセスの許容値Aiとする.し たがって,待ち時間の増加を考慮した許容値Aiは以下である.
Ai = 100 Pi −∑
j
f(i, j)−1 (3.1)
f(i, j) =
1 (Py ≥Pxのとき) 0 (上記以外のとき)
(3.2) この許容値Aiは自プロセス以外の全ての調整対象プロセスを考慮しているため,全ての 調整対象プロセスについて,許容値Aiを満足すれば入出力時間を保証できる.ただし,入 出力処理が停止しないように許容値は1以上にする.つまり,全体の許容値Aは式3.3で求 める.この算出方式を入出力順序保証方式(I/O order guarantee method)と呼ぶ.
A= max(min(Ai),1) (3.3)
3.4.2 待ち状態プロセス除外方式
もう1つは,入出力要求を発行できないプロセスによる待ち時間の増加のみを見込む方法 である.入出力要求の処理完了待ちのプロセスは,待ち状態が解除されるまで次の入出力要 求を発行できない.このため,待ち状態のプロセスは(要因1)や(要因2)に該当しない.
つまり,式3.2において,プロセスjが待ち状態であれば戻り値を0にして,許容値を1増 加できる.ただし,プロセスjの入出力要求が処理されて待ち状態が解除されると,プロセ スjは次の入出力要求を発行できるようになる.この解除時に,許容値のみならず外部記憶
第 3 章 入出力スループットの向上方式 46
装置内の入出力要求数も増加前に戻す必要がある.そこで,プロセスjの入出力要求の処理 が開始したときに許容値を1減少させて元の値にする.これにより,この入出力要求の処理 が完了するころに,外部記憶装置内の入出力要求数を1減少させることができる.以上より,
プロセスiの状態をSi,入出力要求の処理状態をQiとすると,待ち時間の増加を考慮した 許容値A′iは以下である.
Aii = 100 Pi −∑
j
g(i, j)−1 (3.4)
g(i, j) =
1 (Py ≥Pxかつ(Sy ̸=待ちまたはQy ̸=処理中)のとき) 0 (上記以外のとき)
(3.5)
式3.3と同様に全体の許容値A′は式3.6で求める.この算出方式を待ち状態プロセス除外 方式(Waiting process exclusion method)と呼ぶ.
A′ = max(min(A′i),1) (3.6)
3.4.3 期待される効果
入出力順序保証方式と待ち状態プロセス除外方式のどちらも,各調整対象プロセスが必要 とする許容値から全体の許容値を求めるため,許容値を過少にすることがない.つまり,基 本方式に比べて許容値を大きくでき,外部記憶装置内の入出力要求数を増やすことで入出力 スループットの向上を期待できる.
例えば,3.3.2項で示した事例において,入出力順序保証方式は,各調整対象プロセスの許
容値を100/10−1−1 = 8と算出し,これらの最小値8を全体の許容値にする.つまり,許
容値は,基本方式の許容値4よりも大きい.また,待ち状態プロセス除外方式では,プロセ スの状態に応じて許容値が4または5になる.なお,調整対象プロセスの入出力時間は保証 できるため,基本方式と同じく入出力時間を精度良く調整できる.
第 3 章 入出力スループットの向上方式 47
表 3.1 計算機の能力
プロセッサ 2.5GHz 4core (AHCI v1.31) メモリ 8GB
外部記憶装置 5400rpm SATA/600 HDD 表 3.2 測定パタン
調整対象プロセス数 2, 3, 4, 5
入出力サイズ[KB] 0.5, 4, 8, 16, 32