X+100 High
4.6 実験の考察
提案方式での高優先書込みの平均レスポンスタイムはおおむね8 ミリ秒であり,これは 擬似呼処理プロセスからの高優先度での書込み処理は500KBytes/secondで実施されている ことを示す.一方,計測中のHDD の書込み処理に伴うIOスループットはおおむね7.3M
Bytes/secondであり,大半の書込み処理はバックアップ処理によって実施されていることが
わかる.
Anticipatory及びDeadline IOスケジューラはHDDのセクタ順のキューを持ち,これら IOスケジューラはHDDのシーク回数を最小限にするために,デバイスドライバによって取 得されるIOリクエストをソートする.仮に現在の先頭に登録されているIOリクエストがア クセスするHDDのセクタと,高優先であるIOリクエストがアクセスするHDDのセクタが かけ離れていれば,期限付きキューにおいて,閾値を超過するまで高優先のIOリクエストは 処理されない.特にバックアップからのIO処理が多数を占めるような場合,一旦バックアッ プ処理側のHDDセクタに処理が移った場合,相対的な書込み量による遅延に加えて,キュー 内のセクタ順のソート処理ではキューの後半に積まれてしまい,その後の高優先書込みが著し く遅延する.
Anticipatory IOスケジューラでの期限付きキューの閾値は,書込み処理の場合で250ミリ
秒であり,計測中にも動作しているはずではあるが,Anticipatory IOスケジューラのレスポ ンスタイムの最大値が最も遅延している.これは期限付きキューにおいてもIO優先度の考慮 がないため,高優先のIOリクエストは期限付きキューに登録されても,大半の書込み処理が 通常IO優先度のバックアップから生成されるような状況では,期限付きキューの後半につな がれているためである.期限付きキューの後半につながれた高優先度のIOリクエストは,更 に前に発行されたバックアップからのIOリクエストが処理されるまで,非常に長い時間遅延
する.Deadline IOスケジューラでの期限付きキューの閾値は書込み処理で5秒であり,期限
付きキューの閾値超過の際のロジックはまったく動作していない.
NOOP IOスケジューラは既存のIOスケジューラの中では最も高速な最大レスポンスタイ
ムである700ミリ秒を記録している.NOOP IOスケジューラはIO優先度を考慮しないが,
102 103 104 105 106 107
Anticipatory CFQ Deadline NOOP Proposed approach
3x105
Response time (micro-seconds)
IO scheduler pattern
Average Max Minimum
図4.13. 高優先Writeシステムコールのレスポンスタイム
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
Read Write
Throughput (KBytes/second)
IO operation pattern Anticipatory
CFQ Deadline NOOP Proposed approach
図4.14.実験中の平均IOスループット
特別なマージ処理及びソート処理を一切行わない.このため高優先のIOリクエストは,バッ クアップに比べて書込み量が少ない分の,相対的な遅延が生じているだけにとどまっている.
CFQ IOスケジューラではIO優先度を使用しているが,最大レスポンスタイムは遅く,1.4
秒ほどを要している.CFQ IOスケジューラはプロセス毎のIOスループットを考慮している が,レスポンスタイムに対する考慮がされていない. CFQ IOスケジューラは,優先度に応 じてキュー単位で一定時間IOリクエストのキューイング処理を行い,スループットの調整を 行う.キュー単位で一定時間処理される優先度制御が行われるため,IOリクエスト単位での レスポンスタイムが遅延する.
提案方式においては,既存の方式に比べて最大レスポンスタイムを短縮化することを可能と している.これは提案方式が高優先のIOリクエストに対して効果的に動作し,デバイスドラ イバに高速にIOリクエストを受け渡すことに成功していると言える. IOスループットは他 のIOスケジューラに比べて若干低いが,交換システムのような実時間処理を必要とするシス テムでは,スループットよりも安定的なレスポンスタイムが重要である.この結果はまた既存 のIOスケジューラは,実時間処理を重視する交換システムには適さないことも示しており,
交換システムにどのようなIOスケジューラを適用すべきかを選択する上で,極めて重要な情 報である.
また,レスポンスタイム計測の結果をソートし,頻度グラフとして図4.15に示す.X軸 はWriteシステムコールのレスポンスタイムを示し,Y軸は取得回数を示す.Anticipatory, Deadline,NOOP IOスケジューラ間での傾向はほぼ同じである.最も大きなピークが1.8ミ リ秒のレスポンスタイムの部分に集中しており,その後は1秒を超過した時点でも幾つかの結 果がプロットされている.CFQ IOスケジューラは別の傾向を持っている.最も大きなピー クは2.2ミリ秒付近に存在し,その後は同様に1秒を超過した時点でも幾つかの結果がプロッ トされている.大半の結果はピークレンジに収まっており,少々の結果が,極めて離散的に遅 延している.
提案方式では最も大きなピークは2.1ミリ秒であるが,このピークの傾きが他のピークに比 べて非常に滑らかである.その後200ミリ秒を超過したあたりで,幾つか結果がプロットされ ており最大値が220ミリ秒となっている.
またDeadline IOスケジューラにおいて8ミリ秒付近に,CFQ IOスケジューラと提案方 式において10ミリ秒付近に,小さなピークが現れていることがわかる.これは連続する IO リクエスト間において,ときおりHDDセクタ間でギャップが存在するためである.
またこの計測の結果から,レスポンスタイムの信頼性をパーセンタイルグラフで図4.16に 示す.X軸は信頼性のパーセントを示し,Y軸はレスポンスタイムを示す.図4.16のグラフ は提案方式による最大レスポンスタイムがハードリミットである300ミリ秒のデッドライン 以下であることを99.9999% の信頼性を持って示している.典型的な交換システムにおいて
は,99.999%以上の信頼性でもってサービスを提供する必要があり,書込み処理においても同
様に99.999%以上の信頼性にてハードリミット以下のレスポンスタイムであることが求めら
れる.この観点からも提案方式は交換システムに適用可能な方式であることがわかる.
0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000
102 103 104 105 106 107
Number of responses (times)
Response time (micro-seconds)
Anticipatory CFQ Deadline NOOP Proposed approach
0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000
102 103 104 105 106 107
Number of responses (times)
Response time (micro-seconds)
Anticipatory CFQ Deadline NOOP Proposed approach
0 10 20 30 40 50 60
100000 150000 200000 250000 300000 Anticipatory
CFQ Deadline NOOP Proposed approach
0 10 20 30 40 50 60
100000 150000 200000 250000 300000 Anticipatory
CFQ Deadline NOOP Proposed approach
図4.15.レスポンスタイムの頻度グラフ
5x105 1x106 1.5x106 2x106 2.5x106 3x106
90 99 99.9 99.99 99.999 99.9999
3x105
Response time (micro-seconds)
Percentage of reliability(%) Anticipatory
CFQ Deadline NOOP Poposed approach
図4.16.レスポンスタイムのパーセンタイルグラフ