国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

RDMA技術(shù)在數(shù)據(jù)中心中的應(yīng)用研究

2021-03-16 13:28:52涂曉軍蔡立志
關(guān)鍵詞:網(wǎng)卡高性能數(shù)據(jù)中心

涂曉軍 孫 權(quán),2 蔡立志

1(中國(guó)銀聯(lián)股份有限公司 上海 201201)

2(復(fù)旦大學(xué) 上海 200433)

3(上海計(jì)算機(jī)軟件技術(shù)開(kāi)發(fā)中心上海市計(jì)算機(jī)軟件評(píng)測(cè)重點(diǎn)實(shí)驗(yàn)室 上海 201112)

0 引 言

RDMA即遠(yuǎn)程DMA,是最早脫胎于InfiniBand網(wǎng)絡(luò)[1-3]的技術(shù),主要應(yīng)用于高性能科學(xué)計(jì)算中。隨著云計(jì)算的興起,RDMA技術(shù)也逐漸被應(yīng)用到云數(shù)據(jù)中心具有高性能要求的場(chǎng)景中。

當(dāng)前RDMA的使用案例主要集中于互聯(lián)網(wǎng)企業(yè),尤其是高性能計(jì)算領(lǐng)域,相應(yīng)的標(biāo)準(zhǔn)組織也在積極推動(dòng),同時(shí)也出現(xiàn)了提供RDMA專用技術(shù)服務(wù)的公司。

國(guó)際上,微軟是在數(shù)據(jù)中心大規(guī)模部署RDMA的第一家超大規(guī)模公司[4]。FaceBook主導(dǎo)的OCP(Open Computing Project)對(duì)于推動(dòng)網(wǎng)絡(luò)的開(kāi)放解耦與RDMA的應(yīng)用也做了許多的工作。

國(guó)內(nèi)來(lái)看,從2016年開(kāi)始,阿里巴巴就投入專項(xiàng)研究,以改造RDMA,提高傳輸性能,從網(wǎng)卡底層開(kāi)始設(shè)計(jì)滿足大規(guī)模應(yīng)用的網(wǎng)絡(luò),基于RDMA網(wǎng)絡(luò)技術(shù)的云存儲(chǔ)和電商數(shù)據(jù)庫(kù)服務(wù)器可以從容地應(yīng)對(duì)峰值流量考驗(yàn)[5]。百度在2014年前后開(kāi)始引入RDMA網(wǎng)絡(luò),先后部署了lnfinband集群和RoCEv1集群。2015年,百度分別在SZWG機(jī)房和YQ01機(jī)房大規(guī)模部署了RoCEv2集群,分別承載了深度學(xué)習(xí)、語(yǔ)音識(shí)別和自然語(yǔ)言處理等相關(guān)的機(jī)器學(xué)習(xí)任務(wù)。目前RDMA集群總體規(guī)模為600臺(tái)左右,這是國(guó)內(nèi)比較大的一個(gè)RoCEv2網(wǎng)絡(luò)。京東人工智能研發(fā)團(tuán)隊(duì)在分布式的模型訓(xùn)練場(chǎng)景中,也使用了RDMA技術(shù),針對(duì)模型文件的高性能傳輸,滿足了分布式訓(xùn)練的需求。

RDMA對(duì)于端到端的網(wǎng)絡(luò)傳輸做了多重的優(yōu)化,其定位是高性能的網(wǎng)絡(luò)技術(shù),所帶來(lái)的效果主要體現(xiàn)在如下幾個(gè)方面:

(1) 減輕CPU負(fù)荷:通過(guò)主機(jī)側(cè)內(nèi)核旁路零拷貝以及網(wǎng)絡(luò)對(duì)于傳輸控制協(xié)議的卸載,可以極大地解放主機(jī)的CPU,從側(cè)面提升計(jì)算效率。

(2) 擁塞快速處理:除了端側(cè)外,網(wǎng)絡(luò)側(cè)也直接參與擁塞處理,可以第一時(shí)間檢測(cè)到報(bào)文的擁塞堆積,并且及時(shí)有效地進(jìn)行反饋,避免報(bào)文大規(guī)模的重傳。

(3) 低延時(shí):低延時(shí)是RDMA最顯著的特征,主機(jī)側(cè)的精簡(jiǎn)處理以及網(wǎng)絡(luò)側(cè)的擁塞及時(shí)反饋,可以有效確保時(shí)延的可預(yù)期性,提升通信的效率。

1 數(shù)據(jù)中心RDMA應(yīng)用場(chǎng)景

RDMA在網(wǎng)絡(luò)技術(shù)中主要解決的是擁塞控制的問(wèn)題,在主機(jī)側(cè)采用了內(nèi)核旁路與網(wǎng)卡卸載等方法降低網(wǎng)絡(luò)通信的開(kāi)銷。以下是其適用的數(shù)據(jù)中心場(chǎng)景:

(1) 高性能MPI計(jì)算。并行編程結(jié)構(gòu)MPI計(jì)算是最早使用RDMA的應(yīng)用場(chǎng)景,通常應(yīng)用在大型科研機(jī)構(gòu)的超算中心。其程序通常使用MPI框架進(jìn)行開(kāi)發(fā),MPI的底層調(diào)用RDMA的API進(jìn)行網(wǎng)絡(luò)通信。MPI計(jì)算通常在天文氣象、流體力學(xué)等科學(xué)計(jì)算領(lǐng)域有大量的使用,但在企業(yè)級(jí)市場(chǎng)中普及度不高。

(2) 大數(shù)據(jù)/AI類的應(yīng)用。大數(shù)據(jù)/AI類的應(yīng)用通常涉及到海量數(shù)據(jù)的搬運(yùn)與交互,兼具計(jì)算密集、網(wǎng)絡(luò)密集與I/O密集的特征,因此非常適合通過(guò)RDMA技術(shù)進(jìn)行集群優(yōu)化。大數(shù)據(jù)/AI領(lǐng)域常見(jiàn)的項(xiàng)目,例如Hadoop、Spark[6]、TensorFlow[7]、Pythorch等都已經(jīng)加入了對(duì)于RDMA通信接口的支持。

(3) 分布式存儲(chǔ)/數(shù)據(jù)庫(kù)。分布式存儲(chǔ)或者分布式數(shù)據(jù)庫(kù)也是高吞吐數(shù)據(jù)密集型的應(yīng)用。隨著SSD以及NVMe技術(shù)的引入,I/O的速度也大幅增長(zhǎng)。Samba文件共享系統(tǒng)、Ceph分布式存儲(chǔ)等都加入了對(duì)于RDMA通信接口的支持。在分布式數(shù)據(jù)庫(kù)領(lǐng)域,有些數(shù)據(jù)庫(kù)采用了計(jì)算存儲(chǔ)分離的設(shè)計(jì),在存儲(chǔ)部分也會(huì)用RDMA進(jìn)行加速,例如阿里巴巴的PolarDB。內(nèi)存數(shù)據(jù)庫(kù)方面,也有相應(yīng)的采用RDMA進(jìn)行網(wǎng)絡(luò)設(shè)計(jì)的研究,甚至是對(duì)Redis的RDMA化改造。

2 高性能RDMA集群架構(gòu)優(yōu)化

2.1 網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)-流控與選路的結(jié)合

在網(wǎng)絡(luò)架構(gòu)上,SDN通常能夠?qū)崿F(xiàn)更靈活的選路控制,而RDMA主要處理網(wǎng)絡(luò)的擁塞流控,兩者此前一般都獨(dú)立存在。RDMA把端到端的網(wǎng)絡(luò)通信做到了極致,如果能結(jié)合上整體的網(wǎng)絡(luò)視圖,兩者就能夠?qū)崿F(xiàn)更好的網(wǎng)絡(luò)優(yōu)化,如圖1所示。

圖1 SDN與RDMA的聯(lián)合優(yōu)化

在圖1的Leaf-Spine的網(wǎng)絡(luò)通信場(chǎng)景中,當(dāng)一個(gè)Spine的出端口出現(xiàn)擁塞時(shí)有兩種解決方法:一種是通過(guò)擁塞控制降低Leaf服務(wù)的發(fā)送速率;另一種是通過(guò)SDN控制器流量調(diào)度,將部分的Leaf流量切換到另一個(gè)空閑的Spine中,實(shí)現(xiàn)整個(gè)網(wǎng)絡(luò)的吞吐最優(yōu)。

2.2 集群應(yīng)用的通信結(jié)構(gòu)設(shè)計(jì)

如果以更高的視野來(lái)看,除了網(wǎng)絡(luò)側(cè)的高性能網(wǎng)絡(luò)優(yōu)化外,在應(yīng)用方面也需要從源頭對(duì)集群應(yīng)用的通信結(jié)構(gòu)進(jìn)行優(yōu)化。

例如在當(dāng)前的分布式學(xué)習(xí)計(jì)算中,比較常用的是如圖2所示的PS-Worker式的匯總型通信[8]。這種通信結(jié)構(gòu)會(huì)出現(xiàn)多對(duì)一的網(wǎng)絡(luò)流,對(duì)PS節(jié)點(diǎn)將會(huì)造成一定的壓力,即使網(wǎng)絡(luò)層面能夠很好地處理?yè)砣?,但整體的吞吐量仍然會(huì)有所限制。另外一種是Horovod的分布式訓(xùn)練,將通信結(jié)構(gòu)更改為環(huán)狀的通信,以避免出現(xiàn)多對(duì)一的網(wǎng)絡(luò)流,造成單一節(jié)點(diǎn)擁塞瓶頸的出現(xiàn),但會(huì)出現(xiàn)單點(diǎn)失效或者跳數(shù)增多與時(shí)延加長(zhǎng)的性能損失。分布式的AllReduce的方式則是結(jié)合了匯總型與環(huán)狀處理兩者各自的優(yōu)勢(shì),對(duì)模型進(jìn)行了綜合的優(yōu)化[9],如圖3所示。

圖2 分布式AI任務(wù)的通信結(jié)構(gòu)

圖3 集中與環(huán)狀通信結(jié)構(gòu)的融合

2.3 基于GPU與RDMA的大算力集群設(shè)計(jì)

為了更好地將RDMA網(wǎng)絡(luò)技術(shù)應(yīng)用于金融人工智能的場(chǎng)景,本文設(shè)計(jì)并構(gòu)建了基于GPU虛擬化與RDMA加速的云原生大算力網(wǎng)絡(luò)集群。該系統(tǒng)的底層基于異構(gòu)的GPU芯片進(jìn)行算力加速,以及RDMA高性能網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)端到端的低延時(shí)高吞吐傳輸。虛擬化層對(duì)GPU以及RDMA網(wǎng)卡的資源進(jìn)行池化與虛擬化。平臺(tái)層采用Kubernetes容器云平臺(tái),提供輕量級(jí)彈性的資源編排,為租戶動(dòng)態(tài)分配所需的GPU算力以及RDMA網(wǎng)絡(luò)資源??蚣軐蛹沙S玫娜斯ぶ悄芸蚣芘c分布式的模型通信,為上層應(yīng)用提供高效的建模支撐。整個(gè)平臺(tái)結(jié)合了輕量級(jí)云原生平臺(tái)、GPU算力虛擬化、高性能RDMA網(wǎng)絡(luò),實(shí)現(xiàn)了一個(gè)面向多租戶超高性能的大數(shù)據(jù)算力集群,如圖4所示。

圖4 基于GPU與RDMA的大算力集群

3 RDMA技術(shù)應(yīng)用

3.1 性能調(diào)優(yōu)

RDMA對(duì)網(wǎng)絡(luò)的流量與擁塞控制主要采用PFC以及ECN兩種機(jī)制。

PFC主要是流量控制,當(dāng)交換機(jī)的入口隊(duì)列出現(xiàn)擁塞時(shí),它會(huì)向上游的端口發(fā)送PFC幀,以短暫地阻塞上游端口的發(fā)送;ECN則是擁塞控制,在交換機(jī)的出口端打上標(biāo)記,這樣當(dāng)接收端收到帶ECN標(biāo)記的報(bào)文時(shí),就可以向源節(jié)點(diǎn)反向發(fā)送控制報(bào)文,以調(diào)整源端的發(fā)送速率。相關(guān)的關(guān)鍵參數(shù)為:

1) PFC的觸發(fā)閾值以及收到PFC幀后端口暫停的時(shí)間間隔。

2) ECN的觸發(fā)與恢復(fù)門限值,標(biāo)記概率。

3) 此外為了保證非RDMA流量的吞吐,也需要對(duì)交換芯片的緩存分配設(shè)置合適的比例。

上述參數(shù)的設(shè)置,將會(huì)對(duì)整個(gè)網(wǎng)絡(luò)產(chǎn)生的影響。通常門限值設(shè)置低,時(shí)延低,吞吐低;門限設(shè)置高,時(shí)延高,吞吐高。

對(duì)于這些參數(shù)的設(shè)置,通常需要一些經(jīng)驗(yàn)式的參數(shù)調(diào)優(yōu),比如Mellanox的推薦設(shè)置便是一些靜態(tài)的參數(shù),而華為則采用了一種叫作AIECN或者動(dòng)態(tài)ECN的方式,動(dòng)態(tài)地根據(jù)當(dāng)前的流量狀況,對(duì)這些參數(shù)進(jìn)行調(diào)優(yōu)。

3.2 RDMA無(wú)損網(wǎng)絡(luò)的支持

RDMA的目標(biāo)是實(shí)現(xiàn)高性能的網(wǎng)絡(luò)傳輸,其中需要避免因?yàn)榫W(wǎng)絡(luò)丟包而引起的大規(guī)模重傳,重傳會(huì)導(dǎo)致很嚴(yán)重的性能損耗與開(kāi)銷。因此為了配合RDMA,通常在網(wǎng)絡(luò)側(cè)需要做到無(wú)損不丟包。在RoCE具體的實(shí)現(xiàn)中,主要是利用了PFC的流量控制機(jī)制和ECN的擁塞控制機(jī)制。

但實(shí)現(xiàn)網(wǎng)絡(luò)的無(wú)損與網(wǎng)絡(luò)的高吞吐存在一定的矛盾,尤其是PFC的機(jī)制,一旦出現(xiàn)擁塞,它會(huì)短暫地阻塞端口的傳輸,并且在稍微大一些的網(wǎng)絡(luò)中還會(huì)出現(xiàn)PFC的頭端死鎖,大大降低網(wǎng)絡(luò)的吞吐。

在允許少量的丟包的實(shí)際網(wǎng)絡(luò)中,則可以發(fā)揮網(wǎng)絡(luò)的高吞吐能力。另一方面,在重傳的機(jī)制上以及擁測(cè)控制的機(jī)制上的改進(jìn),能夠盡量減少丟包,并且當(dāng)丟包出現(xiàn)的時(shí)候,也能夠以很小的代價(jià)對(duì)網(wǎng)絡(luò)進(jìn)行恢復(fù)。

即使在無(wú)損網(wǎng)絡(luò)的實(shí)現(xiàn)中,通常也是盡量減少PFC的出現(xiàn),以防止其對(duì)網(wǎng)絡(luò)的吞吐造成阻塞,這對(duì)于PFC與ECN的參數(shù)設(shè)置就提出了很高的要求。更多的是希望當(dāng)網(wǎng)絡(luò)出現(xiàn)擁塞時(shí),ECN的機(jī)制首先發(fā)揮作用,而PFC只是作為緊急情況下的一個(gè)補(bǔ)充手段。

3.3 大規(guī)模組網(wǎng)限制

RDMA的網(wǎng)絡(luò)技術(shù)具有超低延時(shí)、高吞吐的特性。但RDMA在支持大規(guī)模可擴(kuò)展網(wǎng)絡(luò)上存在一些瓶頸。其最主要的原因是RDMA將所有的傳輸層邏輯都卸載到硬件網(wǎng)卡上進(jìn)行維護(hù),從而大大降低主機(jī)CPU的處理負(fù)擔(dān),并降低了時(shí)延。但是硬件RDMA有連接數(shù)量的限制,通常在千量級(jí),這對(duì)整個(gè)RDMA網(wǎng)絡(luò)的可擴(kuò)展規(guī)模有較大的影響,很難與大型數(shù)據(jù)中心上萬(wàn)量級(jí)的服務(wù)器規(guī)模相匹配。這也是為何當(dāng)前最大規(guī)模的RDMA集群也只能在1 000臺(tái)物理服務(wù)器左右,通常適用于機(jī)器學(xué)習(xí)訓(xùn)練以及分布式存儲(chǔ)等專用集群。與之相對(duì)應(yīng),TCP的傳輸狀態(tài)通常都是靠CPU和內(nèi)存進(jìn)行維系的,因此只要內(nèi)存足夠大,其連接數(shù)可以擴(kuò)展到百萬(wàn)級(jí)別,非常適合大規(guī)模云數(shù)據(jù)中心場(chǎng)景。

3.4 RDMA實(shí)現(xiàn)方式選擇

RDMA對(duì)于網(wǎng)絡(luò)側(cè)的主要要求便是流量與擁塞的控制。從控制論的角度而言,無(wú)非就是一個(gè)負(fù)反饋的控制系統(tǒng)。而在具體實(shí)現(xiàn)中,主要涉及到三點(diǎn):(1) 如何有效地檢測(cè)到擁塞。擁塞的檢測(cè)通常發(fā)生在交換機(jī)芯片的緩存管理中,交換芯片一般都能夠有效通過(guò)當(dāng)前隊(duì)列中的報(bào)文數(shù)量來(lái)判斷是否有擁塞發(fā)生。(2) 如何將擁塞信息有效地傳播到上下游的鏈路上。一種方法是發(fā)送標(biāo)準(zhǔn)的PFC以及ECN的幀。另外像阿里的HPCC還采用了當(dāng)前比較流行的INT技術(shù)來(lái)對(duì)當(dāng)前的擁塞狀態(tài)進(jìn)行記錄與傳輸,除了簡(jiǎn)單的標(biāo)記擁塞事件外,INT所攜帶的信息還可以包括擁塞的比例以及來(lái)回RTT的測(cè)量等,以便于上下游節(jié)點(diǎn)做更好的決策。(3) 各端點(diǎn)收到擁塞信息后如何進(jìn)行調(diào)整,并且能最好地做到全局最優(yōu)。根據(jù)所測(cè)量到的擁塞信息,能夠及時(shí)有效地調(diào)整源端的發(fā)送速率,最理想的情況是調(diào)整到全局最優(yōu)的速率,既不造成丟包,也不浪費(fèi)帶寬,另外還要能夠保證流量的公平性,尤其是在多對(duì)一的網(wǎng)絡(luò)場(chǎng)景中。

4 測(cè)試驗(yàn)證

本文采用了業(yè)界常用的benchmark模型AlexNet和VGG16作為測(cè)試用例,在基于GPU與RDMA的大算力集群平臺(tái)之上,結(jié)合兩種主流的分布式參數(shù)聚合策略PS-worker及Ring Allreduce,對(duì)傳統(tǒng)的TCP以及RDMA通信模式下的模型訓(xùn)練進(jìn)行了相關(guān)性能測(cè)試。按照測(cè)試組合,分別構(gòu)建8個(gè)鏡像,根據(jù)不同的測(cè)試場(chǎng)景,利用構(gòu)建好的8個(gè)鏡像發(fā)起多次訓(xùn)練任務(wù),訓(xùn)練過(guò)程中查看集群pod的創(chuàng)建情況以及GPU的利用率。參與測(cè)試的深度學(xué)習(xí)模型和參數(shù)聚合方法組合如表1所示。

表1 不同的AI模型與參數(shù)聚合方法組合

圖5為不同網(wǎng)絡(luò)模式下的機(jī)器學(xué)習(xí)訓(xùn)練速度的對(duì)比。對(duì)于RDMA,本文主要對(duì)比g與d兩組實(shí)驗(yàn)結(jié)果(g代表普通的grpc,d代表gdr,即GPU Direct RDMA,它在GPU與RDMA層面做了聯(lián)合的優(yōu)化,數(shù)據(jù)從一個(gè)GPU的顯存直接RDMA到另一個(gè)節(jié)點(diǎn)的GPU顯存上)。對(duì)于AlexNet模型,1acd與1apd的處理幀速均比1acg和1apg提升了2倍以上;對(duì)于Vgg模型,GDR的加速也有一定的提升效果,2vcd比2vcg提升了2倍以上,2vpd比2vpg提升了0.3~0.4倍。

圖5 TCP與RDMA通信模式下的性能對(duì)比

5 結(jié) 語(yǔ)

RDMA將端到端的網(wǎng)絡(luò)通信做到了極致,目標(biāo)上是為了實(shí)現(xiàn)快速的遠(yuǎn)程數(shù)據(jù)傳輸,技術(shù)上是多重優(yōu)化的結(jié)合體(涉及到主機(jī)側(cè)的內(nèi)核旁路、傳輸層網(wǎng)卡卸載、網(wǎng)絡(luò)側(cè)的擁塞流控),達(dá)到的效果是低時(shí)延、高吞吐、低CPU損耗。同時(shí),當(dāng)前RDMA的實(shí)現(xiàn)也存在組網(wǎng)規(guī)模受限、配置與改造難度大等局限性。

隨著數(shù)據(jù)中心數(shù)據(jù)量的巨量增長(zhǎng)與算力密集度的提升,RDMA流量在數(shù)據(jù)中心中的比重將逐步上升。它的出現(xiàn)具有重大意義,也對(duì)高性能的計(jì)算集群的演進(jìn)具有一定的啟發(fā)性。它是大數(shù)據(jù)與智能計(jì)算大規(guī)模普及的必然結(jié)果,也將成為數(shù)據(jù)智能時(shí)代的網(wǎng)絡(luò)利器。RDMA技術(shù)實(shí)現(xiàn)方面,技術(shù)復(fù)雜度與配置便捷性仍有可改進(jìn)的空間。

猜你喜歡
網(wǎng)卡高性能數(shù)據(jù)中心
在DDS 中間件上實(shí)現(xiàn)雙冗余網(wǎng)卡切換的方法
酒泉云計(jì)算大數(shù)據(jù)中心
Server 2016網(wǎng)卡組合模式
民航綠色云數(shù)據(jù)中心PUE控制
一款高性能BGO探測(cè)器的研發(fā)
電子制作(2017年19期)2017-02-02 07:08:49
高性能砼在橋梁中的應(yīng)用
挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
基于云計(jì)算的交通運(yùn)輸數(shù)據(jù)中心實(shí)現(xiàn)與應(yīng)用
SATA推出全新高性能噴槍SATAjet 5000 B
高性能可變進(jìn)氣岐管降低二氧化碳排放
汽車零部件(2014年8期)2014-12-28 02:03:03
石楼县| 徐水县| 大足县| 乌兰县| 红桥区| 容城县| 措美县| 弋阳县| 方正县| 林州市| 寻甸| 宣威市| 新邵县| 台中县| 淮北市| 禄劝| 河北区| 敖汉旗| 林甸县| 甘德县| 三原县| 浑源县| 天台县| 金乡县| 中阳县| 穆棱市| 黄骅市| 太原市| 邳州市| 平原县| 桐城市| 天津市| 岑溪市| 永丰县| 沙田区| 莲花县| 青海省| 海安县| 石棉县| 富蕴县| 高邑县|