複数クラスを持つM/M/1待ち行列(1)
「ケリーネットワークの積形式解の存在証明の試み(失敗)」のあと、なかなか問題解決の糸口がつかめていません。つかめていませんが、考えたことをご紹介します。
まず、対象を非常に簡単なものにしてみました。すなわちM/M/1待ち行列にしてみました。しかし、この待ち行列には複数のクラスのジョブがそれぞれ指数分布の到着時刻間隔で到着するものとします。その時の定常状態分布はどのようになるか、考えてみました。
まず、状態の定義をします。クラスのない(クラスが1つだけの)M/M/1の場合の状態はシステム内のジョブの数でしたが、今回の場合、どのクラスのジョブが今、処理中であるかによって次に遷移する状態が変わることに気づきます。さらに、処理中のジョブの処理が終了した時、次に処理中になるジョブのクラスは、つまり、それまで処理を待っていた行列の先頭のジョブのクラスであるわけですから、処理中のジョブのクラスだけでなく待っているジョブのクラスも気にしなければならないことが分かります。以上のことから、状態は待ち行列(処理中のものも含める)に並んだ各ジョブのクラスの配列ごとに考えることにします。たとえば、クラスがA、B2つあるとし、下図の左端が処理中のジョブ、そして待ちジョブがその右に順番に並んでいるとすれば、下の図の上下2つの状態は別々の状態であると考えます。
状態をで表します。そして上図の行列を左から順に1、2と番号をつけ、これを位置と呼ぶことにします。位置のクラスをで表します。さらに状態の時にクラスのジョブが到着した状態をで表します。またクラスの数をで表します。ここでは状態の定常状態確率を、は装置の平均処理時間を、はクラスのジョブのスループットを表すとします。すると状態がの間にジョブの処理が終って別の状態に遷移する確率は
と表すことが出来ます。次に状態がの間にクラスのジョブが到着して状態に遷移する確率は
と表すことが出来ます。状態について考えると、定常状態では前記の2つの遷移確率が等しくなるはずですから次の平衡方程式が成り立ちます。
- ・・・・・(1)
(「M/M/1における待ち時間の式の導出(2)」に平行した議論が出ています。)
ここでクラスについての利用率を
- ・・・・・(2)
で定義します。このように定義すると、式(2)の両辺を全てのクラスについて合計をとると
- ・・・・・(3)
ここで
はクラスによらずこの待ち行列に到着するジョブのスループットを表していますからこれを
で表すと、結局、式(3)は
よって
- ・・・・・(4)
となります。ただしは装置の利用率を表しています。(4)はが装置の利用率のうちのクラスに関わる部分を表していることを示しています。
式(2)を式(1)に代入して変形すると
- ・・・・・(5)
になります。ここでシステムがまったくジョブを持たない定常状態確率をで表すことにします。すると、システムにクラスのジョブが1個だけ処理中の状態をで表すとすると、式(5)より
- ・・・・・(6)
となります。さらに、処理中のジョブのクラスがで待っているジョブのクラスがであり、この2つのジョブだけが存在する状態をで表すと式(5)と式(6)から
同様に考えて、状態をと表せば、(ただしは状態の時のジョブ数であるとします)
ここでは装置が空いている確率であるからになるはずなので、結局
- ・・・・・(7)
となります。
「複数クラスを持つM/M/1待ち行列(2)」に続きます。