自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一文讀懂無損網(wǎng)絡(luò)

網(wǎng)絡(luò)
RDMA的高效運(yùn)行依賴于無損網(wǎng)絡(luò),通過無損網(wǎng)絡(luò)的建設(shè),算力、網(wǎng)絡(luò)、存儲才能相互匹配,協(xié)同發(fā)揮更大的作用。

根據(jù)OpenAI的數(shù)據(jù)分析,自2012年起,最新的AI模型訓(xùn)練所需要的計(jì)算量每3-4個(gè)月就要翻一倍。在過去5年,GPU算力增長了近90倍,而網(wǎng)絡(luò)帶寬僅增長了10倍。隨著AI訓(xùn)練集群規(guī)模的增大,以及單節(jié)點(diǎn)算力的增長,AI訓(xùn)練逐漸從計(jì)算約束轉(zhuǎn)換為網(wǎng)絡(luò)通信約束。

另一方面,存儲介質(zhì)SSD(固態(tài)硬盤)的訪問性能相比于分布式存儲HDD(機(jī)械硬盤)已經(jīng)提升了100倍,采用NVMe接口協(xié)議的SSD,訪問性能可以提升10000倍。網(wǎng)絡(luò)時(shí)延占比已經(jīng)從原來小于5%提升到65%。網(wǎng)絡(luò)時(shí)延也已經(jīng)成為影響存儲效率的重要因素。

[[442870]]

傳統(tǒng)TCP/IP協(xié)議在接收/發(fā)送報(bào)文時(shí),內(nèi)核需要做多次上下文切換,每次切換需要耗費(fèi)5us-10us左右,需要至少三次的數(shù)據(jù)拷貝,需要耗費(fèi)算力進(jìn)行協(xié)議封裝。RDMA網(wǎng)絡(luò)相比TCP提供更高的單流通信帶寬。RDMA網(wǎng)絡(luò)的內(nèi)核旁路和內(nèi)存零拷貝特性,大大縮短了協(xié)議棧的通信處理時(shí)延以及數(shù)據(jù)搬移時(shí)延。RDMA允許用戶態(tài)的應(yīng)用程序直接讀取和寫入遠(yuǎn)程內(nèi)存,無需CPU接入多次拷貝內(nèi)存,并可繞過內(nèi)核直接向網(wǎng)卡寫數(shù)據(jù),實(shí)現(xiàn)了高吞吐量、超低時(shí)延和低CPU開銷。

最新版的RDMA協(xié)議RoCEv2 運(yùn)行在UDP上,沒有滑動窗口、確認(rèn)應(yīng)答等機(jī)制,一旦丟包,需要依靠上層應(yīng)用檢查并重傳,這大大降低了RDMA傳輸效率。當(dāng)網(wǎng)絡(luò)的丟包率>10-3時(shí),將導(dǎo)致RDMA有效吞吐急劇下降;2%的丟包將使RDMA吞吐率下降為0。要使得RDMA吞吐不受影響,丟包率必須保證在十萬分之一以下,最好為無丟包。總而言之,RDMA的高效率依賴于無損網(wǎng)絡(luò)。

網(wǎng)絡(luò)擁塞原因

要實(shí)現(xiàn)無損網(wǎng)絡(luò),實(shí)際上就是要解決網(wǎng)絡(luò)上的擁塞問題。

造成網(wǎng)絡(luò)擁塞主要有如下原因:

1)上下行非對稱設(shè)計(jì)。網(wǎng)絡(luò)設(shè)計(jì)通常采用非對稱的方式,上下行鏈路帶寬不一致(收斂比)。以交換機(jī)為例,當(dāng)下聯(lián)的服務(wù)器上行發(fā)包總速率超過上行鏈路總帶寬時(shí),上行口就會出現(xiàn)擁塞。

2)ECMP。數(shù)據(jù)中心多采用Fabric架構(gòu),并采用ECMP來構(gòu)建多條等價(jià)負(fù)載均衡的鏈路,通過設(shè)置HASH因子并HASH選擇一條鏈路來轉(zhuǎn)發(fā),該過程沒有考慮所選鏈路本身是否有擁塞,所選擇的鏈路流量飽和時(shí),就會發(fā)生網(wǎng)絡(luò)擁塞。

3)TCP Incast。當(dāng)服務(wù)器向一組節(jié)點(diǎn)發(fā)起請求時(shí),集群中的節(jié)點(diǎn)會同時(shí)收到該請求,并且?guī)缀跬瑫r(shí)做出響應(yīng),從而產(chǎn)生了“微突發(fā)流”,如果交換機(jī)上連接服務(wù)器的出端口緩存不足就會造成擁塞。

無損網(wǎng)絡(luò)的特征

“0丟包”、“低時(shí)延”、“高吞吐”是無損網(wǎng)絡(luò)三大核心特征。

這三個(gè)指標(biāo)相互影響:

  • 0丟包:會抑制鏈路帶寬,導(dǎo)致低吞吐,同時(shí)會增加大流的傳輸時(shí)延;
  • 低時(shí)延:降低交換機(jī)隊(duì)列排隊(duì),導(dǎo)致低吞吐;
  • 高吞吐:保持鏈路高利用率,導(dǎo)致交換機(jī)的擁塞排隊(duì),導(dǎo)致小流的“高時(shí)延”。

構(gòu)建無損網(wǎng)絡(luò)可以從兩個(gè)方面入手,一個(gè)是網(wǎng)絡(luò)自身的優(yōu)化,另一個(gè)是網(wǎng)絡(luò)與應(yīng)用系統(tǒng)的融合優(yōu)化。后者包括網(wǎng)算一體、網(wǎng)絡(luò)與存儲相融合等等,不在此文范圍內(nèi)。本文側(cè)重前一個(gè)方面。

網(wǎng)絡(luò)自身的優(yōu)化目標(biāo)是使整網(wǎng)吞吐最高、時(shí)延最低,包括三個(gè)層次:

1)流的控制(Flow control):用于解決發(fā)送端與接收端速率匹配,做到無丟包;

2)擁塞控制(Congestion control):用于解決網(wǎng)絡(luò)擁塞時(shí)對流量的速率控制問題,做到滿吞吐與低時(shí)延;

3)流量調(diào)度(Traffic scheduling):用于解決業(yè)務(wù)流量與網(wǎng)絡(luò)鏈路的負(fù)載均衡問題,做到不同業(yè)務(wù)流量的服務(wù)質(zhì)量保障。

無損網(wǎng)絡(luò)的流控技術(shù)

流控技術(shù)是保障網(wǎng)絡(luò)零丟包的基礎(chǔ)技術(shù)。由流量接收方控制數(shù)據(jù)傳輸?shù)乃俾省?/p>

IEEE802.3 Annex 318 約定的PAUSE幀是以太網(wǎng)中實(shí)現(xiàn)流控的基本協(xié)議。當(dāng)接收設(shè)備接收能力小于上游設(shè)備時(shí),會主動發(fā)PAUSE幀給上游設(shè)備,要求上游設(shè)備在一段時(shí)間內(nèi)暫停流量的發(fā)送。PAUSE幀只能阻止上游設(shè)備發(fā)送普通的數(shù)據(jù)幀,不能阻止發(fā)送MAC控制幀。

PAUSE幀的目的MAC地址是保留的MAC地址0180-C200-0001,源MAC是發(fā)送PAUSE幀的設(shè)備MAC地址。MAC Control Opcode域的值為0x0001。PAUSE幀是MAC控制幀的一種。接收端設(shè)備出現(xiàn)擁塞的情況下,本段源端口通常會連續(xù)收到多個(gè)PAUSE幀。只要接收端設(shè)備的擁塞狀態(tài)沒有解除,相關(guān)的端口就會一直發(fā)送PAUSE。基于以太PAUSE機(jī)制的流控雖然可以預(yù)防丟包,但是會導(dǎo)致一條鏈路上的所有報(bào)文停止發(fā)送。為了解決這個(gè)問題,IEEE在802.1qbb中引入了優(yōu)先級流控功能PFC(基于優(yōu)先級的流量控制)也稱Per Priority Pause或CBFC(Class Based Flow Control)

PFC允許在一條以太鏈路上創(chuàng)建8個(gè)虛擬通道,并為每一個(gè)虛擬通道指定優(yōu)先級,允許單獨(dú)暫停和重啟其中任意一條虛擬通道,同時(shí)允許其他虛擬通道的流量無中斷通過。當(dāng)隊(duì)列已使用的緩存降低到PFC門限值以下時(shí),則向上游發(fā)送PFC反壓停止報(bào)文,通知上游重新發(fā)包,從而最終實(shí)現(xiàn)報(bào)文的零丟包傳輸。

無損網(wǎng)絡(luò)的擁塞控制

擁塞控制是對進(jìn)入網(wǎng)絡(luò)的數(shù)據(jù)總量進(jìn)行控制,使網(wǎng)絡(luò)流量保持在可接受水平的一種控制方法。

ECN(Explicit Congestion Notification)技術(shù):當(dāng)流量接收端感知到網(wǎng)絡(luò)上的擁塞后,通過協(xié)議報(bào)文通知發(fā)送端,使流量發(fā)送端降低報(bào)文發(fā)送速率,從而從早期避免擁塞而導(dǎo)致的丟包,從而最大限度利用網(wǎng)絡(luò)性能。

DCQCN(Data Center Quantized Congestion Notification):目前在RoCEv2網(wǎng)絡(luò)種使用最廣泛的擁塞控制算法。融合了QCN算法和DCTCP算法,需要數(shù)據(jù)中心交換機(jī)支持WRED和ECN。DCQCN可以提供較好的公平性,實(shí)現(xiàn)高帶寬利用率,保證低的隊(duì)列緩存占用率和較少的隊(duì)列緩存抖動情況。

DCQCN算法由三個(gè)部分組成:交換機(jī)(CP,Congestion Point)、接收端提示點(diǎn)NP(Notification Point)、發(fā)送端反饋點(diǎn)RP(Reaction Point)。交換機(jī)發(fā)現(xiàn)出端口隊(duì)列超出閾值,在轉(zhuǎn)發(fā)報(bào)文時(shí)會按照一定概率給報(bào)文攜帶ECN擁塞標(biāo)記(ECN字段設(shè)置為11),以標(biāo)示網(wǎng)絡(luò)中存在的擁塞。標(biāo)記過程由WRED(Weighted Random Early Detection)功能完成。RP根據(jù)收到的ECN擁塞標(biāo)記向RP發(fā)送反壓信息。

圖1:DCQCN算法示意圖

ECN overlay:ECN Overlay將ECN(Explicit Congestion Notification)功能應(yīng)用到VXLAN中,Overlay網(wǎng)絡(luò)擁塞可以被及時(shí)感知,讓流量接收端通知發(fā)送端進(jìn)行降速,緩解網(wǎng)絡(luò)擁塞。

iQCN(intelligent Quantized Congestion Notification):通過讓轉(zhuǎn)發(fā)設(shè)備智能補(bǔ)償發(fā)送CNP通知報(bào)文,解決流量發(fā)送端網(wǎng)絡(luò)未及時(shí)收到CNP報(bào)文而迅速升速帶來的網(wǎng)絡(luò)擁塞加劇的問題。具備iQCN功能的CP(Congestion Point)對收到的CNP報(bào)文進(jìn)行記錄,維護(hù)包含CNP報(bào)文信息和時(shí)間戳的流表。CP會對本設(shè)備的端口擁塞程度進(jìn)行持續(xù)監(jiān)測,端口擁塞較為嚴(yán)重時(shí),比較CNP報(bào)文的時(shí)間間隔與網(wǎng)卡升速時(shí)間:若發(fā)現(xiàn)從NP收到的CNP報(bào)文的時(shí)間間隔小于RP的網(wǎng)卡升速時(shí)間,判斷網(wǎng)卡可以正常降速,CP正常轉(zhuǎn)發(fā)CNP報(bào)文;若發(fā)現(xiàn)從NP收到CNP報(bào)文的時(shí)間間隔大于RP的網(wǎng)卡升速時(shí)間,判斷網(wǎng)卡不能及時(shí)降速且存在升速風(fēng)險(xiǎn),CP將會主動補(bǔ)償發(fā)送CNP報(bào)文。

無損網(wǎng)絡(luò)的流量調(diào)度技術(shù)

流量調(diào)度技術(shù)指的是網(wǎng)絡(luò)節(jié)點(diǎn)在轉(zhuǎn)發(fā)流量時(shí),將負(fù)載(流量)分?jǐn)偟蕉鄺l鏈路上進(jìn)行轉(zhuǎn)發(fā)。網(wǎng)絡(luò)中常用的負(fù)載分擔(dān)機(jī)制包括等價(jià)多路徑路由ECMP和鏈路聚合LAG。

ECMP(Equal-Cost Multi-Path routing)負(fù)載分擔(dān):實(shí)現(xiàn)了等價(jià)多路徑負(fù)載均衡和鏈路備份的目的。ECMP應(yīng)用于多條鏈路到達(dá)同一目的地址的網(wǎng)絡(luò)環(huán)境中,當(dāng)多條路由優(yōu)先級和度量都相同時(shí),可以實(shí)現(xiàn)負(fù)載分擔(dān);當(dāng)多條路由優(yōu)先級和度量不相同時(shí),可以實(shí)現(xiàn)路由備份。后者,發(fā)往目的地址的數(shù)據(jù)包只能利用其中的一條鏈路,其他鏈路處于備份狀態(tài)或無效狀態(tài),并且在動態(tài)路由環(huán)境下切換需要一定時(shí)間。ECMP負(fù)載分擔(dān)時(shí),路由器將數(shù)據(jù)包的五元組(源地址、目的地址、源端口、目的端口、協(xié)議)作為哈希因子,通過HASH算法生成HASH-KEY,在負(fù)載分擔(dān)鏈路中選取一條成員鏈路對數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā)。正常情況下,路由器采用主路由轉(zhuǎn)發(fā)數(shù)據(jù)。當(dāng)主鏈路出現(xiàn)故障時(shí),主路由變?yōu)榉羌せ顮顟B(tài),路由器選擇備份路由中優(yōu)先級最高的路由轉(zhuǎn)發(fā)數(shù)據(jù)。當(dāng)主鏈路恢復(fù)正常時(shí),由于主路由的優(yōu)先級最高,路由器重新選擇主路由來發(fā)送數(shù)據(jù)。

LAG(Link Aggregation Group)負(fù)載分擔(dān):將多個(gè)物理接口捆綁為一個(gè)邏輯接口,達(dá)到增加鏈路帶寬的目的。這個(gè)邏輯接口稱為聚合接口或Eth-Trunk接口。在使用Eth-Trunk轉(zhuǎn)發(fā)數(shù)據(jù)時(shí),由于聚合組兩端設(shè)備之間有多條物理鏈路,有可能產(chǎn)生同一數(shù)據(jù)流的第一個(gè)數(shù)據(jù)幀在一條物理鏈路上傳輸,第二個(gè)數(shù)據(jù)幀在另外一條物理鏈路上傳輸,有可能產(chǎn)生數(shù)據(jù)包亂序的情況。通過采用逐流負(fù)載分擔(dān)的機(jī)制,將數(shù)據(jù)幀中的地址通過HASH算法生成HASH-KEY值,關(guān)聯(lián)Eth-Trunk轉(zhuǎn)發(fā)表中對應(yīng)的出接口,不同的MAC或IP地址HASH得出的HASH-KEY不同,出接口也不同,保證了同一數(shù)據(jù)流的幀在同一條陸離鏈路轉(zhuǎn)發(fā),又實(shí)現(xiàn)了流量在聚合組內(nèi)各物理鏈路上的負(fù)載分擔(dān)。

小 結(jié)

RDMA的高效運(yùn)行依賴于無損網(wǎng)絡(luò)。“0丟包”、“低時(shí)延”、“高吞吐”是無損網(wǎng)絡(luò)三大核心特征。流量控制、擁塞控制、流量調(diào)度是無損網(wǎng)絡(luò)的三大核心技術(shù)。通過無損網(wǎng)絡(luò)的建設(shè),算力、網(wǎng)絡(luò)、存儲才能相互匹配,協(xié)同發(fā)揮更大的作用。

 

責(zé)任編輯:趙寧寧 來源: SDNLAB
相關(guān)推薦

2022-07-05 06:30:54

云網(wǎng)絡(luò)網(wǎng)絡(luò)云原生

2023-12-22 19:59:15

2021-08-04 16:06:45

DataOps智領(lǐng)云

2018-09-28 14:06:25

前端緩存后端

2025-04-03 10:56:47

2022-09-22 09:00:46

CSS單位

2022-11-06 21:14:02

數(shù)據(jù)驅(qū)動架構(gòu)數(shù)據(jù)

2023-09-17 23:09:24

Transforme深度學(xué)習(xí)

2023-05-20 17:58:31

低代碼軟件

2023-11-27 17:35:48

ComponentWeb外層

2022-10-20 08:01:23

2022-12-01 17:23:45

2022-07-26 00:00:03

語言模型人工智能

2020-01-03 10:40:36

網(wǎng)絡(luò)遙測丟包率

2023-12-02 19:42:29

2021-02-05 05:26:33

字節(jié)ASCII控制

2020-12-30 09:05:24

架構(gòu)微內(nèi)核系統(tǒng)

2017-05-04 20:29:12

HTTP服務(wù)器TCP

2018-10-30 11:10:05

Flink數(shù)據(jù)集計(jì)算

2021-05-18 09:48:58

前端開發(fā)架構(gòu)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號