前面用 aimd 系統分析了交換機 buffer 需求量隨流數量增加而減少,今天從更一般的角度繼續分析這事。
將交換機建模為一個 m/m/1 排隊系統,多流場景下它就會變成一個 m/g/1 排隊系統,而這事比前面的 aimd 系統分析更容易推導。
m/m/1 系統中的 n 條流相當于 n 個參數為 λ 的泊松過程的疊加,如果帶寬資源恰好均分,結果就是一個參數為 n(λ/n) = λ 的泊松過程,看起來沒有什么變化,但這是事實嗎?
統計復用的波動和穩定性,背后就是大數定律和中心極限定理。先從大數定律給出直感覺。
設 X?,X?,X?,…,X? 為來自 n 個泊松過程的隨機變量,它們具有相同的期望值 λ/n 和方差 λ/n。這些隨機變量的平均值為 S? = (X? + X? + X? + … + X?) / n,根據大數定律,對于任意 ε > 0,有 lim(n→∞) P(|S? - λ/n| ≥ ε) = 0,所以 S? 趨向于固定值 λ/n,n 非常非常大時,疊加效果 nS? 就等于 λ,不再波動,當 n 雖非無窮但也非常大時,疊加效果 nS? 則圍繞在 λ 周圍微弱波動,我們將 buffer 作為吸收統計波動的工具,波動越微弱,所需 buffer 就越小。
現在中心極限定理出來解釋一下為什么疊加后參數依然為 λ 的泊松過程卻帶來了巨大變化,極大減弱了波動。
當 n 非常非常大時,泊松分布疊加后將越來越像正態分布,隨之 m/m/1 系統也逐漸變成 m/g/1 系統,而對于 m/g/1 系統,計算排隊時延,隊列容量的公式與 m/m/1 的泊松分布假設完全不同,此處不贅述。
來定性分析一下中心極限定理的結論。設 X?,X?,X?,…,X? 為來自 λ/n 泊松分布的隨機變量,n 趨向 ∞ 時正態分布的期望和方差分別為 λ/n 和 λ2/n3,將 n 個這樣的正態分布疊加依然是正態分布,期望和方差分別為 nλ/n = λ,nλ2/n3 = λ2/n2,其標準差為 λ/n,與 n 成反比。由此可見,從中心極限定理得到了和大數定律中得到的一致的結論,即隨著 n 增加,到達過程的變異性將降低,波動性減少,對 buffer 需求減少。
浙江溫州皮鞋濕,下雨進水不會胖。