DCQCN:Congestion Control for Large-Scale RDMA Deployments

Microsoft--sigcomm'15

核心思想:避免RDMA網(wǎng)絡(luò)中的丟包,替代PFC流控方案熬尺,建立流模型調(diào)節(jié)交換機(jī)緩存閾值(用于標(biāo)記ECN)

簡(jiǎn)介:

高帶寬(40Gbps+)摸屠、低時(shí)延(10us- per hop)的數(shù)據(jù)中心網(wǎng)絡(luò)需求。TCP/IP協(xié)議棧的運(yùn)行模式需要大量的CPU開銷粱哼,時(shí)延也相當(dāng)高季二。RDMA將網(wǎng)絡(luò)協(xié)議棧實(shí)現(xiàn)在網(wǎng)卡(NIC)上,通過(guò)Bypass的方式降低CPU開銷揭措,直接與對(duì)端內(nèi)存進(jìn)行交互胯舷。關(guān)鍵問(wèn)題是如何為RDMA網(wǎng)絡(luò)營(yíng)造一個(gè)無(wú)損環(huán)境,如何在網(wǎng)卡上設(shè)計(jì)和實(shí)現(xiàn)擁塞控制協(xié)議避免丟包蜂筹。

最初RDMA是部署在IB網(wǎng)絡(luò)中的需纳,IB網(wǎng)絡(luò)的L2鏈路層使用逐跳、基于身份令牌的流控機(jī)制避免由于緩存溢出引發(fā)的丟包艺挪。所以L4傳輸層設(shè)計(jì)就相對(duì)簡(jiǎn)單不翩,效率很高。但I(xiàn)B網(wǎng)絡(luò)與數(shù)據(jù)中心中已有的以太網(wǎng)絡(luò)不兼容麻裳,DC中同時(shí)運(yùn)行兩種網(wǎng)絡(luò)的管理成本太高口蝠,于是基于Ethernet的RoCE(為了可路由)和基于UDP的RoCEv2(為了ECMP)產(chǎn)生了。若要達(dá)到與IB高效的性能津坑,需保證RoCEv2運(yùn)行在無(wú)損網(wǎng)絡(luò)中妙蔗,即不丟包。RoCE采用PFC粗粒度的流控機(jī)制疆瑰,通過(guò)暫停發(fā)包的指令避免緩存溢出眉反。PFC是基于端口(每個(gè)端口有8條虛擬優(yōu)先級(jí)鏈路)的,不能區(qū)分流穆役,容易造成擁塞擴(kuò)散的現(xiàn)象寸五,降低吞吐量。

所以耿币,擁塞控制機(jī)制必須滿足這些條件:(1)運(yùn)行在數(shù)據(jù)中心三層路由網(wǎng)絡(luò)中梳杏,實(shí)現(xiàn)無(wú)損網(wǎng)絡(luò)(2)在終端主機(jī)上的CPU開銷足夠低(3)在非擁塞環(huán)境下快啟動(dòng)。

目前已有方案:QCN不支持三層網(wǎng)絡(luò)。DCTCP和iWarp是慢啟動(dòng)十性。DCTCP和TCP-Bolt是在軟件中實(shí)現(xiàn)的叛溢,CPU開銷很大。

DCQCN:只需要交換機(jī)支持RED和ECN即可劲适。協(xié)議實(shí)現(xiàn)在網(wǎng)卡上楷掉。可以保證快速公平收斂减响,高帶寬利用率靖诗,低延遲郭怪。

conventional:常規(guī)的支示,慣例的

設(shè)計(jì)DCQCN的必要性:TCP/IP協(xié)議棧不能提供超低時(shí)延和超低CPU開銷;目前PFC方案的弊端鄙才;以及解決方案的弊端

(1)測(cè)量比較TCP與RDMA的吞吐量颂鸿、時(shí)延和CPU利用率

方案:TCP:修改iperf,開啟LSO攒庵,RSS嘴纺,使用16條線程,零拷貝操作? ? ? RDMA:使用自定義的工具測(cè)試IB read操作傳送數(shù)據(jù)浓冒,一條線程占滿一條鏈路栽渴。

(2)PFC的限制和弊端

PFC:通過(guò)監(jiān)控ingress queue以及向上一跳發(fā)送PAUSE幀的方式避免交換機(jī)緩沖區(qū)和NIC緩沖區(qū)出現(xiàn)緩存溢出,從而避免丟包稳懒。

問(wèn)題:PFC是針對(duì)端口和優(yōu)先級(jí)進(jìn)行流控的闲擦,不能識(shí)別流,會(huì)造成HOL問(wèn)題场梆,對(duì)單條流性能造成影響墅冷。不公平性。級(jí)聯(lián)性或油。

解決方案:添加8條優(yōu)先級(jí)寞忿。但隨著發(fā)送端數(shù)量的增多,網(wǎng)絡(luò)規(guī)模的擴(kuò)大顶岸,可擴(kuò)展性不高腔彰。并且處于同一優(yōu)先級(jí)的不同流仍會(huì)遭受HOL問(wèn)題。

(3)PFC改進(jìn)方案的不足之處

改進(jìn)方案:使用流級(jí)擁塞控制機(jī)制辖佣。

QCN:二層流控機(jī)制霹抛。依據(jù)mac地址和流id確定某條流,根據(jù)排隊(duì)長(zhǎng)度依概率判定是否擁塞凌简,向發(fā)送該擁塞報(bào)文的源端發(fā)送擁塞通知上炎。源端在周期內(nèi)若收到擁塞通知,則降低發(fā)送速率,否則增加發(fā)送速率藕施。

問(wèn)題:QCN是通過(guò)二層mac地址標(biāo)識(shí)流的寇损,在IP網(wǎng)絡(luò)中不可行,mac地址會(huì)變裳食,交換機(jī)不知道該向誰(shuí)發(fā)送擁塞通知包矛市。

解決方案:擴(kuò)展QCN支持三層流控。需要做的是修改NIC和交換機(jī)以支持用五元組標(biāo)識(shí)流诲祸。修改交換機(jī)需要修改ASIC芯片浊吏,周期長(zhǎng),可實(shí)現(xiàn)性低救氯。

DCQCN算法

不改交換機(jī)找田,在NIC上實(shí)現(xiàn),考慮CPU開銷着憨。在性能方面上墩衙,要求公平帶寬分配的快速收斂,避免震蕩甲抖,維持短隊(duì)長(zhǎng)漆改,確保高鏈路利用率。

CP算法(Congestion Point):在交換機(jī)上准谚。與DCTCP機(jī)制相同挫剑,利用RED功能依據(jù)隊(duì)列長(zhǎng)度按照概率分布給數(shù)據(jù)包打上ECN標(biāo)簽。本方案中改進(jìn)了DCTCP的參數(shù)設(shè)置模型柱衔。

NP算法(Notification Point):在接收端樊破。決定了在收到ECN包后什么時(shí)間和怎樣構(gòu)造CNP(congestion notification packet)的問(wèn)題。在某一時(shí)間周期內(nèi)秀存,最多只發(fā)送一個(gè)CNP包捶码。N=50us。

RP算法(Reaction Point):在發(fā)送端或链。當(dāng)收到CNP包時(shí)惫恼,怎么調(diào)節(jié)速率。當(dāng)收到CNP包后澳盐,依照equation 1 調(diào)節(jié)祈纯;在連續(xù)K時(shí)間內(nèi),未收到CNP包叼耙,根據(jù)當(dāng)前計(jì)時(shí)器(每T個(gè)時(shí)間單元為1腕窥,保證快恢復(fù))和計(jì)數(shù)器(每B個(gè)字節(jié)為1)的值,按照equation 2 快速增加速率筛婉。

RP算法的偽代碼

緩存區(qū)設(shè)置:Tflight簇爆,Tpfc癞松,Tecn

需求:PFC的觸發(fā)要晚于ECN,早于緩存溢出入蛆,避免丟包和吞吐量下降

討論的前提:交換機(jī)為共享緩存模式响蓉,有32個(gè)全雙工的40Gbps端口,12MB的共享內(nèi)存哨毁,支持PFC的8條優(yōu)先級(jí)隊(duì)列

Tflight:用于存儲(chǔ)PAUSE包發(fā)送時(shí)和生效時(shí)到達(dá)的數(shù)據(jù)包的內(nèi)存大小枫甲。根據(jù)BDP,每個(gè)端口扼褪,每個(gè)優(yōu)先級(jí)所需要的內(nèi)存空間為22.4KB想幻。

Tpfc:可理解為觸發(fā)PFC的ingress 隊(duì)列中可以占用的最大內(nèi)存區(qū)域。每個(gè)端口的每個(gè)優(yōu)先級(jí)隊(duì)列的Tpfc值要小于等于24.47KB话浇。而觸發(fā)PFC的條件一定要比它小脏毯。當(dāng)隊(duì)列內(nèi)存占用降低到Tpfc減去兩個(gè)MTU的值時(shí),會(huì)自動(dòng)發(fā)送RESUME信號(hào)凳枝,恢復(fù)發(fā)包抄沮。

Tecn:觸發(fā)ECN標(biāo)記的最小egress queue占用的內(nèi)存空間跋核。該值的設(shè)置一定要使ECN先于PFC觸發(fā)岖瑰。最壞情況下,所有的egress queue的包都來(lái)自于同一條ingress queue砂代,為保證ecn先于pfc觸發(fā)蹋订,則Tecn應(yīng)小于0.85KB,小于一個(gè)MTU長(zhǎng)度刻伊,不可行露戒。這種想法過(guò)于靜態(tài),由于交換機(jī)內(nèi)緩存資源是共享的捶箱,所以Tpfc的設(shè)置應(yīng)取決于剩余的可用資源智什。如下公式:

S為所有egress隊(duì)列占用的緩存資源,此公式為是交換機(jī)依賴的
在最壞情況下的Tecn經(jīng)過(guò)放縮后的結(jié)果

DCQCN分析:建立流模型決定參數(shù)設(shè)置

建立了當(dāng)前速率丁屎,目標(biāo)速率荠锭,速率增長(zhǎng)步長(zhǎng),速率調(diào)節(jié)參數(shù)α晨川,等一系列參數(shù)证九。

實(shí)驗(yàn)結(jié)果:搭建實(shí)驗(yàn)床驗(yàn)證流模型和參數(shù)設(shè)置的有效性

DCQCN是基于速率調(diào)整的擁塞控制方案,DCTCP共虑、iWarp和TCP-Bolt都是基于窗口的擁塞控制算法愧怜。

下一步研究方向:將機(jī)器學(xué)習(xí)應(yīng)用到DCQCN算法中調(diào)節(jié)參數(shù)設(shè)置

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市妈拌,隨后出現(xiàn)的幾起案子拥坛,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,843評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件猜惋,死亡現(xiàn)場(chǎng)離奇詭異疾党,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)惨奕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門雪位,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人梨撞,你說(shuō)我怎么就攤上這事雹洗。” “怎么了卧波?”我有些...
    開封第一講書人閱讀 163,187評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵时肿,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我港粱,道長(zhǎng)螃成,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,264評(píng)論 1 292
  • 正文 為了忘掉前任查坪,我火速辦了婚禮寸宏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘偿曙。我一直安慰自己氮凝,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,289評(píng)論 6 390
  • 文/花漫 我一把揭開白布望忆。 她就那樣靜靜地躺著罩阵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪启摄。 梳的紋絲不亂的頭發(fā)上稿壁,一...
    開封第一講書人閱讀 51,231評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音歉备,去河邊找鬼傅是。 笑死,一個(gè)胖子當(dāng)著我的面吹牛威创,可吹牛的內(nèi)容都是我干的落午。 我是一名探鬼主播,決...
    沈念sama閱讀 40,116評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼肚豺,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼溃斋!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起吸申,我...
    開封第一講書人閱讀 38,945評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤梗劫,失蹤者是張志新(化名)和其女友劉穎享甸,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體梳侨,經(jīng)...
    沈念sama閱讀 45,367評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蛉威,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,581評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了走哺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蚯嫌。...
    茶點(diǎn)故事閱讀 39,754評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖丙躏,靈堂內(nèi)的尸體忽然破棺而出择示,到底是詐尸還是另有隱情,我是刑警寧澤晒旅,帶...
    沈念sama閱讀 35,458評(píng)論 5 344
  • 正文 年R本政府宣布栅盲,位于F島的核電站,受9級(jí)特大地震影響废恋,放射性物質(zhì)發(fā)生泄漏谈秫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,068評(píng)論 3 327
  • 文/蒙蒙 一鱼鼓、第九天 我趴在偏房一處隱蔽的房頂上張望拟烫。 院中可真熱鬧,春花似錦蚓哩、人聲如沸构灸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至稠氮,卻和暖如春曹阔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背隔披。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工赃份, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人奢米。 一個(gè)月前我還...
    沈念sama閱讀 47,797評(píng)論 2 369
  • 正文 我出身青樓抓韩,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親鬓长。 傳聞我的和親對(duì)象是個(gè)殘疾皇子谒拴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,654評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容