欢迎光临
我们一直在努力

网络可用性,扩展性,性能的统计本质

网络是统计的,是不确定的,这话天天说,就不在乎再说一次,就着前文 为什么高速网络更怕抖动 接着说。从独立随机流叠加定理开始:

  • n

    n

    n 条独立同分布的到达流叠加,总到达过程随

    n

    n

    n 增多呈现泊松分布;

我的解释是广义中心极限定理在计数过程上的特例,似乎有点泊松分布随

λ

\\lambda

λ 增加趋向正态分布的意思,要不是泊松分布左边有一堵

x

=

0

x=0

x=0 的墙,它事实上就是正态分布,增大

λ

\\lambda

λ 只是把整个图形右移,泊松分布左边墙后面的尾巴就露出来了。

本文先说三个同构的流叠加场景,并分析对应结论下的实际行为和启示:

  • 泊松极限,即总均值

    λ

    \\lambda

    λ 恒定的稀疏流叠加,总带宽一定;

  • 大数定理,广义

    C

    L

    T

    CLT

    CLT,即总均值为常数的负载切分,总

    B

    D

    P

    BDP

    BDP 一定;

  • 经典

    C

    L

    T

    CLT

    CLT,即固定强度单流的叠加,总带宽无限,边际成本递减;

  • 上述三大统计律下的实际网络流量行为;

泊松极限说的是,给定有限总到达率,把总流量拆成

n

n

n 条独立同分布,稀疏的子流,当流数量

n

→

∞

n\\to\\infty

n→∞,每条子流到达率

→

0

\\to 0

→0,聚合后的整体到达过程收敛为泊松过程。

总到达率

λ

total

\\lambda_{\\text{total}}

λtotal​ 恒定,拆为

n

n

n 条独立子流,单流到达率

λ

n

=

λ

total

n

\\lambda_n = \\dfrac{\\lambda_{\\text{total}}}{n}

λn​=nλtotal​​,当

n

↑

,

λ

n

→

0

n\\uparrow,\\lambda_n \\to 0

n↑,λn​→0,每条流平均很久才发一个报文,就是稀疏流。

形象地看,在聚合之前,单条流突发极强,扎堆发送和长时间静默交替,此时其

C

a

≫

1

C_a\\gg1

Ca​≫1,拆分后聚合,扎堆被分散,每一条流发包的平均间隔延长,任意小区间,同时有两个及以上子流发包的概率极低,绝大多数情况

1

1

1 个或

0

0

0 个。这种大量独立且稀有事件叠加的行为,即泊松过程的典型。

抛

n

n

n 枚独立硬币,每枚正面概率

p

→

0

p\\to0

p→0,总期望

n

p

=

λ

np=\\lambda

np=λ 固定,正面出现次数趋近泊松分布,网络流叠加和它同一种数学结构。

若用数学描述,也不麻烦。把时间切为极小的时隙

Δ

t

\\Delta t

Δt,单个时隙内,总共有报文到达的数量,服从二项分布

B

(

n

,
 

p

n

)

B(n,\\,p_n)

B(n,pn​):

P

(

k

)

=

(

n

k

)

 

p

n

k

 

(

1

−

p

n

)

n

−

k

P(k) = \\binom{n}{k}\\,p_n^k\\,(1-p_n)^{n-k}

P(k)=(kn​)pnk​(1−pn​)n−k

总平均到达数固定的约束下:

λ

=

n
 

p

n

=

常数

\\lambda = n\\,p_n =\\text{常数}

λ=npn​=常数

即

p

n

=

λ

n

p_n = \\dfrac{\\lambda}{n}

pn​=nλ​,满足当 $n\\to\\infty $ 时,

p

n

→

0

p_n\\to0

pn​→0.

代入二项分布并求极限:

lim

⁡

n

→

∞

(

n

k

)

(

λ

n

)

k

(

1

−

λ

n

)

n

−

k

=

λ

k

e

−

λ

k

!

\\begin{aligned} \\lim_{n\\to\\infty} \\binom{n}{k}\\left(\\dfrac{\\lambda}{n}\\right)^k \\left(1-\\dfrac{\\lambda}{n}\\right)^{n-k} &= \\dfrac{\\lambda^k e^{-\\lambda}}{k!} \\end{aligned}

n→∞lim​(kn​)(nλ​)k(1−nλ​)n−k​=k!λke−λ​​

看,右边正是泊松分布的概率质量函数:

P

(

N

=

k

)

=

λ

k

e

−

λ

k

!

P(N=k) = \\dfrac{\\lambda^k e^{-\\lambda}}{k!}

P(N=k)=k!λke−λ​

这就是独立随机流叠加定理的一般结论,

n

→

∞

,

 

p

n

→

0

,

 

n

p

n

=

常数

n\\to\\infty,\\ p_n\\to0,\\ np_n=\\text{常数}

n→∞, pn​→0, npn​=常数 条件下,独立稀疏伯努利试验的叠加趋向泊松分布,即大量独立,稀疏的子流叠加,到达计数过程收敛为泊松过程。

泊松过程的到达间隔

X

X

X 服从指数分布:

f

(

x

)

=

λ

e

−

λ

x

,

x

≥

0

f(x) = \\lambda e^{-\\lambda x},\\quad x\\ge 0

f(x)=λe−λx,x≥0

指数分布矩性质,

E

[

X

]

=

1

λ

,

V

a

r

(

X

)

=

(

1

λ

)

2

\\text{E}[X] = \\dfrac{1}{\\lambda},\\quad \\mathrm{Var}(X) = \\left(\\dfrac{1}{\\lambda}\\right)^2

E[X]=λ1​,Var(X)=(λ1​)2

代入到达变异系数定义:

C

a

=

V

a

r

(

X

)

E

[

X

]

=

1

λ

1

λ

=

1

C_a = \\dfrac{\\sqrt{\\mathrm{Var}(X)}}{\\mathrm E[X]} = \\dfrac{\\dfrac{1}{\\lambda}}{\\dfrac{1}{\\lambda}}=1

Ca​=E[X]Var(X)

​​=λ1​λ1​​=1

所以趋向于泊松过程的聚合流,

C

a

→

1

{C_a \\to 1}

Ca​→1。

这就是骨干网,移动通信基站,小区宽带的设计依据,将大量独立稀疏用户流聚合,流量突发会被自然抹平,最终趋近平稳泊松流。

接入用户数越多,整体流量抖动越稳定,只要

ρ

\\rho

ρ 不过大,链路可以跑高利用率仍保持低时延:

W

q

=

ρ

⋅

E

[

S

]

2

(

1

−

ρ

)

⋅

(

C

a

2

+

C

s

2

)

→

W

q

≈

ρ

⋅

E

[

S

]

2

(

1

−

ρ

)

W_q=\\dfrac{\\rho\\cdot\\text{E}[S]}{2(1-\\rho)}\\cdot(C_a^2+C_s^2)\\to W_q\\approx\\dfrac{\\rho\\cdot\\text{E}[S]}{2(1-\\rho)}

Wq​=2(1−ρ)ρ⋅E[S]​⋅(Ca2​+Cs2​)→Wq​≈2(1−ρ)ρ⋅E[S]​

但随着总负载

λ

\\lambda

λ 增加,

ρ

\\rho

ρ 增至过大,聚合后越发趋向对称钟形正态分布,钟形被压扁,排队时延

W

q

W_q

Wq​ 趋向增加。

另一方面,若在长程依赖场景,存在流的集合同步突发,各流发包便不再是独立稀有事件,就不会收敛到泊松流,这在重大新闻播报,赛事等场景下是常态。

为解决以上两类统计偏离问题,就要触发拥塞控制,既要确保足够的带宽,又要确保公平性,这就

buffer

\\text{buffer}

buffer 的主场了。

本文第二个场景,大数定律下的广义

CLT

\\text{CLT}

CLT 极限,buffer 一定下,

BDP

\\text{BDP}

BDP 总量固定,单流尺度随

1

n

\\dfrac{1}{n}

n1​ 收缩且不影响

BDP

\\text{BDP}

BDP,以经典

AIMD

\\text{AIMD}

AIMD 为例,

α

=

1

,

β

=

0.5

\\alpha=1,\\beta=0.5

α=1,β=0.5 建模。

设

n

n

n 个独立同分布随机变量

X

k

∈

{
 

1

n

,
  

2

n

 

}

,

k

=

1

,

2

,

…

,

n

X_k \\in \\left\\{\\,\\dfrac{1}{n},\\;\\dfrac{2}{n}\\,\\right\\},\\quad k=1,2,\\dots,n

Xk​∈{n1​,n2​},k=1,2,…,n,假设两点等概率:

P

(

X

k

=

1

n

)

=

1

2

,

P

(

X

k

=

2

n

)

=

1

2

P\\left(X_k=\\tfrac1n\\right) =\\dfrac12,\\quad P\\left(X_k=\\tfrac2n\\right) =\\dfrac12

P(Xk​=n1​)=21​,P(Xk​=n2​)=21​

至于

{
 

1

n

,
  

2

n

 

}

\\left\\{\\,\\dfrac{1}{n},\\;\\dfrac{2}{n}\\,\\right\\}

{n1​,n2​} 区间的保证则来自

AIMD

\\text{AIMD}

AIMD,或者更普遍的端到端

capacity-seeking

\\text{capacity-seeking}

capacity-seeking 算法。

n

n

n 条流的叠加和:

S

n

=

X

1

+

X

2

+

⋯

+

X

n

S_n = X_1 + X_2 + \\dots + X_n

Sn​=X1​+X2​+⋯+Xn​

单个变量均值 :

μ

=

E

[

X

k

]

=

1

2

⋅

1

n

+

1

2

⋅

2

n

=

3

2

n

\\mu =\\text{E}[X_k]=\\dfrac12\\cdot\\frac1n +\\dfrac12\\cdot\\dfrac2n=\\dfrac{3}{2n}

μ=E[Xk​]=21​⋅n1​+21​⋅n2​=2n3​

单个变量方差:

Var

(

X

k

)

=

E

[

X

k

2

]

−

(

E

[

X

k

]

)

2

=

1

4

n

2

\\text{Var}(X_k)=\\text{E}[X_k^2]-\\big(\\text{E}[X_k]\\big)^2=\\dfrac{1}{4n^2}

Var(Xk​)=E[Xk2​]−(E[Xk​])2=4n21​

利用独立变量和性质:

E

[

S

n

]

=

n

⋅

μ

,

Var

(

S

n

)

=

n

⋅

Var

(

X

k

)

\\text{E}[S_n]=n\\cdot\\mu,\\quad\\text{Var}(S_n)=n\\cdot \\text{Var}(X_k)

E[Sn​]=n⋅μ,Var(Sn​)=n⋅Var(Xk​)

故:

E

[

S

n

]

=

n

⋅

3

2

n

=

3

2

\\text{E}[S_n]=n\\cdot\\dfrac{3}{2n}={\\dfrac{3}{2}}

E[Sn​]=n⋅2n3​=23​

总均值恒为常数,不随

n

n

n 变化,在

BDP

\\text{BDP}

BDP 一定时,总负载真不变。

现在看方差,标准错:

V

a

r

(

S

n

)

=

n

⋅

1

4

n

2

=

1

4

n

\\mathrm{Var}(S_n)=n\\cdot\\dfrac{1}{4n^2}={\\dfrac{1}{4n}}

Var(Sn​)=n⋅4n21​=4n1​

σ

S

n

=

V

a

r

(

S

n

)

=

1

2

n

\\sigma_{S_n}=\\sqrt{\\mathrm{Var}(S_n)}=\\dfrac{1}{2\\sqrt{n}}

σSn​​=Var(Sn​)

​=2n

​1​

方差趋于

0

0

0,说明

n

n

n 越大

X

ˉ

n

\\bar X_n

Xˉn​ 越集中在期望附近,满足大数定律,平均结果随

n

n

n 增大越来越稳定,波动消失,这就是我此前论证的,流越多,所需的

buffer

\\text{buffer}

buffer 越少,参见 为什么流越多,所需 buffer 越少,主宰 TCP AIMD 的中心极限定理。

OK,我已经展示了

C

a

→

1

C_a\\to 1

Ca​→1 的泊松极限,以及

buffer

→

0

\\text{buffer}\\to 0

buffer→0 的大数定律,它们的承接关系在于,泊松极限确定了由

ρ

\\rho

ρ 度量的吞吐和平均时延的固定关系,即

C

a

=

1

C_a=1

Ca​=1 下的

W

q

W_q

Wq​ 表达式,保证了资源的利用率和基础性能,而大数定律则以

BDP

\\text{BDP}

BDP 约束了

W

q

W_q

Wq​ 的界限,确保了网络的可用性。

一个直观的表示,泊松极限固定了网络最佳效用($\\dfrac{吞吐}{时延} $)时的波动,而大数定律消除了整体的波动,让统计变得确定,可观测。

若撤销泊松极限和

BDP

\\text{BDP}

BDP 大数定律的约束,最后看中心极限定理的规模效应。

设每条子流自身均值,方差固定,与

n

n

n 无关:

E

[

X

i

]

=

μ

,

 

V

a

r

(

X

i

)

=

σ

0

2

,

σ

X

i

=

σ

0

\\text{E}[X_i]=\\mu,\\ \\mathrm{Var}(X_i)=\\sigma_0^2,\\quad\\sigma_{X_i}=\\sigma_0

E[Xi​]=μ, Var(Xi​)=σ02​,σXi​​=σ0​

n

n

n 条流叠加,总负载随流数线性增大,

n

→

∞

n\\to\\infty

n→∞ 时

S

n

S_n

Sn​ 依分布收敛为正态分布。叠加总和

S

n

S_n

Sn​:

E

[

S

n

]

=

n

μ

,

V

a

r

(

S

n

)

=

n

σ

0

2

,

σ

S

n

=

σ

0

n

\\text{E}[S_n] = n\\mu ,\\quad \\mathrm{Var}(S_n) = n\\sigma_0^2,\\quad \\sigma_{S_n} = \\sigma_0\\sqrt{n}

E[Sn​]=nμ,Var(Sn​)=nσ02​,σSn​​=σ0​n

​

σ

S

n

\\sigma_{S_n}

σSn​​ 的

n

\\sqrt{n}

n

​ 增长意味着规模效应,将抖动作为成本,则边际成本递减,这便是多路统计复用网络的第一个基础,它决定了网络的可扩展性,资源的扩展能撑得住负载的扩展,同时负载也能吃得下资源的扩展。

而加上泊松极限和大数定律的约束后,这便是一个归一化操作,在中心极限定理下,等效单流

X

ˉ

n

=

S

n

n

\\displaystyle \\bar X_n=\\frac{S_n}{n}

Xˉn​=nSn​​,则:

E

[

X

ˉ

n

]

=

μ

,

V

a

r

(

X

ˉ

n

)

=

σ

0

2

n

,

σ

X

ˉ

n

=

σ

0

n

\\text{E}[\\bar X_n]=\\mu,\\quad \\mathrm{Var}(\\bar X_n)=\\dfrac{\\sigma_0^2}{n},\\quad \\sigma_{\\bar X_n}=\\dfrac{\\sigma_0}{\\sqrt{n}}

E[Xˉn​]=μ,Var(Xˉn​)=nσ02​​,σXˉn​​=n

​σ0​​

这与大数定律的结论同归,分摊到单流的抖动随

1

n

\\dfrac{1}{\\sqrt{n}}

n

​1​ 减小。

以上这三大统计律勾勒了所有统计复用网络的基本轮廓,该轮廓下包括几乎所有的单独的网络架构和技术,GPON 广播选收,基站,骨干网,切片,flowlet,固定速率业务,… 以及剩下的让网络变复杂的技术。我们从来没有见过

buffer

=

0

\\text{buffer}=0

buffer=0 的配置,这是为什么。

所以说,它们三个是分组交换网络统计复用的基石,覆盖了流量叠加,突发平滑,

buffer

\\text{buffer}

buffer 的核心。在这三大统计律起作用的理想的,平衡的范围内,运行着并不遵守模型假设的实际流量,正是它们决定着上述提到的让网络变复杂的技术:

  • 网络流量符合随机游走模型;
  • 网络流量呈现重尾分布特征;
  • 网络流量的时间尺度自相似;

首先看随机游走模型描述的网络队列,定义关键统计量,漂移量:

δ

=

E

[

单时隙净增量

]

=

E

[

到达数

]

−

E

[

服务数

]

\\delta = \\text{E}[\\text{单时隙净增量}] = \\mathrm{E}[\\text{到达数}]-\\mathrm {E}[\\text{服务数}]

δ=E[单时隙净增量]=E[到达数]−E[服务数]

由于拥塞控制(叠加 AQM Policing)会确保

ρ

=

平均到达率

平均服务率

<

1

→

δ

<

0

\\rho=\\dfrac{平均到达率}{平均服务率}\\lt1\\to\\delta\\lt0

ρ=平均服务率平均到达率​<1→δ<0,队列长度是常返状态,高队列只是临时现象,不会无限堆积,拥塞只是暂时的,这和交通拥堵模型一致,可以经常堵,但不会一直堵,这意味着网络是持续可用的。

瞬时突发可以把队列打高,但只要

ρ

<

1

\\rho<1

ρ<1,大数定律会把队列拉回,收敛回归。

再看重尾分布,帕累托分布是其最经典模型,这与取值越大,概率指数级快速衰减的理想建模的指数分布,泊松分布非常不同。

设随机变量

X

X

X 描述流长度等特征,标准帕累托重尾分布由两个参数决定:

  • 形状参数

    α

    >

    0

    \\alpha\\gt0

    α>0,Pareto 指数,控制尾部厚度;

  • 尺度参数

    x

    m

    >

    0

    x_m\\gt0

    xm​>0,随机变量的最小取值;

其概率密度函数和累积分布函数分别为:

f

(

x

;

α

,

x

m

)

=

α

x

m

α

x

α

+

1

,

x

≥

x

m

f(x;\\alpha,x_m)=\\dfrac{αx_m^{\\alpha}}{x^{\\alpha+1}},\\quad x\\ge x_m

f(x;α,xm​)=xα+1αxmα​​,x≥xm​

F

(

x

)

=

1

−

(

x

m

x

)

α

,

x

≥

x

m

F(x)=1−\\left(\\dfrac{x_m}{x}\\right)^{\\alpha},\\quad x\\ge x_m

F(x)=1−(xxm​​)α,x≥xm​

右尾概率为:

P

(

X

≥

x

)

=

(

x

m

x

)

α

P(X\\ge x)=\\left(\\dfrac{x_m}{x}\\right)^\\alpha

P(X≥x)=(xxm​​)α

这就是重尾,右尾衰减慢,其特征在于幂律衰减和尺度不变性,若

X

∼

Pareto

(

α

,

x

m

)

X\\sim\\text{Pareto}(\\alpha,x_m)

X∼Pareto(α,xm​),则对任意

c

>

0

c\\gt0

c>0,

c

X

∼

Pareto

(

α

,

c

x

m

)

cX\\sim\\text{Pareto}(\\alpha,cx_m)

cX∼Pareto(α,cxm​),即改变度量单位不改变分布的形状,双对数坐标下

log

⁡

⁡

f

(

x

)

\\log⁡f(x)

log⁡f(x) 与

log

⁡

⁡

x

\\log⁡x

log⁡x 呈斜率为

−

(

α

+

1

)

−(\\alpha+1)

−(α+1) 的线性关系。

直观理解,虽然大流量,长流是小概率事件,但概率衰减很慢,极端大值频繁现身。

均值有限,但方差极大,极端突发频发,这似乎违背了理想建模的泊松极限,正如现实中根本见不到理想瘦网一样,现实中的重尾分布极大促进了 CDN,AQM,流量工程的发展演化,网络加入了智能而非理想化的裸哑,此乃原因。

重尾意味着少数热点对象被频繁访问,这就是 CDN 缓存的依据,但尾部对象极多,缓存命中率有上限,这又是 L1/L2 分级缓存的依据,CDN 成了一个复杂的技术。

理想模型下单一简单的 FIFO 将不再适合重尾流量,RED,ECN,CoDel 被设计出来主动管理相对频发的小概率重尾流量,网络转发节点因此变得复杂,不再裸哑。

由于重尾的存在,优先级队列需要更加灵活,可以 hash,识别并隔离频发的小概率重尾流量,以保证公平性,容量规划势必要做得更多,以适应实际均峰比很大的网络。

接下来看流量的自相似性叠加重尾。

理想泊松流量,小时间尺度的波动大于大时间尺度,泊松极限,大数定律让波动变得平滑,但发起流量的是长相关,自相似世界,则流量自相似,在

m

s

,

s

,

m

,

h

,

d

ms,s,m,h,d

ms,s,m,h,d 等所有时间尺度上,流量的突发,波动基本一致。

Hurst 指数

H

H

H 用于判断时间序列是随机游走还是具有长期记忆性,它量化了自相似程度,其核心关系为:

R

(

n

)

S

(

n

)

∼

c

⋅

n

H

\\dfrac{R(n)}{S(n)}\\sim c\\cdot n^H

S(n)R(n)​∼c⋅nH

其中

R

(

n

)

R(n)

R(n) 为极差,

S

(

n

)

S(n)

S(n) 为标准差,

n

n

n 为观测值个数,

c

c

c 为常数。

H

=

0.5

H=0.5

H=0.5 时,时间序列为无记忆随机游走,对应泊松流的独立增量假设,

0.5

<

H

<

1

0.5\\lt H\\lt1

0.5<H<1 时,存在长期正相关性,即过去的增量倾向于影响未来的增量方向,高峰之后更可能还是高峰,低谷之后更可能还是低谷。这正是网络流量自相似性的数学刻画。

网络流量分析实测的

H

H

H 值通常在

0.7

~

0.94

0.7~0.94

0.7~0.94,远大于

0.5

0.5

0.5,说明流量具有显著的长程依赖,即突发不会在短时间尺度上被平滑掉,而是在多个时间尺度持续。

这直接解释了为什么泊松极限和大数定律在实际网络中失效,它们的前提假设是独立增量,而

H

>

0.5

H\\gt0.5

H>0.5 意味着独立性假设被违背。波动在所有时间尺度都抹不平,拥塞易持续,扩散,流量建模,容量规划难度上升,为适配理想与实际的不一致,网络

buffer

\\text{buffer}

buffer 不得不变大,预留更大的突发余量。

为什么理论上的统计复用网络很确定,但现实里依然有卡顿,抖动,拥塞,这一切都源自于人和社会本身,没人能控制这些,也没有算法能,正如没人能控制人和社会本身一样,其根源就是统计不确定性,而在统计复用网络中,你又必须把确定性交给统计。

浙江温州皮鞋湿,下雨进水不会胖。

赞(0)
未经允许不得转载:171主机测评 » 网络可用性,扩展性,性能的统计本质
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址