バッチ装置の待ち行列の解析(2)

バッチ装置の待ち行列の解析(1)」の式(6)

  • CT_q=\frac{t_e}{4u}+\frac{\frac{c_a^2}{2}+c_e^2}{2}\frac{u}{1-u}t_e・・・・(6)

をグラフ化してみます。式(6)の両辺をt_eで割って、装置稼働率uと平均待ち時間/平均処理時間CT_q/t_eの関係をグラフ化しました。それを以下に示します。ただしここでは、ジョブの到着としてポアソン到着を、装置の処理時間の分布として指数分布を想定して、c_a=1c_e=1としました。

  • グラフ1

通常の待ち行列と同じように、装置稼働率が1に近づくとジョブの平均待ち時間は急速に増大して発散しますが、グラフから分かるように、通常の待ち行列とは異なって、装置稼働率が0に近づく場合にも平均待ち時間は急速に増大して発散します。これは式(6)の右辺の最初の項による発散です。この項はバッチ構成にかかる時間を表わしています。つまり、到着間隔が長い場合にはバッチを構成するために待つ時間が支配的になることを示しています。ここから

  • ジョブが2つ、そろうまで装置が空いていても処理を開始しない。処理は必ず2ジョブで行う。

というルールは、装置稼働率が少ない場合には待ち時間を延ばしてしまうという問題があることが分かります。
ではどんなルールが適切かというのが次の問題になります。たとえば、n分待ってもバッチが構成されなければ1ジョブで処理する、といったルールが考えられます。すると何分待つのが適切か、という問題が次に現れます。ここでは極端な例として待つのはゼロ分というルールを考えます。そんなルールを聞くと、ジョブは必ず1個で処理されてしまい、装置が無駄に空いてしまう、と考えてしまうかもしれません。しかし、装置が処理中の間に2ジョブ以上が装置を待つことがあるかもしれません。その場合、現在の処理が終われば、次の処理は2ジョブで行うことになります。ですから必ず1ジョブで処理が行われるというわけではありません。

  • 図4

このルールは、処理が完了した時に待ち行列に2ジョブ以上ある時にはバッチを構成して次の処理を開始する、というところがミソです。ジョブの到着頻度が低い時にも待ち時間は極端に小さくならず、ジョブの到着頻度が多い時にはそれに応じてバッチでの処理が自動的に増加するような結果になりそうなバッチ構成ルールです。では、このルール

  • 装置が空いている時に1ジョブ到着した場合は、1ジョブで処理を開始する。処理が完了した時に1ジョブしか待っていない場合は、1ジョブで処理を開始する。処理が完了した時に2ジョブ以上ある場合は、2ジョブで処理を開始する。

では装置の稼働率と待ち時間との関係はどのようになるでしょうか? 実はこの問題の解析は随分難しかったです。


その前に「バッチ装置の待ち行列の解析(1)」の式(6)をnジョブのバッチの場合に拡張することを検討したいと思います。