|
高端通信系統(tǒng)設(shè)計從來就是一個困難的話題。一個優(yōu)秀的系統(tǒng)設(shè)計往往決定了其競爭力和相應(yīng)的生命周期。
本文試圖闡述筆者對下一代高端通信系統(tǒng)設(shè)計的一些展望。拋豆腐引磚塊,其目的是通過讀者的評論,使得美軍,共軍,國軍,偽軍等的知識和經(jīng)驗可以共享。使得Open Source的精神發(fā)揚光大。
1。 LDF Rule(Legacy Decides Future) 系統(tǒng)都是演變的,而非設(shè)計的。一個好的系統(tǒng)設(shè)計必須首先滿足對歷史系統(tǒng),歷史代碼的演進(jìn)路標(biāo)。否則,就是在做Science,而非Engineering。這方面最大的挑戰(zhàn)就是在哪個release去掉哪些歷史遺留問題。改良的代價一定是小于革命。
在這個第一重要的法則里,要求的是系統(tǒng)設(shè)計師必須了解細(xì)節(jié)。需要能進(jìn)能出[想歪了的同學(xué)請自己懲罰一下自己邪惡的心靈]。要的是能bottom up。然后在bottom up的基礎(chǔ)上,進(jìn)行top down的設(shè)計。缺一不可。只能bottom inside,是一個單純的工程師;只能top through就是一個玩膠片的大忽悠。
2。 CDMD Convergence Rule (Control Plane,Data Plane,Management Plane and Debug Plane Convergence) 這個rule類似與我大宋氣功中的一句經(jīng)典法則:人身無處不丹田。啥意思呢? 控制平面,數(shù)據(jù)平面,管理平面,調(diào)試平面都將是一個邏輯的概念,而非一個物理的實體,例如控制平面卡,數(shù)據(jù)平面卡。。。
上述的各個Plane都是你中有我,我中有你。[想歪了的同學(xué)請自己懲罰一下自己邪惡的心靈]。
在任何一個環(huán)節(jié)都需要有相應(yīng)的邏輯部分。整體系統(tǒng)的任何一個平面是通過分布在系統(tǒng)各個環(huán)節(jié)中的子平面來共同構(gòu)成的。
這方面最大的挑戰(zhàn)是:系統(tǒng)架構(gòu)師必須對分布式系統(tǒng)的設(shè)計非常過敏,sorry,敏感。
在分布式系統(tǒng)設(shè)計中,一個最重要的理論悖論是: 在分布式系統(tǒng)中,在任何時刻,在任何一個節(jié)點上,是無法知道當(dāng)時的全局狀態(tài)的。
這是啥意思呢?
就是,除了上帝,你在一個時刻點Ti,是不可能知道Ti時刻系統(tǒng)其他信息的。你能知道的信息只能是T(i+Delta)。這個Delta就是通信開銷所帶來的。
大白話就是,楊小姐(楊貴妃),從理論上,Y從來就沒有吃過新鮮的荔枝,no matter驛道上的馬兒跑的有多快。
在這個分布式天生的死穴問題上,帶來的問題是最多的。
作為系統(tǒng)架構(gòu)師,必須對時序邏輯(Temporal Logic)有所掌握。Otherwise, 系統(tǒng)設(shè)計一定是漏洞十出。
另外,分布式系統(tǒng)的nature決定了任何全局算法的優(yōu)化一定不是最優(yōu)的,而是次優(yōu)的。 在CDMD Convergence的設(shè)計基礎(chǔ)上,一個很大的演變就是:C,D,M,D的計算資源的自適應(yīng)(Adaptive)的調(diào)配。而非靜態(tài)的劃分。
要充分利用計算池的模型,Processing on Demand。
3。CTP(Close To Port, Close To Packet, Close To Payload) Rule 計算或者存儲能力一定要離端口(Port)近,離數(shù)據(jù)(Packet Descriptor和Payload)近。越遠(yuǎn),越歇火。 當(dāng)官是要離黨中央近。做系統(tǒng)是要離Traffic近。
這里的一個設(shè)計Case study 是:要充分利用系統(tǒng)中線卡,處理卡,I/O卡上的計算能力。這些計算能力是離端口最近的,對Traffic而言,是Local Bus的距離,而非Interconnect的長途跋涉。
計算是分布的。分布計算的集合就是系統(tǒng)的總體計算和(或)處理能力。
4。 CCNUMA Adoption Rule CCNUMA一定會被廣泛的用在將來的高端通信系統(tǒng)中。
只有CCNUMA的應(yīng)用,才能達(dá)到分布式技術(shù)的同時,又能支持歷史系統(tǒng),CDMD的融合和Close to Port的法則。
在CCNUMA系統(tǒng)設(shè)計中,必須對Memory的分布非常敏感??鏘nterconnect,例如QPI,的過分存取,一定是帶來硬傷。
系統(tǒng)架構(gòu)師必須對Cache,L1,L2,和L3和ccNUMA-Interconnect,例如QPI等一些知識有足夠的積累和實戰(zhàn)能力。否則,很難把握CCNUMA系統(tǒng)。
5。 Hybrid Model Rule ASIC,F(xiàn)PGA等等不會消亡。消亡的是你革命的心。任何設(shè)計都是一個性價比的折衷。 天下沒有最美麗的女子;只有最適合你的女人。 在這個設(shè)計法則方面,要格外注意ASIC或者FPGA上的控制CPU的計算能力的浪費。 在CCNUMA的基礎(chǔ)上,所有的CPU的整合就是一個CPU。所不同的是處理的數(shù)據(jù)可以不同而已。
6。 MapReduce Rule
經(jīng)典的并行計算的MIMD模型應(yīng)該被廣泛的應(yīng)用。
多個計算流形成一個計算池; 多個數(shù)據(jù)流形成一個數(shù)據(jù)池。
MapReduce不應(yīng)該只是Loosely Coupled Distributed Computing的寵兒,例如Google,F(xiàn)acebook。
MapReduce的思想精髓應(yīng)該,而且也會被廣泛的應(yīng)用在高端通信系統(tǒng)(Tightly Coupled Distributed Computing)的設(shè)計上。
7。 x86+ zero-overhead Linux x86+Linux的在通信系統(tǒng)中一定會得到廣泛的應(yīng)用。從而使得通信系統(tǒng)能夠迅速的實現(xiàn),更為重要的是,支持大量的3rd party的應(yīng)用。
任何不adopt Linux/Unix的力量都是錯誤的。歷史的將來會證明這一點。。。
應(yīng)用決定一切。 Linux的強(qiáng)大中的強(qiáng)大就是無數(shù)的應(yīng)用。
|
這篇很靠譜。
一大早看到這么經(jīng)典的評述,很興奮。
看了這個,才知道真正的距離。