萬鑫晨/WAN Xinchen ,胡水海/HU Shuihai ,張駿雪/ZHANG Junxue
(1.香港科技大學(xué),中國 香港 999077 2.深圳致星科技有限公司,中國 深圳 518000)
(1.Hong Kong University of Science and Technology, Hong Kong SAR 999077, China;2.Clustar Technology Lo.,Ltd, Shenzhen 518000, China)
近年來,深度神經(jīng)網(wǎng)絡(luò)(DNN)被廣泛應(yīng)用于計算機視覺、自然語言處理等多個應(yīng)用領(lǐng)域。
DNN訓(xùn)練任務(wù)可能需要數(shù)天或數(shù)周的時間才能完成。為了縮短訓(xùn)練時間,分布式機器學(xué)習(xí)系統(tǒng)被引入DNN訓(xùn)練過程。因此,大量關(guān)于分布式機器學(xué)習(xí)(DML)系統(tǒng)加速訓(xùn)練的研究和方法在學(xué)術(shù)界和工業(yè)界不斷涌現(xiàn)。
由于DML是計算密集型任務(wù),之前大部分的研究主要集中在為集群計算資源設(shè)計高效的調(diào)度策略上。然而,隨著圖形處理器(GPU)算力的逐步提升和模型尺寸的增大,我們發(fā)現(xiàn)整體的訓(xùn)練性能瓶頸逐漸從計算部分轉(zhuǎn)移至通信部分。例如,當(dāng)在32 GPU集群中(如VGG16的大模型)訓(xùn)練時,通信部分的完成時間占據(jù)訓(xùn)練任務(wù)總完成時間的90%[1]。當(dāng)前已經(jīng)出現(xiàn)大量利用DML訓(xùn)練的魯棒性,在參數(shù)同步機制[2]和減少網(wǎng)絡(luò)通信量[3]等方面來減緩DML通信瓶頸的研究成果,以及利用傳統(tǒng)數(shù)據(jù)中心網(wǎng)絡(luò)的流調(diào)度[4-7]和協(xié)同流調(diào)度[8-10]技術(shù)來進行通信優(yōu)化的研究成果。本文中,我們主要研究DML中的參數(shù)交換過程。
參數(shù)交換過程由預(yù)先設(shè)置好的參數(shù)交換方案來定義,該方案描述了每輪迭代中的參數(shù)/梯度交換方式??紤]到DNN通常需要經(jīng)過成百上千次的迭代訓(xùn)練,針對參數(shù)交換方案的研究和優(yōu)化可能會帶來潛在巨大的性能提升。
常見的參數(shù)交換方案有參數(shù)服務(wù)器(PS)和環(huán)形全局規(guī)約(Ring)等,這些參數(shù)交換方案現(xiàn)均已在各主流通用深度學(xué)習(xí)框架下成功實現(xiàn)并部署。專業(yè)人士評測后表示,這些方案在常規(guī)網(wǎng)絡(luò)場景中為分布式機器學(xué)習(xí)任務(wù)提供了良好的參數(shù)交換性能。然而,在某些存在故障或不確定性事件的網(wǎng)絡(luò)場景下(例如超額認購網(wǎng)絡(luò)和存在故障的網(wǎng)絡(luò)),PS和Ring等方案存在著嚴重的性能下降問題。事實上,在大規(guī)模數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)部,存在諸多類似事件發(fā)生的可能情況,例如節(jié)點故障、突發(fā)流量淹沒交換機或網(wǎng)卡、網(wǎng)絡(luò)incast現(xiàn)象等。當(dāng)前常見方案均無法適應(yīng)這類網(wǎng)絡(luò)場景,因此,設(shè)計并實現(xiàn)新型參數(shù)交換方案以適應(yīng)這類存在故障和不確定性事件的數(shù)據(jù)中心網(wǎng)絡(luò)場景,具有重大的研究和應(yīng)用價值。
數(shù)據(jù)中心網(wǎng)絡(luò)(DCN)通常采用多層樹狀拓撲結(jié)構(gòu)。如圖1所示,在這種拓撲中,交換機按層劃分并樹狀連接(通常是2層或3層結(jié)構(gòu))。服務(wù)器在拓撲葉端與機架頂部交換機(ToR)直接相連并對應(yīng)分組。多層樹狀拓撲結(jié)構(gòu)為DCN的搭建和擴展帶來極大的便利性和靈活性,系統(tǒng)架構(gòu)人員可以通過在每層簡單地增加交換機數(shù)量和交換機與服務(wù)器之間的網(wǎng)絡(luò)連接,來擴展網(wǎng)絡(luò)規(guī)模。
然而,DCN存在若干故障和不確定性事件,包括超額認購事件、網(wǎng)絡(luò)擁塞和故障問題。為了降低搭建DCN所需的昂貴成本[11],研究人員引入了超額認購的概念,即利用各源端服務(wù)器很少同時進行大規(guī)模數(shù)據(jù)傳輸?shù)奶匦?,使得終端服務(wù)器流入DCN的最大理論流量略大于網(wǎng)絡(luò)最大可承載量(通常超額認購比率在4∶1和8∶1之間[12])。通過這種方式可以有效減少交換機和網(wǎng)絡(luò)連接數(shù)量,從而降低DCN搭建成本。然而,超額認購是一把雙刃劍:一方面,它在不增加DCN搭建成本的前提下有效地增大了集群規(guī)模;另一方面,它在某些情況下,如多主機并發(fā)傳輸大規(guī)模流量等,會給DCN帶來巨大網(wǎng)絡(luò)擁塞風(fēng)險。當(dāng)網(wǎng)絡(luò)實時總通信量超過某特定閾值時,網(wǎng)絡(luò)中樞部分(即核心交換機等)就會發(fā)生網(wǎng)絡(luò)擁塞。最壞的情況是會損壞網(wǎng)絡(luò)中樞部分的數(shù)據(jù)傳輸能力,造成整個網(wǎng)絡(luò)無法提供數(shù)據(jù)傳輸?shù)暮蠊?。此外,網(wǎng)絡(luò)擁塞現(xiàn)象可能會在出現(xiàn)突發(fā)流量淹沒某些鏈路或網(wǎng)卡時,或當(dāng)?shù)蛢?yōu)先級流量在交換機上被持續(xù)到來的高優(yōu)先級搶占傳輸?shù)惹闆r下發(fā)生。網(wǎng)絡(luò)故障現(xiàn)象可能發(fā)生在物理層。
數(shù)據(jù)并行是分布式機器學(xué)習(xí)最常用的并行模式。如圖2所示,每個工作節(jié)點負責(zé)維護自己的本地模型,并獨立地基于與其他節(jié)點互不重疊的一部分數(shù)據(jù)集進行訓(xùn)練。訓(xùn)練過程以迭代的方式完成,其中每輪迭代包含兩個階段:第一階段是計算密集型的本地模型訓(xùn)練階段,包括前向傳播生成對小批輸入的預(yù)測,反向傳播導(dǎo)出與預(yù)測和目標(biāo)標(biāo)簽之間的損失相關(guān)的局部梯度;第二階段是通信密集型的參數(shù)交換階段,在該階段中通過對所有局部梯度取平均值來計算平均梯度,并將結(jié)果輸入到優(yōu)化器中以更新全局模型參數(shù),更新后的參數(shù)被發(fā)回給每個工作節(jié)點,然后工作節(jié)點使用更新后的模型版本以開始下一輪迭代。
上述參數(shù)交換階段通常遵循批量同步并行(BSP)的同步模式,這是因為它能提供最佳的機器學(xué)習(xí)模型預(yù)測性能,保證任務(wù)的可再現(xiàn)特性。因此,BSP成為當(dāng)前最主流的同步模式。在該模式下,所有的工作節(jié)點在每輪迭代中都需要完成全局同步,隨后才能開始新一輪的迭代。
▲圖1 兩層脊-葉結(jié)構(gòu)數(shù)據(jù)中心網(wǎng)絡(luò)拓撲
▲圖2 分布式機器學(xué)習(xí)工作流程
每個任務(wù)在參數(shù)交換階段均執(zhí)行著一套特定的參數(shù)交換方案,該方案描述了在每輪迭代中服務(wù)器之間的邏輯參數(shù)交換過程。在這里,我們對DML任務(wù)的一些常用參數(shù)交換方案進行分類,并討論它們各自的局限性。
該方案已被應(yīng)用于TensorFlow[13]、Caffe[14]、MXNet[15]等多個流行DNN框架中。PS采用了一種直接通信模式,其中參數(shù)在工作節(jié)點和PS間直接同步。工作節(jié)點在計算并生成局部梯度后,將其直接推至PS,并在PS完成聚合過程后將更新的模型參數(shù)拉取回來。
盡管PS方案直接有效,但并不適用于存在超額認購的網(wǎng)絡(luò)環(huán)境。圖3(a)展示了一個PS流量模式的示意圖。假設(shè)工作節(jié)點和PS同時被放置在每個節(jié)點上,我們觀察到,跨機架的鏈路相較于每條機架內(nèi)的鏈路額外承受約1.3倍的流量負載。對于給定集群配置(包括機架r、w工作節(jié)點和集群超額認購比率o),平均任務(wù)完成時間將會有o(w-1)/[w(1-1/r)]倍性能下降。這意味著對于節(jié)點數(shù)量較多的大型作業(yè),跨機架鏈路與機架內(nèi)鏈路的流量不均衡問題會變得更加嚴重。我們在第5章中的仿真實驗也驗證了這一推論。需要注意的是,服務(wù)器在每個機架上的擺放位置并不會緩解這一問題。這是因為對于一個給定規(guī)模的集群,機架間的通信不會改變,其中關(guān)鍵因素是PS采用了直接通信模式。
Ring方案已應(yīng)用于BaiduRing[16]和Horovod[17]等。DNN訓(xùn)練開始時,每個節(jié)點兩兩順次相連組成環(huán)狀拓撲;在之后的參數(shù)交換階段,各節(jié)點保持同一圓周方向傳輸梯度。Ring方案對應(yīng)的參數(shù)交換過程可分為兩個階段:scatter-reduce和all-gather。以逆時針方向進行scatter-reduce為例,生成本地梯度更新后,每個工作節(jié)點從它的左手邊接收一個梯度塊,與它的本地梯度塊進行聚合,并將聚合結(jié)果塊發(fā)送給右邊的工作節(jié)點。重復(fù)上述過程n-1輪后,每個工作節(jié)點中各有一個聚合了所有工作節(jié)點本地梯度的梯度塊。在all-gather階段中,n個工作節(jié)點簡單地在每輪迭代中復(fù)制接收到的對應(yīng)位置梯度塊,并重復(fù)n-1次上述操作,從而完成整個參數(shù)交換階段。
與PS相比,Ring-allreduce在每一跳均進行梯度聚合,因此實現(xiàn)了最小化跨機架流量負載(見表1)。與此同時,它引入了太多的節(jié)點間依賴關(guān)系,很容易造成網(wǎng)絡(luò)擁塞或故障。如圖4所示,n個節(jié)點參與以進行環(huán)形全局規(guī)約。我們假設(shè),某時刻節(jié)點1暫時不能向2發(fā)送數(shù)據(jù),那么造成這種現(xiàn)象的原因可能有很多種:例如1和2之間的鏈路出現(xiàn)故障,或是該條鏈路發(fā)生擁塞,或是鏈路帶寬優(yōu)先分給了其他流量,或者該節(jié)點本身出現(xiàn)故障等。在這種情況下,節(jié)點2只能通過其中一條鏈向節(jié)點3發(fā)送1/n的數(shù)據(jù),因為n-1條鏈在節(jié)點1處被阻塞了。接著,節(jié)點3只能向節(jié)點4發(fā)送2/n的數(shù)據(jù),依此類推。這種節(jié)點依賴性會對所有下游節(jié)點產(chǎn)生級聯(lián)效應(yīng)。當(dāng)n較大時,會導(dǎo)致50%的網(wǎng)絡(luò)利用率下降。我們將這種現(xiàn)象稱為“鏈阻塞”,在第5章中我們的仿真結(jié)果也將揭示它的影響。與之相反,PS不會遇到這個問題,因為其所使用的直接通信模式僅引入最小的依賴性。
▲圖3 PS和Ring的流量模式
表1 各參數(shù)交換方案關(guān)于跨區(qū)域流量及依賴鏈長的對比
▲圖4 Ring存在“鏈阻塞”現(xiàn)象
其他集合全局規(guī)約方案,如K-nominal tree[18]、butterfly mixing[19]和recursive halving and doubling[20],均可以視為綜合了PS和Ring的方案。這些方案具有預(yù)先確定的參數(shù)交換模式,然而這些模式對底層網(wǎng)絡(luò)拓撲不可知;因此,它們在某種程度上同樣存在與PS和Ring類似的問題,例如,跨機架的額外通信流量和長鏈節(jié)點依賴關(guān)系。我們在表1中分別列出了它們各自對應(yīng)的值,并強調(diào)了其局限性。
此外,最近的一些全局規(guī)約方案[21-24]是通過感知分層網(wǎng)絡(luò)拓撲來執(zhí)行梯度聚合。然而在大規(guī)模網(wǎng)絡(luò)環(huán)境下,它們或多或少面臨著一些問題。BlueConnect[21]依照網(wǎng)絡(luò)拓撲的區(qū)域劃分,將集群的大環(huán)分解為對應(yīng)多個區(qū)域的小環(huán)。相較于傳統(tǒng)的Ring,它以一種更細粒度的方式運行,并減輕了由環(huán)中最慢的鏈路帶來的影響。由于它是一種基于Ring的變體方案,因而也繼承了Ring的脆弱性。當(dāng)每個機架規(guī)模增大時,BlueConnect的運行情況會變差。HiPS[22]采用遠程直接數(shù)據(jù)存取技術(shù)(RDMA)傳輸來進行全局規(guī)約,它特別適用于以服務(wù)器為中心的一類網(wǎng)絡(luò)拓撲。然而當(dāng)它在Ring模式下運行時,會引入額外的依賴鏈。ParameterHub[23]是一種協(xié)同設(shè)計軟硬件的參數(shù)交換方案,其核心是PBoxes(一臺配備了10塊網(wǎng)卡的服務(wù)器)在機頂交換機(ToR)中被用來減少跨機架的通信量。然而,它引入了額外的硬件特殊偏好(每臺服務(wù)器上配置多塊用于聚合的網(wǎng)卡),并且不能保證最小跨區(qū)域通信量。Plink[24]依據(jù)網(wǎng)絡(luò)拓撲應(yīng)用了一個2級的層次結(jié)構(gòu)聚合,然而當(dāng)網(wǎng)絡(luò)層次結(jié)構(gòu)超過2時,它會產(chǎn)生同樣的額外跨機架流量問題。
第2章中討論的各方案的局限性啟發(fā)了我們定義參數(shù)交換方案的期望屬性:
· 實現(xiàn)最小跨超額認購區(qū)域(如機架、Pod)流量,以避免造成網(wǎng)絡(luò)瓶頸;
· 短依賴關(guān)系鏈,以更好地彈性應(yīng)對網(wǎng)絡(luò)擁塞和故障;
· 結(jié)構(gòu)簡單,以減少因引入?yún)?shù)交換方案而帶來的必要計算和執(zhí)行開銷。
云星科技基于上述期望屬性的定義,設(shè)計并實現(xiàn)了一套具備拓撲感知能力的參數(shù)交換方案——彈性全局規(guī)約樹(RAT)。
對于一個給定的物理網(wǎng)絡(luò)拓撲T,我們以一種簡單的分層結(jié)構(gòu) 為DML任務(wù)J構(gòu)建RAT,構(gòu)建的同時會考慮到超額認購區(qū)域(如機架、Pod)。樹上每個節(jié)點扮演以下一個或多個角色:
· 葉節(jié)點:負責(zé)發(fā)送它的局部梯度或接收全局的更新參數(shù)。任務(wù)J中的每個工作節(jié)點均對應(yīng)RAT樹上的一個葉節(jié)點。
· 聚合節(jié)點:對于拓撲T中的每個超額認購區(qū)域,RAT引入了相應(yīng)的聚合層,從而使跨區(qū)域流量最小化。在規(guī)約階段,每個聚合節(jié)點負責(zé)將區(qū)域內(nèi)的所有葉節(jié)點或下層聚合節(jié)點上的梯度更新以進行聚合,并將聚合后的梯度更新發(fā)送到上層聚合節(jié)點或根節(jié)點。在廣播階段,上述過程以逆方向運行。
· 根節(jié)點:負責(zé)聚合全局所有梯度,計算全局更新,并以相反的方向返回給下層聚合節(jié)點或葉節(jié)點。
RAT將全部節(jié)點劃分為不同組,并依據(jù)拓撲結(jié)構(gòu)進行分層,按層聚集梯度。整體聚合過程如下:首先,在規(guī)約階段,在最底部的葉子層,RAT算法為每個物理機架(超額認購區(qū)域)各分配一個0級聚合節(jié)點,該節(jié)點負責(zé)聚合同一機架內(nèi)的所有梯度更新;然后,在上一層的每個超額認購區(qū)域中,從區(qū)域內(nèi)的所有0級聚合節(jié)點中指定一個1級聚合節(jié)點,來負責(zé)聚合區(qū)域內(nèi)所有0級聚合結(jié)點的梯度更新;之后,對更上層的拓撲節(jié)點聚合(同樣遵循相同的例程),直到所有最初來自葉子的梯度都聚合到一個(n-1)級的聚合節(jié)點中,該節(jié)點也被稱為根節(jié)點;最后,在廣播階段將以上操作反向分層進行。
圖5展示了一棵基于2機架8節(jié)點的網(wǎng)絡(luò)拓撲建立的RAT樹,其中每個工作節(jié)點對應(yīng)一個葉節(jié)點,并且某些工作節(jié)點被指定了不同級的聚合節(jié)點或根節(jié)點角色,使這棵RAT樹能夠在指定的網(wǎng)絡(luò)拓撲中執(zhí)行高效的參數(shù)聚合任務(wù)。需要提醒的是,在該例中我們只是簡單考慮了機架級的超額認購場景和機架級的聚合節(jié)點。實際上,RAT樹適用于所有樹形數(shù)據(jù)中心網(wǎng)絡(luò)拓撲場景。在這個拓撲中,我們按照根節(jié)點指定的不同,總共可以組成8棵不同RAT樹。假設(shè)網(wǎng)絡(luò)具有對稱性,且每棵RAT樹上承載完全相同大小的工作負載,我們將網(wǎng)絡(luò)流量均勻地分布在每棵RAT樹上,以實現(xiàn)集群的負載均衡。我們將在非對稱網(wǎng)絡(luò)拓撲場景下每棵RAT樹的流量負載非均勻分配問題作為以后的研究工作。
表1顯示了RAT與其他主流參數(shù)交換方案在最小化跨區(qū)域流量和節(jié)點依賴鏈長這兩個參數(shù)上的對比,從而說明了RAT完全滿足上述的參數(shù)交換方案的期望屬性。表1中的幾個參數(shù)分別為:l表示超額認購層數(shù),w表示總工作節(jié)點數(shù)量,wr表示每個機架中的工作節(jié)點數(shù)量。
RAT滿足全部期望屬性的原因主要有:首先,除了Ring和BlueConnect之外,其他所有的主流方案都不能最小化跨超額認購區(qū)域的流量。相反,由于RAT是為網(wǎng)絡(luò)拓撲專門定制的,因此它通過為每個超額認購區(qū)域引入一個聚合節(jié)點,來優(yōu)化整體跨區(qū)域流量大小。其次,RAT引入了一個長度為2(|l| + 1)的節(jié)點依賴鏈。由于數(shù)據(jù)中心網(wǎng)絡(luò)通常超額認購層數(shù)較少(例如1或2),該鏈長通常小于除PS以外的其他所有方案。另外,RAT采用一種簡單且規(guī)律的結(jié)構(gòu)和一套容易實施的構(gòu)建樹算法,簡單規(guī)律的結(jié)構(gòu)僅包含3種不同角色,構(gòu)建樹算法依據(jù)網(wǎng)絡(luò)拓撲遞歸構(gòu)建樹,從而極大地簡化了計算和執(zhí)行參數(shù)交換過程。
在本節(jié)中,我們將RAT分別與兩種有代表性的參數(shù)交換方案——PS和Ring進行仿真實驗對比,來量化展示RAT在網(wǎng)絡(luò)擁塞及故障等場景下具備的彈性適應(yīng)能力。
▲圖5 圖3拓撲下的RAT及其流量模式
我們在仿真中使用了兩種不同的實驗裝置。在超額認購場景中,我們使用配備了2個spine交換機和4個leaf交換機的傳統(tǒng)spine-leaf網(wǎng)絡(luò)拓撲,并將每個機架上的工作節(jié)點數(shù)量設(shè)為變量,從而使網(wǎng)絡(luò)超額認購比率也隨之變化(從2∶1變?yōu)榈?2∶1)。在網(wǎng)絡(luò)存在故障的場景中,我們在網(wǎng)絡(luò)容量充足(即無超額認購)的2機架、64臺服務(wù)器且鏈路帶寬均為40 Gbit/s的集群上運行機器學(xué)習(xí)任務(wù)流量。我們通過暫停一些節(jié)點發(fā)送數(shù)據(jù)來模擬網(wǎng)絡(luò)中某些節(jié)點或鏈路發(fā)送擁塞或故障的現(xiàn)象,即從某時刻開始隨機選擇k個節(jié)點以暫停發(fā)送數(shù)據(jù),并在每隔d時間周期性地隨機改變這k個節(jié)點。此外,我們通過測量每個任務(wù)的每輪迭代完成時間(ICT)來評價該任務(wù)的訓(xùn)練性能。
我們在NS3(網(wǎng)絡(luò)模擬器)中模擬了PS、Ring和RAT的參數(shù)交換模式。對于PS,我們將PS和工作節(jié)點設(shè)置為同在每臺服務(wù)器中,并通過以多對多發(fā)送相同大小數(shù)據(jù)的形式模擬PS下的參數(shù)交換過程。對于RAT,按照其算法構(gòu)建了n棵RAT樹,其中n為集群中總節(jié)點數(shù)量,且集群中的每個節(jié)點恰好對應(yīng)每棵RAT樹的根節(jié)點。我們將總通信量均勻地分布在每棵RAT樹上以實現(xiàn)負載平衡。對于Ring的模擬,將集群中的所有節(jié)點兩兩連接成邏輯環(huán),并僅允許每個節(jié)點與其鄰居進行通信。將單輪迭代的總網(wǎng)絡(luò)通信量大小設(shè)置為與ResNet50相同(總計97 MB),并在3種模式下分別啟動流量發(fā)生器。需要注意的是,為了簡單起見,假設(shè)計算和通信之間是沒有重疊的。另外,當(dāng)模型尺寸很小時,仿真結(jié)果可能與實際部署后的結(jié)果不相符,但這是極少發(fā)生的情況。因為對于因通信過程而產(chǎn)生瓶頸的模型而言,其所傳輸?shù)哪P统叽缍枷鄬^大。
如圖6所示,一方面,PS在所有不同帶寬設(shè)置下的平均性能比RAT差25倍左右。這是因為它引入了大量的跨機架通信流量,從而導(dǎo)致跨機架鏈路成為瓶頸,影響了任務(wù)整體訓(xùn)練速度。另一方面,Ring將機架間的通信流量最小化,因此我們期望其性能會與RAT的結(jié)果大致相同。然而,從圖中我們發(fā)現(xiàn)Ring在許多帶寬設(shè)置下,相較于RAT,存在0.16倍的性能下降。我們通過分析認為,Ring的長依賴鏈可能導(dǎo)致在每一跳上都引入一些額外的延遲,這些累積起來的延遲影響了整個訓(xùn)練過程。
我們還在網(wǎng)絡(luò)故障的場景下模擬實驗,來體現(xiàn)RAT對網(wǎng)絡(luò)不確定性事件的彈性應(yīng)對能力。如5.1所述,我們在給定拓撲中構(gòu)建一個存在故障問題的網(wǎng)絡(luò),并在其上部署了一個分布式機器學(xué)習(xí)任務(wù)。
結(jié)果如圖7所示,與PS和RAT相比,Ring在網(wǎng)絡(luò)存在故障節(jié)點的情況下出現(xiàn)了非常嚴重的性能下降(在最壞情況下平均下降12倍),這與我們在第2章中的分析一致:如果在PS或RAT模式下,當(dāng)存在節(jié)點出現(xiàn)故障時,其他正常節(jié)點仍然可以利用可用鏈路帶寬繼續(xù)傳輸數(shù)據(jù)。對于Ring而言,由于“鏈阻塞”現(xiàn)象,故障節(jié)點的下游節(jié)點也全部被阻塞。此外,我們在Ring模式下選取故障節(jié)點的隨機性,可能會造成某些節(jié)點始終被阻塞的情況——因為過程中可能不僅它本身在某些時刻出現(xiàn)故障被阻塞,而且在其他時間內(nèi)被其上游的某些節(jié)點“鏈阻塞”。與之對應(yīng),RAT獲得了與PS相近的性能,這是因為它與PS具有相近的依賴長度(在本例中鏈長為2)。
▲圖6 3種方案在超額認購場景下的仿真結(jié)果
▲圖7 3種方案在網(wǎng)絡(luò)故障場景下的仿真結(jié)果
本文提出了一種具有拓撲感知能力的新型DML參數(shù)交換方案——RAT。它利用數(shù)據(jù)中心網(wǎng)絡(luò)層數(shù)較少的性質(zhì),針對物理拓撲特征來建立全局規(guī)約樹。這些樹以其分層模式來構(gòu)造參數(shù)聚合模式,即每個聚合節(jié)點在規(guī)約階段聚合其超額認購區(qū)域內(nèi)的全部工作節(jié)點的本地梯度,并在廣播階段將更新后的參數(shù)或梯度廣播回工作節(jié)點。與已有的參數(shù)交換方案相比,RAT既實現(xiàn)了最小化跨區(qū)域流量的目標(biāo),又實現(xiàn)了較短依賴鏈的目標(biāo)。