999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2021-03-16 13:28:52涂曉軍蔡立志
計算機應用與軟件 2021年3期

涂曉軍 孫 權,2 蔡立志

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

2(復旦大學 上海 200433)

3(上海計算機軟件技術開發(fā)中心上海市計算機軟件評測重點實驗室 上海 201112)

0 引 言

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

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

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

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

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

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

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

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

1 數(shù)據(jù)中心RDMA應用場景

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

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

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

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

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

2.1 網(wǎng)絡架構設計-流控與選路的結合

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

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

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

2.2 集群應用的通信結構設計

如果以更高的視野來看,除了網(wǎng)絡側的高性能網(wǎng)絡優(yōu)化外,在應用方面也需要從源頭對集群應用的通信結構進行優(yōu)化。

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

圖2 分布式AI任務的通信結構

圖3 集中與環(huán)狀通信結構的融合

2.3 基于GPU與RDMA的大算力集群設計

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

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

3 RDMA技術應用

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

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

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

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

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

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

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

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

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

RDMA的目標是實現(xiàn)高性能的網(wǎng)絡傳輸,其中需要避免因為網(wǎng)絡丟包而引起的大規(guī)模重傳,重傳會導致很嚴重的性能損耗與開銷。因此為了配合RDMA,通常在網(wǎng)絡側需要做到無損不丟包。在RoCE具體的實現(xiàn)中,主要是利用了PFC的流量控制機制和ECN的擁塞控制機制。

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

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

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

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

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

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

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

4 測試驗證

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

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

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

圖5 TCP與RDMA通信模式下的性能對比

5 結 語

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

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

主站蜘蛛池模板: 久久久久久久久久国产精品| 国产区免费| 亚洲综合二区| 免费观看国产小粉嫩喷水| 国产电话自拍伊人| 国产精品美女在线| 国产美女在线免费观看| 欧美亚洲第一页| 91成人在线免费视频| 国产一级毛片高清完整视频版| 欧美黄色网站在线看| 九色在线观看视频| 国产一二三区在线| 热思思久久免费视频| 国内精品九九久久久精品| 在线看片国产| 欧美午夜视频在线| 99久久精彩视频| 欧美日韩国产一级| 色综合国产| 四虎精品国产永久在线观看| 欧美性猛交一区二区三区| 亚洲最黄视频| 国产人前露出系列视频| 色首页AV在线| 国产av剧情无码精品色午夜| 久久激情影院| 亚洲国产成人久久77| 日本a∨在线观看| 五月激情婷婷综合| 国产一区三区二区中文在线| 波多野结衣久久精品| 国产精品嫩草影院av| 国产成人久久777777| 国产杨幂丝袜av在线播放| 久久性妇女精品免费| 欧美中文字幕一区| 99热这里只有精品在线观看| 亚洲天堂视频在线免费观看| jizz在线观看| 亚洲人妖在线| 日韩欧美国产三级| 日韩精品亚洲人旧成在线| 欧美一区精品| 伊伊人成亚洲综合人网7777| 四虎在线观看视频高清无码| 日本欧美午夜| 日本一区二区三区精品视频| 国产成本人片免费a∨短片| 色噜噜中文网| 亚洲永久精品ww47国产| 91免费国产高清观看| 久久成人国产精品免费软件| 福利视频一区| 亚洲无码A视频在线| 欧美日韩免费| 精品视频在线观看你懂的一区| 精品自窥自偷在线看| 亚洲欧美极品| 无码在线激情片| 91极品美女高潮叫床在线观看| 久久伊人色| 国产凹凸一区在线观看视频| 国产69囗曝护士吞精在线视频| 久久久久亚洲AV成人人电影软件| 毛片免费在线| 国产亚洲一区二区三区在线| 亚洲欧洲日产国产无码AV| 波多野一区| 99久久精品免费看国产免费软件| 色屁屁一区二区三区视频国产| 国产成人一二三| 天天操精品| 久久黄色一级片| 美女无遮挡被啪啪到高潮免费| 国产一区二区三区夜色| 亚洲va精品中文字幕| 99伊人精品| 真人高潮娇喘嗯啊在线观看| 99热这里只有免费国产精品| 国产日韩欧美在线视频免费观看| 91精品啪在线观看国产|