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ì)

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

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àn)。并做到了網(wǎng)絡(luò)在線遷移,數(shù)據(jù)平面可以每周在線升級(jí)的高速靈活迭代。

相比于AWS所有網(wǎng)絡(luò)功能下沉到專門(mén)的硬件卡,Azure使用專門(mén)的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í)候免不了會(huì)和OVN做一下對(duì)比。下面會(huì)從GCP網(wǎng)絡(luò)的設(shè)計(jì)目標(biāo),控制平面和數(shù)據(jù)平面分別進(jìn)行介紹。

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

該網(wǎng)絡(luò)方案在Google的項(xiàng)目名為Andromeda,是仙女座星系的英文。仙女座星系是一個(gè)比銀河系還要大的星系,可見(jiàn)這個(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超過(guò)10k,變更的延遲就到了接近分鐘級(jí)別的水平。而Andromeda在100k規(guī)模的變更延遲是186ms。

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

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

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

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

控制平面

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

1.Preprogrammed Model:這種模型在我的概念中對(duì)應(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ù)包都是直接通過(guò)對(duì)應(yīng)隧道發(fā)國(guó)際快遞對(duì)端機(jī)器。這種方式的好處就是邏輯清晰明了,實(shí)現(xiàn)也相對(duì)簡(jiǎn)單。所有數(shù)據(jù)包都是分布式處理的,集群中的節(jié)點(diǎn)角色也很單純。由于數(shù)據(jù)包直接發(fā)國(guó)際快遞目標(biāo)機(jī)器,沒(méi)有額外的中轉(zhuǎn),理論上數(shù)據(jù)平面的性能也最好。缺點(diǎn)就是任何一個(gè)網(wǎng)絡(luò)變更都需要更新所有節(jié)點(diǎn)的流表,更新的延遲會(huì)隨著規(guī)模變大而迅速上升。此外每臺(tái)機(jī)器都要維護(hù)全局的路由信息,額外的資源消耗也會(huì)隨著規(guī)模變大而增加。

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

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

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

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

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

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

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

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

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

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

數(shù)據(jù)平面的很多工作和OVSDPDK做的類似,例如Userspace Datapath,Busy Polling,無(wú)鎖隊(duì)列,無(wú)系統(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都是通過(guò)一套流表組成的pipeline來(lái)完成的,好處是邏輯統(tǒng)一,缺點(diǎn)就是很難針對(duì)性的進(jìn)行優(yōu)化。這其中轉(zhuǎn)發(fā)是最常見(jiàn)也是最關(guān)鍵的處理操作,而和其他功能混在一起來(lái)實(shí)現(xiàn)會(huì)拖慢轉(zhuǎn)發(fā)的性能。

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

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

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

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

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

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

而OVN為了保證整體架構(gòu)的一致和邏輯的統(tǒng)一,沒(méi)有這么碎的冷熱分離和On Demand方案,通用性會(huì)更好,但是在大規(guī)模場(chǎng)景下會(huì)碰到性能瓶頸問(wèn)題。當(dāng)然OVN社區(qū)目前也在控制平面做了大量的性能優(yōu)化,包括各種緩存和增量式更新,降低單個(gè)網(wǎng)絡(luò)變更的消耗,目測(cè)20.03后的下一個(gè)版本還會(huì)有很大改善。而數(shù)據(jù)平面看上去在一些技術(shù)使用上和OVSDPDK的技術(shù)是一致的,不過(guò)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通過(guò)用戶級(jí)廣告數(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)或立場(chǎng)。如有關(guān)于作品內(nèi)容、版權(quán)或其它問(wèn)題請(qǐng)于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。

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

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

訂閱
聯(lián)系顧問(wèn)

平臺(tái)顧問(wèn)

平臺(tái)顧問(wèn) 平臺(tái)顧問(wèn)

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

icon icon

小程序

微信小程序

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

icon icon

返回頂部

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