Google Cloud 的網(wǎng)絡(luò)設(shè)計(jì),googlecloud的網(wǎng)絡(luò)設(shè)計(jì)-ESG跨境

Google Cloud 的網(wǎng)絡(luò)設(shè)計(jì),googlecloud的網(wǎng)絡(luò)設(shè)計(jì)

來源網(wǎng)絡(luò)
來源網(wǎng)絡(luò)
2022-04-29
點(diǎn)贊icon 0
查看icon 620

Google Cloud 的網(wǎng)絡(luò)設(shè)計(jì),googlecloud的網(wǎng)絡(luò)設(shè)計(jì)Google Cloud 的網(wǎng)絡(luò)設(shè)計(jì)最近看了18年Google在NSDI上一篇介紹Google Compute Platform中整體網(wǎng)絡(luò)設(shè)計(jì)的論文。這篇論文從GCP面臨的大規(guī)模且變化頻繁的網(wǎng)絡(luò)挑戰(zhàn)講起,介紹了控制平面和數(shù)據(jù)平面的設(shè)計(jì)和改造。最終做到......

Google Cloud 的網(wǎng)絡(luò)設(shè)計(jì),googlecloud的網(wǎng)絡(luò)設(shè)計(jì)





Google Cloud 的網(wǎng)絡(luò)設(shè)計(jì)

最近看了18年Google在NSDI上一篇介紹Google Compute Platform中整體網(wǎng)絡(luò)設(shè)計(jì)的論文。這篇論文從GCP面臨的大規(guī)模且變化頻繁的網(wǎng)絡(luò)挑戰(zhàn)講起,介紹了控制平面和數(shù)據(jù)平面的設(shè)計(jì)和改造。最終做到控制平面可以支撐單個(gè)網(wǎng)絡(luò)100000 VM,數(shù)據(jù)平面以純軟件的方式做到接近物理網(wǎng)絡(luò)的性能,吞吐量做到30Gb/s,單核pps做到了三百萬。并做到了網(wǎng)絡(luò)在線遷移,數(shù)據(jù)平面可以每周在線升級的高速靈活迭代。

相比于AWS所有網(wǎng)絡(luò)功能下沉到專門的硬件卡,Azure使用專門的FPGA做網(wǎng)絡(luò)加速,GCP只使用了Intel芯片的一些通用offload能力(encryption,checksums,memory copies)。流表查詢,數(shù)據(jù)包轉(zhuǎn)發(fā),ACL,LB,NAT等功能都是純軟件實(shí)現(xiàn)的,基本可以認(rèn)為是當(dāng)前最大規(guī)模純軟件SDN實(shí)踐了,當(dāng)下容器大規(guī)模網(wǎng)絡(luò)設(shè)計(jì)也可以從中借鑒很多思路。

由于GCP在主機(jī)的數(shù)據(jù)平面使用的是OVS,編程模型也用到了OpenFlow(當(dāng)然都魔改了不少),閱讀的時(shí)候免不了會和OVN做一下對比。下面會從GCP網(wǎng)絡(luò)的設(shè)計(jì)目標(biāo),控制平面和數(shù)據(jù)平面分別進(jìn)行介紹。

設(shè)計(jì)目標(biāo)

該網(wǎng)絡(luò)方案在Google的項(xiàng)目名為Andromeda,是仙女座星系的英文。仙女座星系是一個(gè)比銀河系還要大的星系,可見這個(gè)項(xiàng)目的野心。Andromeda的主要設(shè)計(jì)目標(biāo)有下面幾個(gè):

1.控制平面的可擴(kuò)展性和隔離性:由于GCP是公有云,控制平面的穩(wěn)定性和可擴(kuò)展性是重中之重。包括支持單個(gè)網(wǎng)絡(luò)100k VM,單個(gè)的網(wǎng)絡(luò)變更需要在極短時(shí)間內(nèi)同步到整個(gè)集群。目前OVN在這方面做得就不是很好,當(dāng)VM超過10k,變更的延遲就到了接近分鐘級別的水平。而Andromeda在100k規(guī)模的變更延遲是186ms。

控制平面的隔離性指的是對多租戶的支持,避免單個(gè)租戶的異常行為對其他租戶的擾動。例如在某些機(jī)器學(xué)習(xí)場景下單個(gè)網(wǎng)絡(luò)可能會瞬時(shí)provision 10k VM,其他租戶的網(wǎng)絡(luò)操作不能因?yàn)檫@個(gè)租戶的突發(fā)請求而受到影響。

2.數(shù)據(jù)平面的高性能和隔離:數(shù)據(jù)平面的高吞吐和低延遲,同時(shí)要考慮多租戶的場景避免一個(gè)租戶搶占其他租戶的網(wǎng)絡(luò)帶寬和其他資源。

3.可高速迭代:控制平面的可擴(kuò)展性,數(shù)據(jù)平面的高性能以及多租戶的隔離這幾方面的需求是比較顯而易見的。不過可高速迭代這個(gè)目標(biāo)卻是我讀論文之前沒想到的一個(gè)點(diǎn)。一般認(rèn)為網(wǎng)絡(luò)組建作為基礎(chǔ)設(shè)施迭代周期會比較長,升級復(fù)雜度也會比較高。但是在GCP里數(shù)據(jù)平面可以做到每周進(jìn)行線上更新,這樣開發(fā)者可以告訴的迭代功能和性能優(yōu)化,充分發(fā)揮了SDN的優(yōu)勢。作者在presentation上也提到不采用更多硬件加速方案的主要原因就是硬件無法做到純軟件網(wǎng)絡(luò)的高速迭代。

下面將介紹控制平面和數(shù)據(jù)平面分別是如何設(shè)計(jì)來滿足這些目標(biāo)的。

控制平面

控制平面最重要的工作是把整個(gè)虛擬網(wǎng)絡(luò)的拓?fù)湟?guī)則下發(fā)給集群里的機(jī)器,可以理解為給每個(gè)機(jī)器一個(gè)地址簿,告知每一個(gè)VM的對應(yīng)物理機(jī)是哪個(gè),應(yīng)該通過哪條路徑找到對應(yīng)的VM。傳統(tǒng)的控制平面數(shù)據(jù)下發(fā)有Preprogrammed,On Demand和Gateway三種方式。

1.Preprogrammed Model:這種模型在我的概念中對應(yīng)的是fullmesh模型。即每個(gè)宿主機(jī)節(jié)點(diǎn)都需要保存完整的集群網(wǎng)絡(luò)拓?fù)?,?gòu)建完整的轉(zhuǎn)發(fā)地址簿。OVN目前采用的就是這種方式,集群中的每個(gè)節(jié)點(diǎn)之間都需要相互建立隧道,所有跨主機(jī)VM的數(shù)據(jù)包都是直接通過對應(yīng)隧道發(fā)國際快遞對端機(jī)器。這種方式的好處就是邏輯清晰明了,實(shí)現(xiàn)也相對簡單。所有數(shù)據(jù)包都是分布式處理的,集群中的節(jié)點(diǎn)角色也很單純。由于數(shù)據(jù)包直接發(fā)國際快遞目標(biāo)機(jī)器,沒有額外的中轉(zhuǎn),理論上數(shù)據(jù)平面的性能也最好。缺點(diǎn)就是任何一個(gè)網(wǎng)絡(luò)變更都需要更新所有節(jié)點(diǎn)的流表,更新的延遲會隨著規(guī)模變大而迅速上升。此外每臺機(jī)器都要維護(hù)全局的路由信息,額外的資源消耗也會隨著規(guī)模變大而增加。

2.On Demand Model:這種模式下本機(jī)不保存全局信息,每個(gè)flow的第一個(gè)包要上傳到控制器,控制器返回對應(yīng)的路由信息。這種模式的擴(kuò)展性比第一種要好,但是首包的延遲時(shí)間會顯著上升。并且控制器成為了網(wǎng)絡(luò)的一個(gè)瓶頸,控制器的故障可能會導(dǎo)致整個(gè)網(wǎng)絡(luò)的中斷。此外惡意的租戶可能會利用這個(gè)機(jī)制生成大量的隨機(jī)訪問,對控制器進(jìn)行DDOS攻擊來影響其他租戶的網(wǎng)絡(luò)質(zhì)量。

3.Gateway Model:只是一種在OpenStack中比較常見的網(wǎng)絡(luò)模式,即使用專門的網(wǎng)絡(luò)節(jié)點(diǎn)來處理數(shù)據(jù)包的路由。這種模式下宿主機(jī)端的邏輯大幅簡化了,只需要知道關(guān)聯(lián)的Gateway節(jié)點(diǎn)把所有數(shù)據(jù)包都轉(zhuǎn)給Gateway節(jié)點(diǎn)就可以了。Gateway專門用來處理相應(yīng)的路由更新邏輯。但是缺點(diǎn)是要消耗額外的資源,在不超售的情況下需要額外付出一倍的網(wǎng)絡(luò)資源來處理網(wǎng)絡(luò)數(shù)據(jù)。即使是進(jìn)行了超賣,由于網(wǎng)絡(luò)流量的變化會十分劇烈可能會有上百倍的波動,如何動態(tài)調(diào)度Gateway節(jié)點(diǎn)保證帶寬也是很困難的事情。

可以說這三種模式都有各自的問題,GCP采用了一種結(jié)合Gateway和On Demand的動態(tài)路由卸載模式,并稱其為Hoverboard模式。這種動態(tài)路由卸載模式是基于網(wǎng)絡(luò)流量模式幾個(gè)統(tǒng)計(jì)學(xué)的發(fā)現(xiàn):

1.83%的VM之間從來沒有網(wǎng)絡(luò)通信

2.98%的VM之間的網(wǎng)絡(luò)吞吐量峰值小于20kbps

也就是說網(wǎng)絡(luò)的流量分布存在著明顯的冷熱不均,絕大多數(shù)的流量只出現(xiàn)在極少數(shù)的VM之間。經(jīng)過計(jì)算可以得出2%的VM之間網(wǎng)絡(luò)通信占據(jù)了99.5%的網(wǎng)絡(luò)帶寬。也就是說和full mesh模式相比,只需要本機(jī)保留五十分之一的路由地址簿就可以處理絕大多數(shù)的請求。而我們要做的就是找出那些熱點(diǎn)的flow將規(guī)則加載到宿主機(jī)實(shí)現(xiàn)直接轉(zhuǎn)發(fā),而將那些長尾的基本沒有流量的flow放在Gateway上來處理,減小宿主機(jī)的規(guī)則條數(shù)。

具體的處理流程如上圖所示,vm x到z的流量最初都是通過hoverboard這個(gè)特殊的Gateway進(jìn)行轉(zhuǎn)發(fā)。在這個(gè)過程中宿主機(jī)會定期向VM Controller上報(bào)流量統(tǒng)計(jì)信息,Controller以20kbps作為閾值,考慮是否將對應(yīng)路徑的流表下發(fā)到主機(jī)。一旦x到z的流表下發(fā)到主機(jī),x和z就可以直接通信而不經(jīng)過hoverboard。

這種模式很巧妙的解決了之前提到三種模式的問題。相比fullmesh模式大幅降低了主機(jī)流表的規(guī)模,可擴(kuò)展性得到了提升。相比On Demand模式降低了首包的延遲和控制器的壓力。相比Gateway模式降低了額外的網(wǎng)絡(luò)資源開銷也提升了Gateway的處理能力。

數(shù)據(jù)平面

論文里主要介紹的是On HOST Datapath,也就是基于OVS的性能優(yōu)化,其實(shí)我比較感興趣的是hoverboard里怎么對長尾流量進(jìn)行優(yōu)化的,但是論文中沒有介紹。

數(shù)據(jù)平面的很多工作和OVSDPDK做的類似,例如Userspace Datapath,Busy Polling,無鎖隊(duì)列,無系統(tǒng)調(diào)用,Hugepage,Batch Processing等等。比較有特點(diǎn)的是在HOST Datapath中,依然采用了冷熱分離的兩個(gè)Datapath進(jìn)行數(shù)據(jù)處理。

在OVN中所有的數(shù)據(jù)處理邏輯包括轉(zhuǎn)發(fā),acl,nat,lb,arp reply,dns,dhcp都是通過一套流表組成的pipeline來完成的,好處是邏輯統(tǒng)一,缺點(diǎn)就是很難針對性的進(jìn)行優(yōu)化。這其中轉(zhuǎn)發(fā)是最常見也是最關(guān)鍵的處理操作,而和其他功能混在一起來實(shí)現(xiàn)會拖慢轉(zhuǎn)發(fā)的性能。

GCP中的做法是分成Fast Path和Coprocessor Path。Fast Path中只處理轉(zhuǎn)發(fā)的操作,用到了上面所說的和OVSDPDK類似的所有比較極端的優(yōu)化手段,做到了一個(gè)數(shù)據(jù)包平均只需要300ns進(jìn)行處理就可以完成從VM網(wǎng)卡到物理網(wǎng)卡的操作。同時(shí)由于功能極為簡單,flow table的查詢更新也變得簡單,無需像開源的ovs那樣需要考慮遍歷所有元組才能查詢到規(guī)則。

而Coprocessor Path則沒有這么高的性能要求可以做一些更復(fù)雜的功能和邏輯,這樣可以將復(fù)雜的網(wǎng)絡(luò)功能和簡單的轉(zhuǎn)發(fā)功能解耦,利于復(fù)雜網(wǎng)絡(luò)功能的迭代,同時(shí)避免對整體性能產(chǎn)生大的影響。

Fast Path和Coprocessor之間的交互類似流表和ovncontroller之間的交互。對于特定的數(shù)據(jù)包在Fast Path中插入一條上傳給Coprocessor的規(guī)則,Coprocessor處理完后再交還給Fast Path進(jìn)行處理。

論文中還介紹到了數(shù)據(jù)平面的在線遷移,由于是純軟件的實(shí)現(xiàn),可以做到在升級過程中同時(shí)運(yùn)行新舊兩個(gè)數(shù)據(jù)平面,舊的數(shù)據(jù)不斷的往新的遷移,然后在某個(gè)時(shí)間點(diǎn)進(jìn)行切換,這中間暫停服務(wù)的時(shí)間大約有270ms。通過這種方式他們做到了數(shù)據(jù)平面每周更新的高速迭代。

聽說阿里云的網(wǎng)絡(luò)部分現(xiàn)在也已經(jīng)是硬件實(shí)現(xiàn)的了,這么大規(guī)模集群的純軟實(shí)現(xiàn)已經(jīng)很少見了??礃幼覩oogle工程師對軟實(shí)現(xiàn)在工程方面高速迭代的能力還是十分熱衷的。不過這個(gè)論文在presentation的同期Azure也展示了他們用FPGA實(shí)現(xiàn)的數(shù)據(jù)平面,也可以通過編程的方式實(shí)現(xiàn)網(wǎng)絡(luò)功能的快速迭代。此外Azure還很心機(jī)的做了個(gè)和GCP的性能測試比較來展示Azure在性能上的優(yōu)勢。不知道GCP的純軟線路還能堅(jiān)持需要多長時(shí)間,畢竟從規(guī)模效應(yīng)上來看,硬件方案性能好還能省CPU整體的性價(jià)比還是不錯(cuò)的。

再回過頭來和OVN做個(gè)整體對比。GCP最大的特點(diǎn)就是在控制平面和數(shù)據(jù)平面各個(gè)層次都做了冷熱分離,盡可能的優(yōu)化常用路徑的性能。而這種做法在實(shí)現(xiàn)上就會導(dǎo)致不同的情況下要用不同的方案,整體的實(shí)現(xiàn)會比較分散,但是針對單個(gè)公司的場景下能榨取盡可能多的性能。

而OVN為了保證整體架構(gòu)的一致和邏輯的統(tǒng)一,沒有這么碎的冷熱分離和On Demand方案,通用性會更好,但是在大規(guī)模場景下會碰到性能瓶頸問題。當(dāng)然OVN社區(qū)目前也在控制平面做了大量的性能優(yōu)化,包括各種緩存和增量式更新,降低單個(gè)網(wǎng)絡(luò)變更的消耗,目測20.03后的下一個(gè)版本還會有很大改善。而數(shù)據(jù)平面看上去在一些技術(shù)使用上和OVSDPDK的技術(shù)是一致的,不過GCP這種冷熱分離,在線遷移的靈活性設(shè)計(jì),在工程上還是很值得借鑒的。當(dāng)然這兩年又出現(xiàn)了更多的新方案,例如FPGA加速,各種智能網(wǎng)卡和eBPF的Kernel Bypass方案,都給數(shù)據(jù)平面的加速提供了更多的選擇方案。

參考資料:

https://www.usenix.org/conference/nsdi18/presentation/dalton

https://www.usenix.org/conference/nsdi18/presentation/firestone

GCP網(wǎng)絡(luò)系統(tǒng)Andromeda https://zhuanlan.zhihu.com/p/102951479


文章推薦
Beresnev Games通過用戶級廣告數(shù)據(jù)提高收益和ROAS
代理日本二手挖掘機(jī)進(jìn)口清關(guān),二手挖掘機(jī)出口稅
代理進(jìn)口二手挖掘機(jī)報(bào)關(guān),二手挖掘機(jī)怎么進(jìn)口報(bào)關(guān)
從荷蘭進(jìn)口二手CNC加工中心設(shè)備到上海如何報(bào)關(guān),二手cnc加工中心進(jìn)口報(bào)關(guān)


特別聲明:以上文章內(nèi)容僅代表作者本人觀點(diǎn),不代表ESG跨境電商觀點(diǎn)或立場。如有關(guān)于作品內(nèi)容、版權(quán)或其它問題請于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。

搜索 放大鏡
韓國平臺交流群
加入
韓國平臺交流群
掃碼進(jìn)群
歐洲多平臺交流群
加入
歐洲多平臺交流群
掃碼進(jìn)群
美國賣家交流群
加入
美國賣家交流群
掃碼進(jìn)群
ESG跨境專屬福利分享群
加入
ESG跨境專屬福利分享群
掃碼進(jìn)群
拉美電商交流群
加入
拉美電商交流群
掃碼進(jìn)群
亞馬遜跨境增長交流群
加入
亞馬遜跨境增長交流群
掃碼進(jìn)群
亞馬遜跨境增長交流群
加入
亞馬遜跨境增長交流群
掃碼進(jìn)群
拉美電商交流群
加入
拉美電商交流群
掃碼進(jìn)群
ESG獨(dú)家招商-PHH GROUP賣家交流群
加入
ESG獨(dú)家招商-PHH GROUP賣家交流群
掃碼進(jìn)群
《TikTok官方運(yùn)營干貨合集》
《TikTok綜合運(yùn)營手冊》
《TikTok短視頻運(yùn)營手冊》
《TikTok直播運(yùn)營手冊》
《TikTok全球趨勢報(bào)告》
《韓國節(jié)日營銷指南》
《開店大全-全球合集》
《開店大全-主流平臺篇》
《開店大全-東南亞篇》
《CD平臺自注冊指南》
通過ESG入駐平臺,您將解鎖
綠色通道,更高的入駐成功率
專業(yè)1v1客戶經(jīng)理服務(wù)
運(yùn)營實(shí)操指導(dǎo)
運(yùn)營提效資源福利
平臺官方專屬優(yōu)惠

立即登記,定期獲得更多資訊

訂閱
聯(lián)系顧問

平臺顧問

平臺顧問 平臺顧問

微信掃一掃
馬上聯(lián)系在線顧問

icon icon

小程序

微信小程序

ESG跨境小程序
手機(jī)入駐更便捷

icon icon

返回頂部

【免費(fèi)領(lǐng)取】全球跨境電商運(yùn)營干貨 關(guān)閉
進(jìn)行中
進(jìn)行中
【活動報(bào)名】2024年歐洲多藍(lán)海平臺招商沙龍
官方親臨,拆解phh group/eMAG/worten三個(gè)平臺商機(jī)
立即報(bào)名
進(jìn)行中
進(jìn)行中
TikTok運(yùn)營必備干貨包
包含8個(gè)TikTok最新運(yùn)營指南(市場趨勢、運(yùn)營手冊、節(jié)日攻略等),官方出品,專業(yè)全面!
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
韓國電商節(jié)日營銷指南
10+韓國電商重要營銷節(jié)點(diǎn)詳細(xì)解讀;2024各節(jié)日熱度選品助力引爆訂單增長;8大節(jié)日營銷技巧輕松撬動大促流量密碼。
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺詳解——全球合集
涵括全球100+個(gè)電商平臺的核心信息,包括平臺精煉簡介、競爭優(yōu)勢、熱銷品類、入駐要求以及入駐須知等關(guān)鍵內(nèi)容。
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺詳解——主流平臺篇
火爆全球的跨境電商平臺合集,平臺優(yōu)勢、開店選品、入駐條件盡在掌握
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺詳解——拉美篇
涵蓋9大熱門拉美電商平臺,成熟的市場是跨境賣家的熱門選擇!
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺詳解——日韓篇
涵蓋10+日韓電商平臺,入駐條件一看就懂,優(yōu)勢熱銷品應(yīng)有盡有
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺詳解——?dú)W洲篇
涵蓋20+歐洲電商平臺,詳細(xì)解讀優(yōu)勢、入駐條件、熱銷品等
立即領(lǐng)取