GI/M/s待ち行列の待ち時間分布の近似

さらに今度は「GI/M/1待ち行列の待ち時間分布」の結果である待ち時間の累積確率分布の式(8)(ここでは番号を振り直して式(1)とします)

  • F_q(t)=1-b\exp\left(-\frac{(1-b)t}{t_e}\right)・・・・(1)
  • ただしb
    • b=\Bigint_0^{\infty}\exp\left(-\frac{(1-b)t}{t_e}\right)g(t)dt・・・・(2)
    • ただしg(t)は到着間隔の確率密度関数t_eは装置の処理時間の平均。
  • を満たすもの

をGI/M/sの場合に拡張することを考えます。


さて、ジョブがGI/M/s待ち行列システムに到着した時、システム内にこのジョブを含めなくてk個(ただしk{\ge}sとする)のジョブがある確率\pi(k)は、「GI/M/s待ち行列の特性」の式(ここでは番号を振って式(2)とします)

  • \pi(k){\approx}\frac{b^{k+1-s}(1-b)}{u}\Pi・・・・(3)

で近似的に求めることが出来ます。今、到着したジョブはk-s+1個のジョブが処理終了するのを待つことになります。その最初の1個のジョブはすでに処理中ですが、s台の装置でそれぞれ処理中のジョブのどれかになります。このようにk-s+1個のジョブのうちいくつかは先ほどのジョブが到着した時にすでに処理中ですが指数分布の記憶なし特性のために、すでにどれだけの時間処理したかを気にする必要がありません。ここでは単に、任意の時点から、s台の装置のいずれかで処理終了が起きるまでの時間の分布を考えればよいことになります。これは平均

  • \frac{t_e}{s}・・・・(4)

の指数分布であることが分かります。よって、到着したジョブの待ち時間時間は平均時間t_e/sの指数分布を持つ確率変数k-s+1個の和になります。「アーラン分布」の「アーラン分布は指数分布の和」のセクションで述べたように、平均1/\lambdak個の指数分布の和はアーラン分布

  • \frac{\lambda^kt^{k-1}}{(k-1)!}\exp(-\lambda{t})・・・・(5)

となります。よって、ジョブが到着した時にシステム内に自分を含めなくてk個のジョブがある場合(ただしk{\ge}sとしす)の、到着したジョブが待つ時間の分布をf(t;k)とすると、

  • f(t;k)=\frac{s^{k-s+1}}{t_e^{k-s+1}}\frac{t^{k-s}}{(k-s)!}\exp\left(-\frac{st}{t_e}\right)・・・・(6)

となります。また[tex:ks]の場合は到着したジョブの待ち時間はゼロです。よってジョブの待ち時間の確率分布f_q(t)は[tex:t0]の場合に限定すれば

  • f_q(t)=\Bigsum_{k=0}^{\infty}f(t;k)\pi(k)=\Bigsum_{k=s}^{^infty}f(t;k)\pi(k)

となり、\pi(k)の値としてはk{\ge}sの場合の値のみを用いればよいことになります。k{\ge}sの場合の\pi(k)の値は式(3)で与えられるので、

  • f_q(t){\approx}\Bigsum_{k=s}^{\infty}\frac{s^{k-s+1}}{t_e^{k-s+1}}\frac{t^{k-s}}{(k-s)!}\exp\left(-\frac{st}{t_e}\right)\frac{b^{k-s+1}(1-b)}{u}\Pi
    • =\Bigsum_{k=1}^{\infty}\frac{s^k}{t_e^k}\frac{t^{k-1}}{(k-1)!}\exp\left(-\frac{st}{t_e}\right)\frac{b^k(1-b)}{u}\Pi
    • =\exp\left(-\frac{st}{t_e}\right)\frac{1-b}{u}\Pi\Bigsum_{k=1}^{\infty}\frac{s^k}{t_e^k}\frac{t^{k-1}}{(k-1)!}b^k=\exp\left(-\frac{st}{t_e}\right)\frac{1-b}{u}\Pi\Bigsum_{k=1}^{\infty}\left(\frac{sb}{t_e}\right)^k\frac{t^{k-1}}{(k-1)!}
    • =\exp\left(-\frac{st}{t_e}\right)\frac{1-b}{u}\frac{sb}{t_e}\Pi\Bigsum_{k=1}^{\infty}\left(\frac{sb}{t_e}\right)^{k-1}\frac{t^{k-1}}{(k-1)!}=\exp\left(-\frac{st}{t_e}\right)\frac{1-b}{u}\frac{sb}{t_e}\Pi\Bigsum_{k=0}^{\infty}\left(\frac{sbt}{t_e}\right)^k\frac{1}{k!}
    • =\exp\left(-\frac{st}{t_e}\right)\frac{1-b}{u}\frac{sb}{t_e}\Pi\exp\left(\frac{sbt}{t_e}\right)=\exp\left(-\frac{(1-b)st}{t_e}\right)\frac{1-b}{u}\frac{sb}{t_e}\Pi
    • =\left(\frac{b\Pi}{u}\right)\left(\frac{(1-b)s}{t_e}\right)\exp\left(-\frac{(1-b)st}{t_e}\right)

よってt>0の場合

  • f_q(t)\approx\left(\frac{b\Pi}{u}\right)\left(\frac{(1-b)s}{t_e}\right)\exp\left(-\frac{(1-b)st}{t_e}\right)・・・・(7)

となります。[tex:kk<sになる確率は「GI/M/s待ち行列の特性」の記述にあるように1-b\pi/uなのでジョブの待ち時間の分布は、待ち時間ゼロの時のが(近似的に)1-b\Pi/u、待ち時間がゼロより大きい場合の確率密度が式(5)で与えられる、ということになります。


上の確率分布を累積確率分布の形で表してみましょう。累積確率分布をF_q(t)で表すことにします。tの最低値は0であり、t=0である確率の近似値が1-b\Pi/uなので

  • F_q(0){\approx}1-\frac{b\Pi}{u}・・・・(8)

です。t>0の時のF_q(t)については

  • F_q(t)=F_q(0)+\Bigint_0^{t}f_q(\tau)d\tau・・・・(9)

を計算することで求めることが出来ます。式(9)の右辺の第2項は

  • \Bigint_0^{t}f_q(s)ds\approx\left(\frac{b\Pi}{u}\right)\left(\frac{(1-b)s}{t_e}\right)\Bigint_0^t\exp\left(-\frac{(1-b)s\tau}{t_e}\right)d\tau
    • =\left(\frac{b\Pi}{u}\right)\left(\frac{(1-b)s}{t_e}\right)\frac{-t_e}{(1-b)s}\left[\exp\left(-\frac{(1-b)s\tau}{t_e}\right)\right]_0^t
    • =-\frac{b\Pi}{u}\left[\exp\left(-\frac{(1-b)s\tau}{t_e}\right)\right]_0^t=\frac{b\Pi}{u}\left[1-\exp\left(-\frac{(1-b)st}{t_e}\right)\right]

となりますので、これを式(9)に代入すると

  • F_q(t){\approx}F_q(0)+\frac{b\Pi}{u}\left[1-\exp\left(-\frac{(1-b)st}{t_e}\right)\right]

これに式(8)を代入すると

  • F_q(t){\approx}1-\frac{b\Pi}{u}+\frac{b\Pi}{u}\left[1-\exp\left(-\frac{(1-b)st}{t_e}\right)\right]

よって

  • F_q(t){\approx}1-\frac{b\Pi}{u}\exp\left(-\frac{(1-b)st}{t_e}\right)・・・・(10)

式(10)から、F_q(0)=1-b\Pi/uであること、t\rightar{\infty}F_q(t)\rightar{1}になることを確かめることが出来ます。