一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于RDMA網(wǎng)絡(luò)的MMU水線設(shè)置步驟與應(yīng)用實例

牽手一起夢 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2020-01-02 16:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

RDMA(遠(yuǎn)程直接數(shù)據(jù)存?。?,以其對業(yè)務(wù)帶來的高性能、低延時優(yōu)勢,在數(shù)據(jù)中心尤其是AI、HPC、大數(shù)據(jù)等場景得到了廣泛應(yīng)用。為保障RDMA的穩(wěn)定運(yùn)行,基礎(chǔ)網(wǎng)絡(luò)需要提供端到端無損零丟包及超低延時的能力,這也催生了PFC、ECN等網(wǎng)絡(luò)流控技術(shù)在RDMA網(wǎng)絡(luò)中的部署。在RDMA網(wǎng)絡(luò)中,如何合理設(shè)置MMU(緩存管理單元)水線是保證RDMA網(wǎng)絡(luò)無損和低延時的關(guān)鍵。本文將以RDMA網(wǎng)絡(luò)作為切入點(diǎn),結(jié)合實際部署經(jīng)驗,分析MMU水線設(shè)置的一些思路。

什么是RDMA?

RDMA(Remote Direct Memory Access),通俗的說就是遠(yuǎn)程的DMA技術(shù),是為了解決網(wǎng)絡(luò)傳輸中服務(wù)器端數(shù)據(jù)處理的延遲而產(chǎn)生的。

▲ 傳統(tǒng)模式與RDMA模式工作機(jī)制對比

如上圖,在傳統(tǒng)模式下,兩臺服務(wù)器上的應(yīng)用之間傳輸數(shù)據(jù),過程是這樣的:

● 首先要把數(shù)據(jù)從應(yīng)用緩存拷貝到Kernel中的TCP協(xié)議棧緩存;

● 然后再拷貝到驅(qū)動層;

● 最后拷貝到網(wǎng)卡緩存。

多次內(nèi)存拷貝需要CPU多次介入,導(dǎo)致處理延時大,達(dá)到數(shù)十微秒。同時整個過程中CPU過多參與,大量消耗CPU性能,影響正常的數(shù)據(jù)計算。

在RDMA 模式下,應(yīng)用數(shù)據(jù)可以繞過Kernel協(xié)議棧直接向網(wǎng)卡寫數(shù)據(jù),帶來的顯著好處有:

● 處理延時由數(shù)十微秒降低到1微秒內(nèi);

● 整個過程幾乎不需要CPU參與,節(jié)省性能;

● 傳輸帶寬更高。

RDMA對于網(wǎng)絡(luò)的訴求

RDMA在高性能計算、大數(shù)據(jù)分析、IO高并發(fā)等場景中應(yīng)用越來越廣泛。諸如iSICI, SAN, Ceph, MPI, Hadoop, Spark, Tensorflow等應(yīng)用軟件都開始部署RDMA技術(shù)。而對于支撐端到端傳輸?shù)幕A(chǔ)網(wǎng)絡(luò)而言,低延時(微秒級)、無損(lossless)則是最重要的指標(biāo)。

低延時

網(wǎng)絡(luò)轉(zhuǎn)發(fā)延時主要產(chǎn)生在設(shè)備節(jié)點(diǎn)(這里忽略了光電傳輸延時和數(shù)據(jù)串行延時),設(shè)備轉(zhuǎn)發(fā)延時包括以下三部分:

● 存儲轉(zhuǎn)發(fā)延時:芯片轉(zhuǎn)發(fā)流水線處理延遲,每個hop會產(chǎn)生1微秒左右的芯片處理延時(業(yè)界也有嘗試使用cut-through模式,單跳延遲可以降低到0.3微秒左右);

● Buffer緩存延時:當(dāng)網(wǎng)絡(luò)擁塞時,報文會被緩存起來等待轉(zhuǎn)發(fā)。這時Buffer越大,緩存報文的時間就越長,產(chǎn)生的時延也會更高。對于RDMA網(wǎng)絡(luò),Buffer并不是越大越好,需要合理選擇;

● 重傳延時:在RDMA網(wǎng)絡(luò)里會有其他技術(shù)保證不丟包,這部分不做分析。

無損

RDMA在無損狀態(tài)下可以滿速率傳輸,而一旦發(fā)生丟包重傳,性能會急劇下降。在傳統(tǒng)網(wǎng)絡(luò)模式下,要想實現(xiàn)不丟包最主要的手段就是依賴大緩存,但如前文所說,這又與低延時矛盾了。因此,在RDMA網(wǎng)絡(luò)環(huán)境中,需要實現(xiàn)的是較小Buffer下的不丟包。

在這個限制條件下,RDMA實現(xiàn)無損主要是依賴基于PFC和ECN的網(wǎng)絡(luò)流控技術(shù)。

PFC

PFC(Priority-based Flow Control),基于優(yōu)先級的流量控制。是一種基于隊列的反壓機(jī)制,通過發(fā)送Pause幀通知上游設(shè)備暫停發(fā)包來防止緩存溢出丟包。

▲ PFC工作機(jī)制示意圖

PFC允許單獨(dú)暫停和重啟其中任意一條虛擬通道,同時不影響其它虛擬通道的流量。如上圖所示,當(dāng)隊列7的Buffer消耗達(dá)到設(shè)置的PFC流控水線,會觸發(fā)PFC的反壓:

● 本端交換機(jī)觸發(fā)發(fā)出PFC Pause幀,并反向發(fā)送給上游設(shè)備;

● 收到Pause幀的上游設(shè)備會暫停該隊列報文的發(fā)送,同時將報文緩存在Buffer中;

● 如果上游設(shè)備的Buffer也達(dá)到閾值,會繼續(xù)觸發(fā)Pause幀向上游反壓;

● 最終通過降低該優(yōu)先級隊列的發(fā)送速率來避免數(shù)據(jù)丟包;

● 當(dāng)Buffer占用降低到恢復(fù)水線時,會發(fā)送PFC解除報文。

RDMA無損網(wǎng)絡(luò)的關(guān)鍵技術(shù):ECN

ECN(Explicit Congestion Notification):顯示擁塞通知。ECN是一個非常古老的技術(shù),只是之前使用的并不普遍,該協(xié)議機(jī)制作用于主機(jī)與主機(jī)之間。

ECN是報文在網(wǎng)絡(luò)設(shè)備出口(Egress port)發(fā)生擁塞并觸發(fā)ECN水線時,使用IP報文頭的ECN字段標(biāo)記數(shù)據(jù)包,表明該報文遇到網(wǎng)絡(luò)擁塞。一旦接收服務(wù)器發(fā)現(xiàn)報文的ECN被標(biāo)記,立刻產(chǎn)生CNP(擁塞通知報文),并將它發(fā)送給源端服務(wù)器,CNP消息里包含了導(dǎo)致?lián)砣腇low信息。源端服務(wù)器收到后,通過降低相應(yīng)流發(fā)送速率,緩解網(wǎng)絡(luò)設(shè)備擁塞,從而避免發(fā)生丟包。

通過之前的描述可以了解到,PFC和ECN之所以可以實現(xiàn)網(wǎng)絡(luò)端到端的零丟包,是通過設(shè)置不同的水線來實現(xiàn)的。對這些水線的合理設(shè)置,就是針對交換機(jī)MMU的精細(xì)化管理,通俗講就是對交換機(jī)Buffer的管理。接下來我們具體分析下PFC的水線設(shè)置。

PFC水線設(shè)置

交換芯片都有固定的Pipeline(轉(zhuǎn)發(fā)流水線), Buffer管理處于入芯片流程和出芯片流程的中間位置。報文處于在這個位置上時,已經(jīng)知道了該報文的入口和出口信息,因此邏輯上就可以分成入方向和出方向分別對緩存進(jìn)行管理。

PFC水線是基于入方向緩存管理進(jìn)行觸發(fā)的。芯片在入口方向提供了8個隊列,我們可以將不同優(yōu)先級的業(yè)務(wù)報文映射到不同的隊列上,從而實現(xiàn)對不同優(yōu)先級的報文提供不同的Buffer分配方案。

▲ 隊列Buffer的組成部分

具體到每個隊列,其Buffer分配根據(jù)使用場景設(shè)計為3部分:保證緩存,共享緩存,Headroom。

● 保證緩存:每個隊列的專用緩存,確保每個隊列均有一定緩存以保證基本轉(zhuǎn)發(fā);

● 共享緩存:流量突發(fā)時可以申請使用的緩存,所有隊列共享;

● Headroom:在觸發(fā)PFC水線后,到服務(wù)器響應(yīng)降速前,還可以繼續(xù)使用的緩存。

保證緩存設(shè)置

保證緩存是一個靜態(tài)水線(固定的、獨(dú)享的)。靜態(tài)水線的利用率非常低,資源消耗卻非常大。我們在實際部署時建議不分配保證緩存,以減少這部分的緩存消耗。這樣,入方向報文直接使用共享緩存空間,可提高Buffer的利用率。

共享緩存設(shè)置

對于共享緩存的設(shè)置,需要采用更為靈活的動態(tài)水線。動態(tài)水線能根據(jù)當(dāng)前空閑的Buffer資源,以及當(dāng)前隊列已使用的Buffer資源數(shù)量來決定能否繼續(xù)申請到資源。由于系統(tǒng)中空閑共享Buffer資源與已使用的Buffer資源都是時刻變化的,因此閾值也處于不斷變動中。相對于靜態(tài)水線,動態(tài)水線能更靈活、有效的利用Buffer及避免造成不必要的浪費(fèi)。

銳捷網(wǎng)絡(luò)交換機(jī)支持基于動態(tài)的方式進(jìn)行Buffer資源的分配,對共享緩存的設(shè)置分為11檔,動態(tài)水線alpha值=隊列可申請緩存量/剩余共享緩存量。隊列的α值越大,其在共享緩存中可使用的百分?jǐn)?shù)占比也就越高。

▲共享水線α值與可使用率對應(yīng)關(guān)系

我們不妨分析一下:

隊列的α值設(shè)置越小,其最大可申請的共享緩存占比就越小。當(dāng)端口擁塞時就會越早觸發(fā)PFC流控,PFC流控生效后隊列降速,可以很好地保證網(wǎng)絡(luò)不丟包。

但從性能的角度看,過早觸發(fā)PFC流控,會導(dǎo)致RDMA網(wǎng)絡(luò)吞吐下降。因此我們在MMU水線設(shè)置時需要選取一個平衡值。

PFC水線到底設(shè)置多少,是一個非常復(fù)雜的問題,理論上不存在一個固定的值。實際部署時,需要我們具體分析業(yè)務(wù)模型,并搭建測試環(huán)境進(jìn)行水線調(diào)優(yōu),找到匹配業(yè)務(wù)的最佳水線。

Headroom設(shè)置

Headroom:顧名思義,就是頭部空間的意思,是在PFC觸發(fā)后,到PFC真正生效這一段時間,用來緩存隊列報文的。Headroom設(shè)置多大合適?這里與4個因素有關(guān):

● PG檢測到觸發(fā)XOFF水線,到構(gòu)造PFC幀發(fā)出的時間(這里主要跟配置的檢測精度以及平均隊列算法相關(guān),固定配置是固定值)

● 上游收到PFC Pause幀,到停止隊列轉(zhuǎn)發(fā)的時間(主要跟芯片處理性能有關(guān)系,交換芯片實際上是固定值)

● PFC Pause幀在鏈路上的傳輸時間(跟AOC線纜/光纖距離成正比)

● 隊列暫停發(fā)送后鏈路中報文的傳輸時間(跟AOC線纜/光纖距離成正比)

因此Headroom所需要的緩存大小,我們可以根據(jù)組網(wǎng)的架構(gòu),以及流量模型測算得出。以100米光纖線 + 100G光模塊,緩存64字節(jié)小包,計算出所需的Headroom大小是408個cell(cell是緩存管理的最小單元,一個報文會占用1個或者多個cell),實際測試數(shù)據(jù)也吻合。當(dāng)然,考慮一定的冗余性,Headroom設(shè)置建議比理論值稍大。

RDMA網(wǎng)絡(luò)實踐

銳捷網(wǎng)絡(luò)在研發(fā)中心搭建了模擬真實業(yè)務(wù)的RDMA網(wǎng)絡(luò),架構(gòu)如下:

▲銳捷網(wǎng)絡(luò)RDMA組網(wǎng)架構(gòu)

● 組網(wǎng)模型:大核心三級組網(wǎng)架構(gòu),核心采用高密100G線卡;

● POD內(nèi):Spine采用提供64個100G接口的 BOX設(shè)備,Leaf采用提供48個25G接口+8個100G接口的BOX設(shè)備;

● Leaf作為服務(wù)器網(wǎng)關(guān),支持和服務(wù)器間基于PFC流控(識別報文的DSCP并進(jìn)行PG映射),同時支持擁塞ECN標(biāo)記;

● RDMA僅運(yùn)行于POD內(nèi)部,不存在跨POD的RDMA流量,因此核心無需感知RDMA流量;

● 為了避免擁塞丟包,需要在Leaf與Spine之間部署PFC流控技術(shù),同時Spine設(shè)備也需要支持基于擁塞的ECN標(biāo)記;

● Leaf和Spine設(shè)備支持PFC流控幀統(tǒng)計、ECN標(biāo)記統(tǒng)計、擁塞丟包統(tǒng)計、基于隊列的擁塞統(tǒng)計等,并支持將統(tǒng)計信息通過gRPC同步到遠(yuǎn)端gRPC服務(wù)器。

寫在最后

銳捷網(wǎng)絡(luò)在研發(fā)中心同樣搭建了模擬真實業(yè)務(wù)的浸泡組網(wǎng)環(huán)境(包括RG-S6510、RG-S6520、RG-N18000-X系列25G/100G網(wǎng)絡(luò)設(shè)備、大型測試儀、25G服務(wù)器)。在疊加了多種業(yè)務(wù)模型,并進(jìn)行了長時間浸泡測試后,我們對于RDMA網(wǎng)絡(luò)的MMU水線設(shè)置已有一些推薦的經(jīng)驗值。此外,在RDMA網(wǎng)絡(luò)中,還存在一些部署難點(diǎn),比如多級網(wǎng)絡(luò)中 PFC風(fēng)暴、死鎖問題、ECN水線設(shè)計復(fù)雜問題等。對于這些問題,銳捷網(wǎng)絡(luò)也有一些研究和積累,期待與大家共同探討。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    13

    文章

    9789

    瀏覽量

    87911
  • AI
    AI
    +關(guān)注

    關(guān)注

    88

    文章

    35076

    瀏覽量

    279409
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    深入了解RDMA技術(shù)

    Explorer,專注于高性能網(wǎng)絡(luò)、虛擬化網(wǎng)絡(luò)及網(wǎng)卡的測試方案研究。熟悉dpdk,rdma,sdn等技術(shù)的應(yīng)用與解決方案。
    的頭像 發(fā)表于 12-26 09:23 ?3125次閱讀
    深入了解<b class='flag-5'>RDMA</b>技術(shù)

    RDMA RNIC虛擬化方案

    遠(yuǎn)程直接內(nèi)存訪問(Remote Direct Memory Access,RDMA)技術(shù)允許應(yīng)用程序繞過操作系統(tǒng)內(nèi)核,以零拷貝的方式和遠(yuǎn)程計算機(jī)進(jìn)行網(wǎng)絡(luò)通信,具有低延遲和高帶寬的優(yōu)勢。RDMA協(xié)議
    的頭像 發(fā)表于 01-23 17:23 ?3024次閱讀
    <b class='flag-5'>RDMA</b> RNIC虛擬化方案

    RDMA簡介1之RDMA開發(fā)必要性

    總線或高速外設(shè)部件互連總線(PCIe)上,二者均為短距離連接總線,會導(dǎo)致數(shù)據(jù)采集系統(tǒng)的部署位置受限 。遠(yuǎn)程直接內(nèi)存訪問技術(shù)(RDMA)是一種專為遠(yuǎn)距離網(wǎng)絡(luò)通信設(shè)計的技術(shù),其通常通過光纖進(jìn)行設(shè)備間連接
    發(fā)表于 06-03 14:38

    RDMA簡介2之A技術(shù)優(yōu)勢分析

    隨著數(shù)據(jù)中心對于網(wǎng)絡(luò)帶寬和延遲的要求日益增長,傳統(tǒng)的TCP/IP網(wǎng)絡(luò)已無法滿足性能要求,RDMA網(wǎng)絡(luò)則憑借其高帶寬、低延時的特性脫穎而出。相較于傳統(tǒng)TCP/IP協(xié)議,
    發(fā)表于 06-04 11:35

    RDMA簡介3之四種子協(xié)議對比

    RDMA協(xié)議共有四種子協(xié)議,分別為InfiniBand、iWARP、RoCE v1和RoCE v2協(xié)議。這四種協(xié)議使用統(tǒng)一的RDMA API,但在具體的網(wǎng)絡(luò)層級實現(xiàn)上有所不同,如圖1所示,接下來將
    發(fā)表于 06-04 16:05

    樹莓派3設(shè)置有線網(wǎng)絡(luò)步驟_樹莓派3利用WinScp上傳文件步驟教程

    本文主要講解關(guān)于樹莓派3設(shè)置有線網(wǎng)絡(luò)步驟教程以及利用WinScp上傳文件的步驟教程,詳細(xì)的步驟接下來跟隨小編一起了解一下。
    發(fā)表于 12-08 16:39 ?7650次閱讀
    樹莓派3<b class='flag-5'>設(shè)置</b>有線<b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>步驟</b>_樹莓派3利用WinScp上傳文件<b class='flag-5'>步驟</b>教程

    技術(shù)盛宴 | 淺析RDMA網(wǎng)絡(luò)MMU水線設(shè)置

    水線是保證RDMA網(wǎng)絡(luò)無損和低延時的關(guān)鍵。本文將以RDMA網(wǎng)絡(luò)作為切入點(diǎn),結(jié)合實際部署經(jīng)驗,分析MMU
    發(fā)表于 11-22 12:44 ?1410次閱讀

    RDMA網(wǎng)絡(luò)中如何合理設(shè)置MMU水線,解決服務(wù)器端數(shù)據(jù)延遲問題

    RDMA(Remote Direct Memory Access),通俗的說就是遠(yuǎn)程的DMA技術(shù),是為了解決網(wǎng)絡(luò)傳輸中服務(wù)器端數(shù)據(jù)處理的延遲而產(chǎn)生的。
    的頭像 發(fā)表于 01-28 17:40 ?4045次閱讀

    RDMA是什么?RDMA網(wǎng)卡有什么作用?

    近幾年RDMA這個詞在行業(yè)內(nèi)炒的如火如荼,但是很多人表示RDMA具體是什么?主要應(yīng)用在哪些領(lǐng)域,有什么作用?RDMA都有哪幾種協(xié)議?今天小編就這幾個問題給大家科普一下。
    發(fā)表于 12-27 17:15 ?1.3w次閱讀

    RDMA技術(shù)有助于實現(xiàn)網(wǎng)絡(luò)和設(shè)備的性能提升

    RDMA作為一種遠(yuǎn)程直接內(nèi)存訪問技術(shù),可以使數(shù)據(jù)通過應(yīng)用程序繞過CPU直達(dá)網(wǎng)卡,實現(xiàn)低延遲、低負(fù)載、高效率的數(shù)據(jù)傳輸。從而提升網(wǎng)絡(luò)和設(shè)備性能。
    發(fā)表于 03-28 15:03 ?822次閱讀

    RDMA技術(shù)簡介 RDMA的控制通路和數(shù)據(jù)通路方案

    RDMA 技術(shù)基于傳統(tǒng)以太網(wǎng)的網(wǎng)絡(luò)概念,但與以太網(wǎng)網(wǎng)絡(luò)中的同類技術(shù)存在差異。關(guān)鍵區(qū) 別在于,RDMA 提供了一種消息服務(wù),應(yīng)用程序可以使用該服務(wù)直接訪問遠(yuǎn)程計算機(jī)上的虛擬內(nèi)存。
    發(fā)表于 04-10 09:59 ?2387次閱讀

    什么是RDMA?什么是RoCE網(wǎng)絡(luò)技術(shù)?

    在數(shù)據(jù)為王的時代,人們對網(wǎng)絡(luò)的要求更加嚴(yán)苛。然而傳統(tǒng)的TCP / IP以太網(wǎng)連接占用了大量的CPU資源,并且需要額外的數(shù)據(jù)處理,已無法再滿足當(dāng)前更快、更高效和可擴(kuò)展性的網(wǎng)絡(luò)需求。在這種情況下,RoCE(RDMA over Con
    的頭像 發(fā)表于 07-24 17:40 ?8209次閱讀
    什么是<b class='flag-5'>RDMA</b>?什么是RoCE<b class='flag-5'>網(wǎng)絡(luò)</b>技術(shù)?

    rdma網(wǎng)絡(luò)是什么?RDMA網(wǎng)絡(luò)有什么應(yīng)用場景?

    RDMA(Remote Direct Memory Access)網(wǎng)絡(luò)是一種技術(shù),它通過網(wǎng)絡(luò)直接在計算機(jī)之間傳輸數(shù)據(jù),而無需雙方操作系統(tǒng)的介入。這種技術(shù)可以允許高吞吐、低延遲的網(wǎng)絡(luò)通信
    的頭像 發(fā)表于 12-22 09:30 ?1979次閱讀

    以太網(wǎng)RDMA RoCE的技術(shù)局限

    上期我們講到了RDMA的WHY,WHAT & HOW(AI網(wǎng)絡(luò)背景下RDMA的Why,What & How),這一期我們來談一談RDMA的不足。
    的頭像 發(fā)表于 10-22 10:02 ?1326次閱讀
    以太網(wǎng)<b class='flag-5'>RDMA</b> RoCE的技術(shù)局限

    如何實現(xiàn)開源開放生態(tài)下的RDMA網(wǎng)絡(luò)監(jiān)控?

    在當(dāng)今AI、大模型飛速發(fā)展的時代,RDMA(Remote Direct Memory Access,遠(yuǎn)程直接內(nèi)存訪問)網(wǎng)絡(luò)技術(shù)憑借其低延遲、高吞吐量的特性,在數(shù)據(jù)中心、高性能計算等領(lǐng)域得到了廣泛應(yīng)用
    的頭像 發(fā)表于 03-03 13:42 ?472次閱讀
    如何實現(xiàn)開源開放生態(tài)下的<b class='flag-5'>RDMA</b><b class='flag-5'>網(wǎng)絡(luò)</b>監(jiān)控?