第 5 章 結論 70
第 5 章
結論
第 5 章 結論 71
(1)重要なプロセスの入出力時間を利用者の要求に応じた時間に保つ制御方式の確立
(2)上記(1)を満足しながら,入出力スループットの低下を抑制する制御方式の確立
(3)上記制御方式を仮想計算機で動作させたときの有効性の明確化
第2章では,重要なプロセスの入出力時間を一定に保つ方法として,入出力要求数を調整 する制御方式(以降,基本方式と呼ぶ)を提案した.基本方式は,外部記憶装置に発行する 他プロセスの入出力要求数を許容値と呼ぶ値以下に制限することで,重要なプロセスが他プ ロセスの入出力要求の処理を待つ時間を抑制する.さらに,重要なプロセスの入出力要求の 処理が完了しても,利用者が設定する要求入出力性能に対応する入出力時間(以降,理想の 入出力時間と呼ぶ)まで重要なプロセスの再起動を遅延させることで,入出力時間を調整す る.これらにより,他プロセスの有無に関わらず,重要なプロセスの入出力時間を一定に保 つことができる.重要なプロセスが複数存在する場合,基本方式は,これらプロセスの要求 入出力性能の合計値を全体の要求入出力性能にして,許容値を算出する.ここで,許容値を 小さくすると,OSが次の入出力要求を発行するまでに,外部記憶装置が全ての入出力要求 を処理して待ち状態になり,入出力スループットが低下する可能性がある.そこで,許容係 数kを導入し,利用者が許容値の算出に用いる重要なプロセス数を設定できるようにして いる.評価にて,重要なプロセスが単独で走行する場合,誤差5%未満という高い精度で入 出力時間を調整できることを示した.重要でないプロセスを一つ走行させた場合,要求入出 力性能50%未満ならば同様に高い精度で調整でき,50%以上であっても入出力要求の発行 頻度が低い場合ならば入出力時間の調整精度が良いことを示した.さらに,重要なプロセス が複数走行する場合,許容係数kを大きくすることで,入出力スループットが低下するもの の,調整精度を維持できることを示した.また,有効な適用事例として,ウィルス対策ソフ
トウェアClamAVによるファイル検査中におけるソフトウェアの起動時間を評価した.具体
的には,WebブラウザMozillaとエディタソフトウェアEmacs,および動画再生ソフトウェ
アMplayerをそれぞれ起動させ,優先度制御では起動時間が約2.2〜3.0倍になってしまうも
のの,本制御方式では約1.2〜1.8倍に抑制できることを示した.さらに,ファイル検査中に おけるカーネルコンパイル時間の評価において,優先度制御ではコンパイル時間が約1.41倍 になってしまうものの,本制御方式では約1.06倍に抑制できることを示した.
第3章では,重要なプロセスの入出力時間を一定に保ちつつ,入出力スループットの低下 を抑制する制御方式を提案した.まず,基本方式では許容値を過少に抑えてしまう場合があ
第 5 章 結論 72
ることを指摘した.次に,重要なプロセスごとに入出力時間の保証に必要な許容値を算出す ることで,高い調整精度を保ちつつ,許容値を大きくできる入出力順序保証方式を提案した.
そして,入出力要求の処理待ちの重要なプロセスを許容値の算出から除外することで,より 許容値を大きくできる待ち状態プロセス除外方式を提案した.10個のプロセスを走行させた 評価にて,入出力スループットと調整精度は,トレードオフの関係にあるものの,その影響 の度合いが大きな違いがあることを示した.具体的には,入出力順序保証方式と待ち状態プ ロセス除外方式は,許容値を大きくすることで,入出力スループットを2.0倍にできる一方 で,調整精度の悪化を10%以内に抑制できることを示した.また,有効な適用事例として,
動画再生ソフトウェアMplayerとアーカイブ作成コマンドtar,およびウィルス対策ソフト
ウェアClamAVを同時に走行させ,入出力順序保証方式と待ち状態プロセス除外方式が基本
方式に比べて,調整精度を維持しつつも,入出力スループットの向上によりソフトウェアの 処理時間を短縮できることを示した.さらに,Ubuntuのデッドラインスケジューラは他プ ロセス数によって,入出力時間が変動するものの,待ち状態プロセス除外方式は他プロセス 数に関わらず入出力時間を一定に保つことができることを示した.
第4章では,仮想計算機上で基本方式を動作させ,有効性を示した.仮想計算機の実I/O 時間は,物理計算機よりも短くなる場合があり,理想の入出力時間も短くなる場合がある.
さらに,仮想計算機はプロセッサを占有しないため,プロセスに直ちにプロセッサを割り当 てられるとは限らず,実際の遅延時間が延びることがある.これらの性質により,各入出力 時間の調整精度は,物理計算機に比べて仮想計算機では低下する.しかし,実際の遅延時間 と理想の入出力時間の差を繰り越す機能により,仮想計算機においても長期的な調整精度は,
入出力処理の割合および要求入出力性能の大小に関わらず,物理計算機と同じく高い精度で あることを示した.さらに,他プロセスを同時に走行した場合,実I/O時間の極端な変動に よって,調整精度が悪化するものの,過去の実I/O時間の平均値を用いることで,うまく入 出力時間を調整できることを示した.
以上より,3つの課題を解決し,利用者の関心が高いソフトウェアの動作速度を安定させ,
心地よいサービスを提供する入出力スケジューラを明らかにした.
ところで,近年のSSDの製品開発では,高性能化よりも大容量化を指向している.大容量 化を担う技術の一つとして,単一の不揮発性メモリに格納するデータ量(bit量)を増加させ る技術がある.ただし,この技術では,読み書き処理において,より緻密な電力操作が必要
第 5 章 結論 73
になり,読み書きに要する時間はかえって長大化している.さらに,不揮発性メモリには,
一定回数の書き込みによって素子が破損し,データを格納できなくなる性質がある.SSDの ベンダは,この破損によるデータ容量の低下を隠ぺいするために,利用者に提示する容量を 超えた不揮発性メモリを事前に搭載し,定期的にデータ格納先の不揮発性メモリを切り替え ることで,書き込み回数を平準化している.このような複雑な制御により,SSDの性能は,
ますます向上しづらくなっている.一方で,プロセッサやメモリの性能は,依然として速い 速度で向上しており,外部記憶装置との性能差が今後も拡大することが考えられる.このよ うな状況より,本研究で確立した制御方式は,今後も心地よいサービスの提供に有効である と考える.