蘇金樹:面向云計(jì)算的數(shù)據(jù)中心網(wǎng)絡(luò)技術(shù)
蘇金樹
國防科技大學(xué)教授,973首席科學(xué)家,中國計(jì)算機(jī)學(xué)會(huì)互聯(lián)網(wǎng)專委會(huì)副主任委員
許多單位早期都有計(jì)算機(jī)中心,在PC普及后,計(jì)算中心發(fā)展進(jìn)入低潮。隨著云計(jì)算、大數(shù)據(jù)、移動(dòng)互聯(lián)網(wǎng)的發(fā)展,各個(gè)單位逐步開始建立數(shù)據(jù)中心。隨著數(shù)據(jù)中心的發(fā)展,規(guī)模不斷擴(kuò)大,網(wǎng)絡(luò)重要性和復(fù)雜性日益增加。
數(shù)據(jù)中心網(wǎng)絡(luò)的核心要素主要有三個(gè),數(shù)據(jù)中心能力設(shè)計(jì)、互連設(shè)備、拓?fù)浣Y(jié)構(gòu)與路由,數(shù)據(jù)中心的網(wǎng)絡(luò)研究和設(shè)計(jì)也都圍繞著這三個(gè)元素布局。
從網(wǎng)絡(luò)體系結(jié)構(gòu)、拓?fù)湓O(shè)計(jì)、主機(jī)、路由轉(zhuǎn)發(fā),到如何實(shí)現(xiàn)流控,這些問題都是近些年來數(shù)據(jù)中心所關(guān)注的熱點(diǎn)網(wǎng)絡(luò)問題。在進(jìn)行數(shù)據(jù)中心聯(lián)網(wǎng)設(shè)計(jì)時(shí)應(yīng)該考慮到以下六個(gè)方面:
一是鏈路技術(shù),雖然每個(gè)時(shí)期,都有可用的鏈路技術(shù),但往往有一些新的鏈路技術(shù)會(huì)推出,這時(shí)是選擇現(xiàn)有鏈路技術(shù),還是選擇看似不成熟的鏈路技術(shù),是構(gòu)建者首先要考慮的問題。
二是數(shù)據(jù)中心的兩類應(yīng)用。外向服務(wù),如提供Web服務(wù);內(nèi)部計(jì)算處理,如Web索引的MapReduce。
三是網(wǎng)絡(luò)的負(fù)載經(jīng)常是不可預(yù)測(cè)的。多個(gè)服務(wù)在同一個(gè)數(shù)據(jù)中心運(yùn)行,網(wǎng)絡(luò)的利用效率和可預(yù)測(cè)兩者之間存在矛盾。
四是個(gè)別服務(wù)器失效是正常的。借鑒Google的GFS、MapReduce, 設(shè)計(jì)時(shí)必須考慮到個(gè)別服務(wù)器可能隨時(shí)失效的情況。
五是服務(wù)器間的流量矩陣不斷發(fā)生變化。因?yàn)槌休d的服務(wù)不同,導(dǎo)致服務(wù)器間的流量矩陣在不斷發(fā)展變化。既不是傳統(tǒng)的內(nèi)外20%與80%的比例,也不是有些文獻(xiàn)提出的80%與20%比例。
六是如何合理平衡三層與二層的關(guān)系,合理設(shè)計(jì)數(shù)據(jù)中心“大二層”。隨著數(shù)據(jù)中心對(duì)虛擬化技術(shù)的支持,隨之而來的就是對(duì)主機(jī)遷移支持等需求,因此希望交換設(shè)備能夠更好支持二層的擴(kuò)展,突破2層的連接主機(jī)數(shù)限制,克服傳統(tǒng)的3層問題等。
數(shù)據(jù)中心聯(lián)網(wǎng)的最終目標(biāo)是要達(dá)到一致的吞吐率、便捷的應(yīng)用遷移、應(yīng)用的性能隔離。只有這樣,才能保證服務(wù)器間的容量只受限于網(wǎng)卡,增加服務(wù)器時(shí),不需要考慮拓?fù)洹⒁蕾囉趶V播的既有應(yīng)用也依然能夠工作。此外,一個(gè)服務(wù)不會(huì)受其他服務(wù)影響。
上面的目標(biāo)看似很容易完成,實(shí)則不然。僅鏈路技術(shù)而言,在我們近30年研究經(jīng)歷中,從最開始的10兆以太網(wǎng),到后來多種100Mps以太網(wǎng)方案,以及FDDI/ATM等諸多技術(shù),到出現(xiàn)40/56Gbps的Infiniband技術(shù)(以下簡(jiǎn)稱IB),再到100G以太網(wǎng)技術(shù),以及目前研究實(shí)現(xiàn)的400G。整個(gè)鏈路技術(shù)的發(fā)展歷程,給我們研究工作者一個(gè)重要啟示,那就是通用網(wǎng)絡(luò)技術(shù)的生命力不可小視!以太網(wǎng)系列技術(shù)的發(fā)展,雖然遇到很多新技術(shù)的挑戰(zhàn),但始終在通用領(lǐng)域占據(jù)鰲頭。
高校數(shù)據(jù)中心的建設(shè)過程中,都會(huì)經(jīng)歷簡(jiǎn)單的網(wǎng)絡(luò)結(jié)構(gòu)時(shí)代。隨著應(yīng)用發(fā)展,很快會(huì)發(fā)現(xiàn)雖然看似所有的東西連接在一起,但是整個(gè)項(xiàng)目不能有效使用。而后開始探索建立專用的高效的網(wǎng)絡(luò)結(jié)構(gòu)。因?yàn)閿?shù)據(jù)中心不再是簡(jiǎn)單的Web Services,而是大型的數(shù)據(jù)倉庫,擁有幾百臺(tái)的服務(wù)器。云計(jì)算提出之后,數(shù)據(jù)中心迎來專業(yè)結(jié)構(gòu)的數(shù)據(jù)中心時(shí)代。雖然數(shù)據(jù)中心有兩條路可以選擇:一是以網(wǎng)絡(luò)為中心,二是以服務(wù)器為中心,但大多數(shù)設(shè)計(jì)還會(huì)選擇以網(wǎng)絡(luò)為中心。
在以網(wǎng)絡(luò)為中心的結(jié)構(gòu)中,最典型的專用結(jié)構(gòu)是胖樹、Moonson、Seattle等。為了克服簡(jiǎn)單的網(wǎng)絡(luò)結(jié)構(gòu)造成帶寬太少的問題。人們發(fā)現(xiàn)3-級(jí)CLOS網(wǎng)絡(luò)本身是不堵塞的。胖樹是特殊的CLOS網(wǎng)絡(luò),從輸入、輸出的角度上看,胖樹和3-級(jí)CLOS網(wǎng)絡(luò)標(biāo)準(zhǔn)相一致。所以,我們可以以3-級(jí)CLOS網(wǎng)絡(luò)標(biāo)準(zhǔn)為基礎(chǔ),按具體意愿去組織一個(gè)網(wǎng)絡(luò)結(jié)構(gòu),提高連接服務(wù)器數(shù)量。如果K為池子數(shù)目,那么每個(gè)池有(k/2)2服務(wù)器,k/2 個(gè)2層k端口交換機(jī);每個(gè)邊緣交換機(jī)連接k/2 服務(wù)器, k/2匯聚交換機(jī);每個(gè)匯聚交換機(jī)鏈接k/2 邊緣,k/2 核心交換機(jī)。
同時(shí),胖樹結(jié)構(gòu)存在五個(gè)方面問題:一是內(nèi)部不能支持VLan 流量;二是數(shù)據(jù)中心規(guī)模只能相對(duì)固定;三是需要在邊界進(jìn)行NAT轉(zhuǎn)換,以便更好支持遷移和虛擬化;四是按流分負(fù)載分類,不能按端口分類;五是長時(shí)間流(大象流)的分擔(dān)。
業(yè)界也有很多解決方案試圖克服胖樹結(jié)構(gòu),例如Moonson方法,在網(wǎng)絡(luò)結(jié)構(gòu)中加入負(fù)載均衡交換機(jī),同時(shí)設(shè)有多個(gè)服務(wù)器,由交換機(jī)負(fù)責(zé)網(wǎng)絡(luò)流的分配。主要的工作流程是端主機(jī)檢查流的MAC,如果沒有找到,同時(shí)啟動(dòng)monsoon agent 求解,并向TOR發(fā)送流量,做三重封裝,流量發(fā)給中間交換機(jī),以及目的TOR交換機(jī)。
多種不同專用結(jié)構(gòu)的發(fā)展,最終基本歸結(jié)到TRILL解決方案。
2013年,谷歌經(jīng)過長時(shí)間的研究和實(shí)驗(yàn)認(rèn)為,在經(jīng)典廣域網(wǎng)中,交換機(jī)路由器將所有的流量都進(jìn)行統(tǒng)一,沒有差異化的處理,導(dǎo)致網(wǎng)絡(luò)的利用率大概只有30%到40%,帶寬價(jià)格高,高端的路由器設(shè)備價(jià)格也非常的貴。于是,谷歌公司開始嘗試定制交換機(jī),在企業(yè)內(nèi)部部署了一個(gè)全球的SDN,將公司內(nèi)部數(shù)據(jù)中心間的網(wǎng)絡(luò)鏈路提升接近100%,取得了巨大成功,極大地鼓舞了業(yè)界。
谷歌公司SDN研究起了引領(lǐng)作用,并在網(wǎng)絡(luò)頂級(jí)國際會(huì)議SIGCOMM發(fā)表了一篇文章,直接帶動(dòng)了SDN技術(shù)爆發(fā)性的增長,帶動(dòng)新一輪數(shù)據(jù)中心網(wǎng)絡(luò)研究熱潮。隨后有微軟公司的 Windows Server 2016 SDN stack,F(xiàn)caebook公司的Wedge switch等。
有意思的是,為什么做軟件的廠家,要開始進(jìn)軍硬件領(lǐng)域呢?這對(duì)高校的人才培養(yǎng)具有啟示性的作用。目前,國內(nèi)大學(xué)計(jì)算機(jī)學(xué)院在計(jì)算機(jī)硬件領(lǐng)域的人才或者能力培養(yǎng)比較缺乏,建議計(jì)算機(jī)學(xué)院加大學(xué)生的硬件培養(yǎng)和鍛煉能力,可以有助于將學(xué)生培養(yǎng)為能力更加全面、知識(shí)面更廣的計(jì)算機(jī)人才。
2013年,我曾在某次會(huì)議上,提出個(gè)人看法,域間SDN發(fā)展比較困難,而域內(nèi)SDN會(huì)發(fā)展得更好。目前SDN的發(fā)展態(tài)勢(shì)也是如此。在未來,熱門技術(shù)除了SDN之外,還有NFV技術(shù),我個(gè)人十分看好NFV技術(shù),早期由于I/O帶寬原因,一般不能采用通用CPU直接作為網(wǎng)絡(luò)設(shè)備數(shù)據(jù)通路的處理器,而傳統(tǒng)網(wǎng)絡(luò)設(shè)備,一直沿用基于專用體系結(jié)構(gòu)設(shè)計(jì)網(wǎng)絡(luò)功能的思路,產(chǎn)量不大,導(dǎo)致成本高,升級(jí)比較緩慢。隨著通用CPU速度+I/O帶寬的提升,CPU網(wǎng)絡(luò)處理能力大大上升,通用CPU 或 CPU+FPGA將有很大潛力,因此NFV會(huì)有更好的前景。
第一個(gè)數(shù)據(jù)中心網(wǎng)絡(luò)技術(shù)研究案例是智能(加速)網(wǎng)卡。網(wǎng)絡(luò)安全和網(wǎng)絡(luò)分析對(duì)數(shù)據(jù)流精細(xì)分類和分析的要求越來越高,特別是關(guān)鍵字與正確表達(dá)事物的匹配的性能要求越來越高。但一方面是軟件的運(yùn)行速度很慢,另一方面,由于Memory Wall問題,X86架構(gòu)為主的網(wǎng)絡(luò)安全產(chǎn)品在關(guān)鍵字與正則表達(dá)式匹配方面的性能缺陷逐漸顯露出來,成為提升網(wǎng)絡(luò)安全產(chǎn)品性能的最大阻礙。
基于上述兩個(gè)方面考慮,智能(加速)網(wǎng)卡將資源消耗大的功能卸載到智能網(wǎng)絡(luò)加速卡上,從而解放X86 CPU的計(jì)算能力,達(dá)到提高現(xiàn)有網(wǎng)絡(luò)安全產(chǎn)品性能的目的,從而滿足支持掩碼五元組、關(guān)鍵字、正則表達(dá)式等多種條件的靈活匹配,將匹配的結(jié)果,以標(biāo)簽的形式打到報(bào)文頭部輸出的要求。目前可以支持100萬條掩碼五元組規(guī)則,10萬條關(guān)鍵字,10萬條正則表達(dá)式;最大支持64個(gè)報(bào)文隊(duì)列,報(bào)文可以按策略負(fù)載均衡輸出到各個(gè)通道等應(yīng)用需求。我們認(rèn)為網(wǎng)卡等基本硬件系統(tǒng)是多數(shù)高??梢宰鳛橹笇?dǎo)學(xué)生涉及網(wǎng)絡(luò)硬件的起步領(lǐng)域。
第二個(gè)數(shù)據(jù)中心網(wǎng)絡(luò)技術(shù)研究案例是:IB交換機(jī)。目前實(shí)現(xiàn)高性能交換的技術(shù)途徑主要包括三種,以太網(wǎng)技術(shù)、IB技術(shù)和面向特定計(jì)算平臺(tái)的專用互連交換技術(shù)。其中IB技術(shù)屬于通用互連技術(shù),速率最高的,也在TOP500計(jì)算機(jī)中占據(jù)重要地位。從行業(yè)發(fā)展趨勢(shì)上來講,與萬兆以太網(wǎng)相比,IB在性能上優(yōu)勢(shì)明顯,IB是高性能交換的發(fā)展趨勢(shì)。整個(gè)IB交換系統(tǒng)是由交換機(jī)、計(jì)算節(jié)點(diǎn)、主機(jī)活配器、網(wǎng)絡(luò)管理軟件、IO和存儲(chǔ)節(jié)點(diǎn)組成。我們主要研制實(shí)現(xiàn)了三款I(lǐng)B技術(shù)的交換機(jī)和IB網(wǎng)卡,四款交換機(jī)的規(guī)格是288端口IB交換機(jī),216端口IB交換機(jī),108端口IB交換機(jī),36端口IB交換機(jī)。IB交換機(jī),采用模塊化結(jié)構(gòu),支持40/56Gbps接口,聚合交換能力超過每秒17萬億比特(17.28Tbps)。該系列產(chǎn)品既應(yīng)用于國家863“基于IB的PB級(jí)存儲(chǔ)網(wǎng)絡(luò)系統(tǒng)”,利用IB高帶寬、低延時(shí)、可靠傳輸?shù)忍匦詫?shí)現(xiàn)了支持PB級(jí)容量的對(duì)象存儲(chǔ)系統(tǒng);也應(yīng)用于天河系列高性能計(jì)算機(jī)應(yīng)用,1個(gè)IBS216Q連接216個(gè)存儲(chǔ)節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn),實(shí)現(xiàn)2PB的分布式存儲(chǔ)。
(責(zé)編:高錦)
(本文根據(jù)國防科技大學(xué)教授蘇金樹在“第二屆下一代互聯(lián)網(wǎng)與高校應(yīng)用服務(wù)架構(gòu)創(chuàng)新研討會(huì)”上的部分發(fā)言內(nèi)容整理)