问题:为什么流量强度为 1 时排队时延是无穷?
TL;DR : 包抵达是随机过程中的泊松过程,若包处理并发出的速率恒定,其稳态下平均排队时延为:
W
q
=
ρ
2
μ
(
1
−
ρ
)
W_q = \frac{\rho}{2\mu(1-\rho)}
Wq=2μ(1−ρ)ρ,当流量强度 ρ 趋近于1时,排队时延趋于无限。
A Top Down Approach 第一章1.4.2部分中,提到的流量强度为1时队长趋于无限。
根据书中内容,有
λ
=
L
a
\lambda = La
λ=La的(每个分组
L
L
L比特,
a
a
a 分组/秒),
R
R
R 为传输速率如10Mbps,即
μ
=
R
\mu=R
μ=R.
其中
λ
\lambda
λ 和
μ
\mu
μ 这两个参数是重点,容易看出流量强度就是
ρ
=
λ
/
μ
\rho=\lambda /\mu
ρ=λ/μ。
问题就在于,为什么输入路由器的速率跟路由器发出的速率一致时,会无限排队(如果队列空间无限大),而不是进一个出一个使得排队情况稳定在某个值上?
首先得确定一点,如果所有分组都是周期性抵达,稳定一秒来一个分组,并且一秒处理完一个分组(发出),那么队列将稳定在一个定值上(本来有3个分组在排队,之后队伍+1和-1同时发生,那么将会永远保持3个分组)。
然而就像书中强调的,所有分组的抵达是随机过程,并且此过程一般符合泊松分布(Poisson distribution),那结果就有点不一样了。
根据排队论中以 Kendall表示法 所标示的M/M/1排队模型理论,包抵达是泊松过程,即包抵达时间间隔服从指数分布(Exponential distribution),则将会有稳态下 i 个分组在路由器中的概率为:
P
(
i
)
=
(
1
−
ρ
)
ρ
i
(1)
P(i) = (1-\rho)\rho^i \tag{1}
P(i)=(1−ρ)ρi(1)
那么在路由器中的平均分组数量 Ls 可以用下面的公式表示:
L
s
=
0
∗
P
(
0
)
+
1
∗
P
(
1
)
+
2
∗
P
(
2
)
+
⋅
⋅
⋅
n
∗
P
(
n
)
=
∑
n
=
1
∞
n
P
(
n
)
(2)
L_s = 0* P(0) +1*P(1)+2*P(2)+···n*P(n) = \sum_{n=1}^\infty {n}{P(n)}\tag{2}
Ls=0∗P(0)+1∗P(1)+2∗P(2)+⋅⋅⋅n∗P(n)=n=1∑∞nP(n)(2)
将 (1) 代入 (2) 中并推导可得(具体推导流程不赘述):
L
s
=
ρ
(
1
−
ρ
)
(3)
L_s = \frac{\rho}{(1-\rho)}\tag{3}
Ls=(1−ρ)ρ(3)
从(3)中容易看出,当流量强度
ρ
→
1
\rho \rightarrow1
ρ→1 时,路由器中平均留存分组数
L
s
→
∞
L_s \rightarrow\infty
Ls→∞,即平均排队时延 :
W
q
=
ρ
μ
−
ρ
(4)
W_q = \frac{\rho}{\mu-\rho}\tag{4}
Wq=μ−ρρ(4)
将趋于无穷。(具体可参考Birth–death process)
然而M/M/1模型的服务时间是指数分布(Exponential distribution),而路由器发射数据包的耗时应该服从确定性分布/退化分布(Degenerate distribution),处理一个等长的数据包理论时间应该是固定的,那流量强度为1时结果还是排队时延无穷吗?
是的。
同样的,根据 Kendall表示法 ,这种模型被称为M/D/1排队模型,与M/M/1模型类似,能求出系统中平均分组数量(省略推导流程):
W
q
=
ρ
+
1
2
(
ρ
2
1
−
ρ
)
(5)
W_q = \rho+\frac12(\frac{\rho^2}{1-\rho})\tag{5}
Wq=ρ+21(1−ρρ2)(5)
而平均排队时延为:
W
q
=
ρ
2
μ
(
1
−
ρ
)
W_q = \frac{\rho}{2\mu(1-\rho)}
Wq=2μ(1−ρ)ρ
从 (5) 和 (6) 中容易看出,当流量强度
ρ
→
1
\rho \rightarrow1
ρ→1时,路由器中平均留存分组数
L
s
→
∞
L_s \rightarrow\infty
Ls→∞,即平均排队时延
W
q
→
∞
W_q \rightarrow\infty
Wq→∞。
