10.2.非RPS I/Oサブシステムにおけるチャネル競合(2):Quantitative System Performance

10.2.非RPS I/Oサブシステムにおけるチャネル競合(1)」の続きです。(目次はこちら

 我々は、ディスクkに関係する要求毎の、チャネルへのアクセスを待つ時間、contenton_k を見積らなければならない。平均値解析の精神で、これをディスクkに関係する1要求のチャネル・ホールド時間と、チャネルへの到着時にディスクkの1要求が出会った要求数の積と考えることが出来る。ディスクkに関係する1要求のチャネル・ホールド時間は単純にlatency_k+transfer_kである。到着時点のチャネル待ち行列長を見積るために、チャネルをオープン・システム内のセンターであると(不当に)見なす。第6章から、オープン・システム内の任意のセンターでの到着時点待ち行列長は\frac{U}{1-U}であることを思い出そう。ただしU はセンターの稼動率である。今の場合、そのチャネルでのディスクkの要求に先立つ任意の要求はk以外のどれかのディスクに関係しているはずであることが分かっているので、この式を以下のように変形する。

  • \frac{U_{ch}-U_{ch}(k)}{1-U_{ch}}

ただしU_{ch}はチャネルの稼動率であり、U_{ch}(k)はディスクkに関係した要求のこの稼動率への寄与量である。よって仮にU_{ch}U_{ch}(k)を知っていたならば、我々はディスクkの実効サービス要求時間を以下のように見積もることが出来たであろう。

  • D_k=V_k(seek_k+latency_k+transfer_k+contention_k)
    • =V_k\left[seek_k+latency_k+transfer_k\right\.
      • \left\.+(latency_k+transfer_k){\times}\frac{U_{ch}-U_{ch}(k)}{1-U_{ch}}\right]
    • =V_k\left[seek_k+(latency_k+transfer_k){\times}\left(1+\frac{U_{ch}-U_{ch}(k)}{1-U_{ch}}\right)\right]
    • =V_k\left[seek_k+\frac{(latency_k+transfer_k)(1-U_{ch}(k))}{1-U_{ch}}\right]

あいにく、モデルのパラメータ値を決めるために必要なさまざまなU_{ch}(k)はモデルが評価されたのちにのみ明らかになる。これはアルゴリズム10.1に示す繰返し形式を示唆している。

  • 1.
    • I/Oサブシステムがディスクによってのみ表されるようなシステムの待ち行列ネットワーク・モデルを定義する。最初に、システム・スループットX、はゼロであると仮定する。(これは最初の繰返しの間、ディスクの実効サービス要求時間の競合要素をゼロにセットすることをもたらす。)
  • 2.
    • 以下のように繰り返す。
    • 2.1.
      • 個々のディスクkについて、そのディスクに関する要求のチャネル稼動率への寄与量を以下のように見積もる。
        • U_{ch}(k)=XV_k\left[latency_k+transfer_k\right]
      • ただしXは1つ前の繰返しから得られる。
    • 2.2
      • チャネル稼動率を見積もる。
    • 2.3
      • 個々のディスクkについて、その実効サービス要求時間を以下のように見積もる
        • D_k=V_k\left[seek_k+\frac{(latency_k+transfer_k)(1-U_{ch}(k))}{1-U_{ch}}\right]
    • 2.4
      • MVAを用いて待ち行列ネットワーク・モデルを評価する。
    • システム・スループットXの連続する見積が充分近くなるまでステップ2を繰り返す。
  • 3.
    • 最終繰返しから性能尺度を得る。

アルゴリズム10.1 非RPSディスク


10.2.非RPS I/Oサブシステムにおけるチャネル競合(3)」に続きます。