1. 程式人生 > >雲端計算,CDN與光速極限

雲端計算,CDN與光速極限

zhejiang wenzhou skinshoe wet,rain flooding water will not fat!
竟然在公司茶水間沙發上睡著了,錯過了晚飯時間,就索性不吃了。夢魘讓我驚起而長嗟,然後有一點失落。

思考了一些關於雲端計算和CDN的點滴,作文以記之。


雲端計算 把所有的計算都推向了遠端,而 CDN 貌似又把資料拉到了就近。

雲端計算說的是計算過程越遠越集中越好,CDN部分的意思說的是,結果離你越近越好!

看似矛盾打架的雙方其實配合得非常和諧!雲端負責生產資料,而CDN並不生產資料,CDN只是資料的搬運工。

但是,只要在物理上存在距離,就會遇到不可規避的問題,即 光速的極限

在繼續討論之前,先看一個我昨天寫的一篇文章的評論:

對政府企業使用者,計算機用於計算和儲存比較多,適用於雲上計算。對個人使用者作為體驗消費的產品,比如遊戲這種實時渲染的需求,應該還是本地計算為主了

現在一個要回答的問題就是 “個人消費產品的實時渲染這種需求到底能不能上雲?”


我們假設,最近的CDN節點離你的個人消費終端螢幕的距離是1000米,同時假設該CDN節點可以幫你完成渲染(雖然它本來不該幹這個事,這個事是由更遠端的“雲”來做的),而你的終端機渲染元件距離螢幕5釐米,那麼運送一個位元組的資料,兩者完成時間便相差20000倍!!這便是光速的極限造成的不可彌合的差距!

這裡至少還沒有考慮傳輸介質造成的速率損耗,以及丟包重傳帶來的效能損耗!所以,正常來講,差距應該遠不止20000倍!

從這個資料上看,雲端計算/CDN在給人帶來的視聽體驗上來講,和本地計算機相比,簡直弱爆了!雲端計算確實僅僅適合可以解放企業算力和儲存開銷的場合,並不適合個人所渴望的那種所見即所得體驗的場合。


前段時間寫了一篇文章:
流水線式的TCP中繼代理是如何提高吞吐的https://blog.csdn.net/dog250/article/details/83997773

並不僅僅限於TCP,事實上所有的傳輸協議都 應該 是邏輯流水線化的,即一個視窗的資料來源源不斷填滿整個管道。如果邏輯流水線工作的不好,比如像TCP協議那樣,那麼就可以引入中繼代理來實現物理流水線。

還是上面那個渲染的例子,也就是說,雖然本地渲染和遠端渲染在距離上相差了20000倍,但是由於資料並不是基於位元組停等傳輸的,所以這裡的20000倍的差異可以 一次性的聚集在首位元組延遲 上。過了首位元組,後面的渲染和傳輸應該都是源源不斷地進行,和物理距離毫無關係!

首位元組延遲差異無法採用技術手段彌補,只能不斷縮短物理距離,但是可以從心理學上做做文章,比如在第一個位元組到達前插播早就cache在本地的廣告,或者諸如此類的手段。

且慢!

上面說了這麼多,有個前提,這些都是在 理想環境 的推論!所謂的理想環境就是網路上無需運作任何擁塞控制演算法,速率按照back-to-back傳送。但是在實際環境中,這是不可能的!

實際的網路環境一定是一個統計複用的博弈環境,但凡統計複用就一定有統計損耗,比如泊松分佈的序列/時間空洞是無法彌補的,所以說,理想環境幾乎永遠無法到達只能無窮逼近。

非理想環境 中,必然會有某種擁塞控制演算法在起作用,如果沒有集中化的全域性控制,僅僅依靠我們現有的TCP/IP分散式網路,任何區域性的擁塞控制都必然是 自啟發式 的。

這種啟發式的管控必然要基於傳輸速率或者某種事件來取樣,比如傳統的CC演算法用丟包來識別擁塞,那麼到底是CC避免了丟包還是CC導致了丟包?這似乎永遠是一個因果測不準的問題,所以說CC必然導致效能的損耗!這種損耗即便全網SDN也無法徹底消除。

所以說,在共享複用的環境中,物理距離的差異似乎非常難以彌補,遠端渲染這種依然是不太可行的。


那麼怎麼辦?

突破光速極限帶來的體驗延遲,除了不斷縮短物理距離到本地之外,還有一種方法,即寄希望於 量子通訊,我說的不是那種噱頭式的量子通訊,而是真正的,基於量子糾纏理論的編碼和通訊技術!

量子糾纏是個好東西,也許所謂的心靈感應,第六感這種無法解釋的玩意兒真的基於量子糾纏的呢。

量子物理目前來講還處在非常初級的能看到但無法解釋的截斷,雖然在實驗中確實發現了量子糾纏,比如還有薛定諤的貓,海森堡測不準等等,但是背後到底隱藏著什麼能用現代理論解釋的東西,至今還不知道。這應該是理論物理學的下一階段的突破口吧…《三體》裡面的很多東西,希望能在現實中看到,比如還有降維打擊(把蟲子踩扁不知道算不算)。


我們可以把CDN看作是雲端產出的輸送機制,如果我們把雲看作是發電站的話。

其實在電力供應領域,一開始也是面臨長距離輸電的損耗問題,最後通過升壓輸送得以解決或者至少是緩解了損耗。我們可以把大家小區門口的變壓器,以及城市區縣的變電站看作是電力CDN的一級,二級快取節點。

道理是一樣的,如果雲端計算資源真的就是水電燃氣一樣的基礎設施,那麼遠距離輸送問題就一定能解決。拭目以待!


最後說點關於昨晚玩的serverless的話題。

早上看了一篇公眾號推送的文章:
2018 重溫 Unix 哲學https://linux.cn/article-10282-1.html
確實是印證了 日光之下,並無新事

像serverless這種,其實背後的思想和UNIX哲學不謀而合。


浙江溫州皮鞋溼,下雨進水不會胖。