10.5.1.パス要素の稼動率の見積り:Quantitative System Performance

10.5.マルチパス化」の続きです。(目次はこちら

10.5.1.パス要素の稼動率の見積り


 単一パスアーキテクチャでは、任意の特定のパス要素(任意のチャネル、あるいはコントローラ、あるいはストリングのヘッド)の稼動率は「その下の」全てのディスクのデータ転送稼動率の合計に等しい。しかし、マルチパス化の場合、特定のディスクのデータ転送をいくつかの異なる{チャネル、コントローラ、ストリングのヘッド}パスを通って送ることが可能である。よって、任意のパス要素の稼動率は多くのディスクのデータ転送稼動率の部分の合計である。
 もし我々がデータ転送による個々のディスクの稼動率を「知っている」としても(改良された見積もりはアルゴリズム10.3のステップ2を全て繰り返す度に得られる)、個々のパス要素を通る割合は一旦我々がパス選択アルゴリズムの振る舞いを表現した場合のみ見積もることが出来る。そして、パス選択アルゴリズムの振る舞いを表現するためには、我々はパス要素の稼動率を知らなければならない。というのはパス選択アルゴリズムは、さまざまなパスがビジーであることを見い出される確率によって動かされるからである。言い換えれば、パス要素の稼動率を見積もること、つまりアルゴリズム10.3のステップ2.2、それ自身が繰返しの手順である。
 この繰返し手順は仮にI/Oサブシステムが完全に相互接続されていたならば、つまり全てのディスクが全てのストリングのヘッドやコントローラやチャネルを使用出来たならば、比較的簡単であっただろう。あいにくこれは事実ではない。物理上と論理上の両方の制約が存在する。これらの制約はパス要素の稼動率の見積もりを扱いにくい組合せ論的問題に変換しかねない。しかし幸いなことに、実際には相互接続構造は極めて限られていて極めて規則的になる傾向があり、さまざまな簡略化近似が精度の大幅な低下なしに導入出来る。
 (いくつも存在するが)ひとつの可能な方法が、任意の特定のディスクkのI/Oオペレーションを処理する際、パス選択アルゴリズムは、可能なパスの中から、それがパスがフリーであることを見い出す確率に比例して選択するという事実によって示唆された。よって、

  • 個々のパス要素の稼動率の最初の見積り(例えばゼロ)を設定する。
  • 以下のように繰り返す。
    • 個々のディスクkを順々に扱う。
      • ディスクkへの個々のパスiについて、P_k[path\;i\;selected]でパスiを使用するディスクkの転送の比率を示すものとする。P_k[path\;i\;selected]が、ディスクkが個々のパスiがフリーであるのを見い出す確率(1-P_k[path\;i\;busy])に比例しているとする。ただし、P_k[path\;i\;busy]は、パス要素の稼動率の現在の見積り値を用いてセクション10.5.2で示すように計算される。
      • ディスクkの転送の新しく割当てられた値を含むように、さまざまなパス要素の稼動率の見積りを更新する。
    • 全てのディスクが考慮されたら、前の値を修正して繰り返す。

この手続きはパス選択アルゴリズムの振る舞いを正確には再現しないが、妥当な近似を提供する。

10.5.2.パス・ビジー確率の見積り」に続きます。