亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        超算中心典型科研應(yīng)用特征統(tǒng)計與分析

        2022-05-27 00:41:32梁潤秋NajiAlhusaini何卓騁
        小型微型計算機系統(tǒng) 2022年6期
        關(guān)鍵詞:進程

        梁潤秋,沈 瑜,Naji Alhusaini,何卓騁,李 京,

        1(中國科學技術(shù)大學 計算機科學與技術(shù)學院,合肥 230026)

        2(中國科學技術(shù)大學 超級計算中心,合肥 230026)

        1 引 言

        隨著科學技術(shù)的不斷發(fā)展,科研任務(wù)對高性能計算的要求越來越高,超算中心已經(jīng)成為科研機構(gòu)不可替代的基礎(chǔ)設(shè)施,為科研的發(fā)展提供著強大的推動力,在超算中心中通常大量的計算和存儲設(shè)備,并用一個專門的網(wǎng)絡(luò)進行互聯(lián),被稱之為超算中心網(wǎng)絡(luò),在過去的十幾年里,盡管學者都對數(shù)據(jù)中心網(wǎng)絡(luò)流量的設(shè)計改進抱有極大的興趣,但目前學術(shù)界對數(shù)據(jù)中心的網(wǎng)絡(luò)流量尚有很大不足,而數(shù)據(jù)中心的網(wǎng)絡(luò)流量特征又不同于傳統(tǒng)的廣域網(wǎng)的流量,與傳統(tǒng)網(wǎng)絡(luò)相比,數(shù)據(jù)中心網(wǎng)絡(luò)在規(guī)模、運行多樣性、高功率、高可靠性等方面有著獨特的特點和要求,這些問題給數(shù)據(jù)中心的優(yōu)化帶來了重大的挑戰(zhàn)[1].

        中國科學技術(shù)大學超級計算中心始建于2003年,是國內(nèi)高校最早建立的超算中心之一.我校超算中心面向校內(nèi)所有有高性能計算任務(wù)需求的科研院系、實驗室、教師、學生提供高性能計算服務(wù).超算中心目前正在運行中的系統(tǒng)有2014年建成的“曙光TC4600百萬億次超級計算系統(tǒng)”和2020年1月投入運行的“瀚海20超級計算系統(tǒng)”,共計1200多臺服務(wù)器,總計算能力達到3.169千萬億次/秒(PFLOPS).超算中心用戶主要來自物理學院、化學院、微尺度國家科學中心等物理、化學等學科,運行的程序主要是VASP(分子動力學模擬軟件包軟件包,Vienna Ab-initio Simulation Package)、Gaussian、OpenFOAM等科學計算軟件為主.由于該超算中心算力高,規(guī)模大,任務(wù)龐雜,是典型的面向科學研究的超算中心,雖然該超算中心很好地支持了廣泛的科研工作,但仍然在網(wǎng)絡(luò)上存在瓶頸,限制其性能發(fā)揮.為了探究其網(wǎng)絡(luò)存在的問題并且優(yōu)化其網(wǎng)絡(luò)架構(gòu)和改善網(wǎng)絡(luò)調(diào)度,對網(wǎng)絡(luò)進行詳盡的統(tǒng)計和分析是非常重要而且必要的.

        對大型超算系統(tǒng)上運行的科學計算應(yīng)用程序進行優(yōu)化十分復雜,有效途徑之一就是充分利用通信資源來提升應(yīng)用程序性能、效率和擴展性.MPI[2](消息傳遞接口,Message-Passing Interface)是科學計算中最常用的多節(jié)點通信的編程模型[3],自從1994年MPI概念產(chǎn)生以來,已經(jīng)推出了9個版本的MPI標準.雖然大部分科學計算應(yīng)用都采用了MPI,但是超算中心對MPI在應(yīng)用程序中的使用還缺乏全面的認識,導致這種情況一個主要原因是分析MPI行為特征需要在大型超算系統(tǒng)中抽取海量的數(shù)據(jù),而這對超算系統(tǒng)來說,會帶來很大的開銷.但是理解MPI的細節(jié)對高性能中心在很多方面都有著重要的意義.例如,優(yōu)化應(yīng)用的通信特征需要了解MPI的詳細使用情況,有了這些內(nèi)容,開發(fā)人員和超算中心就可以通過合理利用和分配資源來優(yōu)化最常見的MPI特性;其次,將這些MPI統(tǒng)計數(shù)據(jù)提交到MPI標準化機構(gòu)和社區(qū),來幫助新標準的制定;利用這些統(tǒng)計數(shù)據(jù),可以更有針對性采購HPC系統(tǒng)的設(shè)備(比如考慮高優(yōu)先級的API性能).

        雖然,已有一些對MPI使用情況的研究,有的是對大規(guī)模MPI整體使用情況的研究[4,5],有的是對小規(guī)模某個特定應(yīng)用的研究[6,7],但到目前為止還沒有學者針對MPI的主流使用行業(yè)——科研機構(gòu)這一行業(yè)進行細致探討和研究.從一個或幾個關(guān)鍵的應(yīng)用程序里獲取數(shù)據(jù)存在著諸多挑戰(zhàn),本文首次對科研行業(yè)的MPI使用情況進行大規(guī)模的調(diào)查,采集了中國科學技術(shù)大學超算中心上百個節(jié)點數(shù)個月的數(shù)據(jù),對MPI底層修改了累計74個函數(shù),對最具代表性且使用最廣泛的小規(guī)模并行應(yīng)用VASP和大規(guī)模并行應(yīng)用OpenFOAM的MPI使用情況和流量數(shù)據(jù),也就是infiniband包的大小進行分析統(tǒng)計,本文主要統(tǒng)計分析了4個關(guān)鍵特征:1)函數(shù)調(diào)用次數(shù);2)函數(shù)發(fā)送接收數(shù)據(jù)量;3)函數(shù)運行時間;4)流量包的大小分布.這是第一次在科研行業(yè)對考慮了所有這些特征的MPI程序進行全面的調(diào)查.本研究中最重要的發(fā)現(xiàn)如下:

        科研行業(yè)超算中心應(yīng)用不同于其他一般的超算中心,雖然超算中心中存在這各種各樣累計超過16種應(yīng)用,但是VASP機時占比接近一半,是最影響超算性能的應(yīng)用;VASP應(yīng)用運行時存在主進程,調(diào)用函數(shù)以及流量和其他進程有很大區(qū)別;無論是調(diào)用次數(shù)、數(shù)據(jù)包數(shù)量還是使用時間上,VASP都以全局函數(shù)為主;而OpenFOAM非阻塞通信占據(jù)了最多的調(diào)用次數(shù)和數(shù)據(jù)傳輸量,但全規(guī)約函數(shù)MPI_Allreduce卻消耗了最多的調(diào)用時間;數(shù)據(jù)包大小呈現(xiàn)明顯的分布,RoCE小包占據(jù)絕大部分.

        2 相關(guān)工作

        雖然許多先前的研究已經(jīng)指出通用編程語言在科學與非科學程序中的使用,但很少有研究者關(guān)注MPI編程模型的使用.關(guān)于MPI在科學程序中的使用的第一次研究可以追溯到1997年[6],這項工作評估了MPI編程模型和其他模型的使用,如科學代碼中的PVM和Shmem,但是其目標不是對MPI使用功能的理解,而是評估這些模型的軟件復雜性的影響及其對運行時性能的影響,所取數(shù)據(jù)集也很小.

        起初學者們將研究集中在抽取MPI分析數(shù)據(jù)上.MPI分析工具從一組定義的進程(部分或全部的MPI進程)中為指定的MPI接口例程或在MPI調(diào)用堆棧收集重要信息(例如時間、調(diào)用計數(shù)、消息量).這些分析工具通常可以提供單個MPI應(yīng)用程序執(zhí)行的性能信息,例如,mpiP[8]、IPM工具[9-11]和Darshan[12],開發(fā)人員使用這些工具來優(yōu)化代碼.MPI追蹤工具可以收集感興趣的事件的執(zhí)行過程,它們通??梢愿櫽涗洖槊總€感興趣的MPI功能的調(diào)用.Vampire[13],DUMPI[14]和the Intel Trace Analyzer and Collector(ITAC)[15]是常用的MPI跟蹤工具,追蹤工具能提供更精準的數(shù)據(jù),但是有很大的性能開銷.像CrayPAT[16]、HPCToolkit[17]也曾經(jīng)被用作對MPI進行分析和跟蹤的工具.后來,研究者們開發(fā)了一個名為Autoperf[18]的輕量級工具,并且使用它來自動分析在大型超級計算系統(tǒng)上各個應(yīng)用的MPI使用情況和硬件性能情況.它的輸入包括正在運行作業(yè)的性能情況日志,對MPI使用PMPI重定向和利用硬件計數(shù)器產(chǎn)生的處理器使用數(shù)據(jù).它的輸出為純文本格式包括MPI使用情況和性能信息,包括調(diào)用了哪些MPI例程、每個例程調(diào)用了多少次、每個例程花費的時間以及發(fā)送或接收的字節(jié)數(shù)等信息.它首先過濾掉了測試性能和測試應(yīng)用的微量級作業(yè),其次排除了那些運行時長比較短不夠完整且不能當做應(yīng)用的作業(yè).學者們首先對MPI的使用時間和MPI中應(yīng)用的時間進行了分析,發(fā)現(xiàn)MPI庫所使用的時間比之前大多數(shù)超級計算中心所假定的時間要多得多,雖然大多數(shù)的數(shù)據(jù)中心都意識到了MPI的重要性,但是一般認為應(yīng)用在MPI上花費的時間不超過1/4.研究者發(fā)現(xiàn)即使是在大型生產(chǎn)應(yīng)用中,上述假定也是錯誤的,實際上,許多應(yīng)用在MPI上花費了一半以上的時間.

        Thakur等[19]為使用Hockney模型的MPI_Allgather,MPI_Bcast,MPI_Alltoall,MPI_Reduce_scatter,MPI_Reduce和MPI_Allreduce例程提出了幾種集合算法的分析性能模型.并且在文獻[20]中,已有學者致力于研究自動為集合操作選擇最佳的算法,可是有很多不足之處,如精度有限,訓練時間長.

        為了更好地理解MPI的使用,人們做了許多嘗試.研究[21]只關(guān)注Exascale Computing Project(ECP)的應(yīng)用.目的是了解MPI使用方面的應(yīng)用需求,并調(diào)查與MPI標準相關(guān)的可能問題,以及當前代碼是否希望在百億億次級計算機上使用MPI.

        Sultana等人[4]展示了MPI在ECP代理應(yīng)用程序套件中的使用情況.本工作首先分析了程序的dvami特性,同時也分析了一些靜態(tài)特性,介紹了MPI調(diào)用使用的分析以及MPI的其他方面,如錯誤處理、工具、dvnamic進程管理,并對14個MPI程序進行了分析.Klenk和Fróning[22]研究了18百億億次級代理程序的動態(tài)MPI特性.先前的研究報告了在特定的高性能計算系統(tǒng)和中心的生產(chǎn)程序中MPI的dvnamic使用情況.Rabenseifner[6]報告了Cray T3E和SGI Origin2000系統(tǒng)的動態(tài)MPI使用情況.在最近的一項研究中.Chunduri等人[7]在Argonne國家實驗室的大型IBM BG/Q超級計算系統(tǒng)(Mira及其相應(yīng)的開發(fā)系統(tǒng)(Cetus)上進行了兩年內(nèi)的MPI iobs分析.

        與之前的研究不同的是,本文的研究聚焦于科研行業(yè)超算中心,是對超算中心內(nèi)應(yīng)用程序和數(shù)據(jù)包的流量特征進行統(tǒng)計分析,這些數(shù)據(jù)與分析對超算中心資源分配和設(shè)計規(guī)劃有非常重要的作用和意義.

        3 實驗平臺與數(shù)據(jù)采集

        3.1 實驗平臺簡介

        3.1.1 瀚海20超級計算系統(tǒng)

        中國科學技術(shù)大學超級計算中心瀚海20超級計算系統(tǒng)采用Mellonax HDR 100Gbps高速互聯(lián),包括6個組成部分:ARM節(jié)點、CPU計算集群、GPU計算節(jié)點、AEP計算節(jié)點、登錄管理節(jié)點,以及存儲系統(tǒng),具體結(jié)構(gòu)如圖1所示.雙精度浮點計算能力約為2.52Pflops(千萬億次每秒).

        圖1 瀚海20超算中心網(wǎng)絡(luò)架構(gòu)

        3.1.2 曙光TC4600百萬億次超級計算系統(tǒng)

        中國科學技術(shù)大學超級計算中心曙光TC4600百萬億次超級計算系統(tǒng),面向所有有需求注冊用戶為他們提供高性能計算服務(wù),同時也是安徽省教育科研網(wǎng)高性能計算平臺.曙光TC4600百萬億次超級計算系統(tǒng)使用100Gbps和56Gbps進行鏈接,包括登錄管理節(jié)點、CPU和GPU計算節(jié)點、存儲系統(tǒng)、高速計算網(wǎng)絡(luò)等部分,該系統(tǒng)雙精度計算能力約為0.519 Pflops(千萬億次每秒)關(guān)于兩個系統(tǒng)的詳細信息如有興趣請參照中國科學技術(shù)大學超級計算中心系統(tǒng)平臺主頁.

        3.2 數(shù)據(jù)采集介紹

        3.2.1 MPI數(shù)據(jù)

        MPI 是在高性能計算領(lǐng)域中一種常用的通信 API,以其高性能,可移植性和大規(guī)模性著稱.它為點對點通信提供了一系列技術(shù)支持,同時有一套豐富的集合通信接口.點對點通信通常發(fā)生在兩個進程之間,而集合通信涉及到一個給定的應(yīng)用程序或作業(yè)其子集中的所有進程.MPI定義分布式應(yīng)用程序中進程之間各種類型的通信操作的語法和語義.如今大多數(shù)的 MPI 實現(xiàn)包括MPICH、OpenMPI以及廠商在這些開源的MPI 事先基礎(chǔ)上研發(fā)的Intel MPI、HPC-X 等都支持最新的3.1版MPI 標準.3.1版支持的新特性有:1)非阻塞集合通信;2)近鄰集合通信(阻塞 +非阻塞);3)單邊通信增強;4)共享內(nèi)存擴展;5)新的 Fortran2008 接口;6)新的工具接口(MPI_T).

        為了能夠記錄下實際程序在運行過程中產(chǎn)生哪些流量數(shù)據(jù),本文參考Autoperf 的做法,對MPI 的底層進行了修改,修改了OpenMPI 4.0.3的源代碼,在數(shù)據(jù)傳輸函數(shù)中增加了日志功能,記錄下每次調(diào)用的相關(guān)數(shù)據(jù)參數(shù),包括調(diào)用函數(shù)的名稱、開始時間、通信域、發(fā)送進程、接收進程、發(fā)送數(shù)據(jù)量和接收數(shù)據(jù)量.本文共修改74個函數(shù),除了兩個初始化函數(shù)(MPI_Init和MPI_Init_thread)和一個終止函數(shù)(MPI_Finalize),一共有71 個數(shù)據(jù)傳輸函數(shù).

        3.2.2 InfiniBand數(shù)據(jù)包

        InfiniBand是一個用于高性能計算的計算機網(wǎng)絡(luò)通信標準,它具有極高的吞吐量和極低的延遲;Omni-Path Architecture(OPA)是來自Intel的高性能通信架構(gòu).RoCE(RDMA over Converged Ethernet)是RDMA(Remote Direct Memory Access)在以太網(wǎng)上的一種主要實現(xiàn)方法,RoCE是一種機制,其提供了在無損的以太網(wǎng)上實現(xiàn)極低延遲的高效通信.由于RoCE在性能和成本上具有明顯的優(yōu)勢,因此在NAS存儲集群中采用RoCE協(xié)議,已經(jīng)成為了一種主流趨勢.TC4600系統(tǒng)分多批次建設(shè),在不同建設(shè)階段分別采用了56 Gbps FDR InfiniBand,100 Gbps Intel OPA和100 Gbps EDR Infiniband組成計算網(wǎng)絡(luò).這些計算網(wǎng)絡(luò)分別連接不同的計算節(jié)點,在用戶進行計算時,同一個程序只會在同樣的計算網(wǎng)絡(luò)內(nèi)并行運行而不會跨不同的計算網(wǎng)絡(luò)運行.本文在采集數(shù)據(jù)的時候不用考慮不同類型或者不同速率網(wǎng)絡(luò)的混合并行.

        Mellanox為Infiniband網(wǎng)絡(luò)提供了類似tcpdump的抓包工具ibdump,它可以轉(zhuǎn)儲流入和流出的InfiniBand流量,然后通過Wireshark工具加載,用于圖形化的流量分析.它提供了分析網(wǎng)絡(luò)行為和性能的能力,以及調(diào)試發(fā)送或接收InfiniBand網(wǎng)絡(luò)流量的應(yīng)用程序.

        由于超算中心數(shù)據(jù)流過大,科研計算程序運行時在計算網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)量非常大,本文直接使用ibdump轉(zhuǎn)儲流量數(shù)據(jù)時,發(fā)現(xiàn)可能幾秒鐘就產(chǎn)生了數(shù)十GB的文件.而一個簡單的計算任務(wù)短則幾十分鐘,長達幾十天.另一方面,本文在分析流量性能而不是對程序進行調(diào)試時,并不關(guān)心傳輸?shù)臄?shù)據(jù)內(nèi)容,而只關(guān)心數(shù)據(jù)的屬性,例如時、大小等等.然而ibdump并沒有像tcpdump一樣提供了只保存數(shù)據(jù)包頭部的選項,因此聯(lián)合使用tshark工具,將ibdump獲取的數(shù)據(jù)信息通過管道傳給tshark,過濾掉無用信息后再保存下來.保存下來的數(shù)據(jù)為tshark的默認輸出格式,一般包含時間、來源、目的、協(xié)議、包大小等信息.

        為了能夠準確獲取到程序運行時候的數(shù)據(jù),本文提取了在TC4600系統(tǒng)上用戶實際運行的程序輸入文件,使用修改過的帶日志功能的OpenMPI編譯的VASP運行計算任務(wù),記錄下MPI消息傳輸日志,同時使用ibdump和tshark來獲取運行時的infiniband網(wǎng)絡(luò)流量信息.

        本文分別采用ibdump(在Infiniband網(wǎng)絡(luò)上)和tcpdump(在ROCE v2網(wǎng)絡(luò)上)對運行時候的計算節(jié)點的網(wǎng)絡(luò)接口進行了數(shù)據(jù)抓包.

        4 vasp應(yīng)用統(tǒng)計分析

        4.1 介紹

        VASP是使用第一性原理的原子尺度材料計算軟件.是我校超算中心上使用范圍最廣、計算機時最多的科學計算軟件.VASP采用MPI并行設(shè)計,一般并行規(guī)模在幾十個進程到幾百個進程之間,使用節(jié)點個數(shù)從1個~10個節(jié)點不等.VASP使用了大量的雙精度矩陣計算和FFT計算,對CPU、內(nèi)存、網(wǎng)絡(luò)的要求都很高.

        圖2統(tǒng)計了中科大超算平臺主要應(yīng)用的機時占比。如圖2所示,在我校超算平臺上VASP應(yīng)用在服務(wù)器上的運行時間高達49%,機時占比接近一半,是最影響超算服務(wù)性能的應(yīng)用軟件,由于超算中心用戶主要來自物理學院、化學院、微尺度國家科學中心等物理、化學等基礎(chǔ)學科,所以超算中心的應(yīng)用呈現(xiàn)高度的集中性,前5大應(yīng)用軟件包機時占比高達86%.

        圖2 中科大超算平臺上主要應(yīng)用的機時占比

        本文選擇了實際超算系統(tǒng)上運行過的VASP作業(yè),在瀚海20超級計算系統(tǒng)上的華為FusionServer X6000雙路CPU計算節(jié)點上,采用本文修改過的OpenMPI運行這些作業(yè),同時采集數(shù)據(jù)并進行分析.

        測試平臺基本配置為:2×Intel Xeon Scale 6248(20核,2.5GHz),192GB DDR4 2933MHz內(nèi)存,總共720個節(jié)點,計算網(wǎng)絡(luò)是Mellanox HDR 100Gbps,兩層胖樹結(jié)構(gòu).

        4.2 統(tǒng)計分析

        本文首先統(tǒng)計了MPI函數(shù)調(diào)用情況,圖3是記錄的MPI傳輸函數(shù)的調(diào)用次數(shù)、發(fā)送和接收數(shù)據(jù)量、和消耗時間的統(tǒng)計.為了清晰起見,本文只展示了3個進程,分別是0號進程(0號進程除了進行計算,通常還負責處理輸入輸出等工作)和0號進程在同一個節(jié)點的23號進程以及在另外一個節(jié)點的47號進程.

        從圖3中可以看出,VASP在運行時主要調(diào)用的數(shù)據(jù)傳輸函數(shù)以全局通信函數(shù)為主,包括MPI_Bcast、MPI_Alltoall、MPI_Allreduce和MPI_Alltoallv,至于點對點函數(shù),除了0號進程調(diào)用了大量的MPI_Recv,其他函數(shù)相比較就少很多.從發(fā)送和接收數(shù)據(jù)量上來看全局通信函數(shù)遠遠超過點對點通信函數(shù),另外調(diào)用次數(shù)最多的全局通信函數(shù)MPI_Bcast發(fā)送接收的數(shù)據(jù)量都相對很少,而傳輸數(shù)據(jù)量最多的分別是MPI_Alltoallv、MPI_Alltoall和MPI_Allreduce.從函數(shù)運行時間來看,首先,相比傳輸數(shù)據(jù)量,調(diào)用次數(shù)對時間的影響更加明顯,這表現(xiàn)在調(diào)用次數(shù)較多的MPI_Bcast時間相比傳輸數(shù)據(jù)量更多的MPI_Alltoallv和MPI_Alltoall使用了更多的時間,而且點對點接收函數(shù)MPI_Recv也使用了相當長的時間;更值得注意的是,盡管MPI_Allreduce調(diào)用次數(shù)和傳輸數(shù)據(jù)量都不是最多,但它消耗的時間卻最長,這可能是它需要進行一些簡單的數(shù)據(jù)處理操作,這些操作會對性能有比較明顯的影響.

        圖3 VASP應(yīng)用進程0、23、47號的MPI接口調(diào)用的次數(shù)(a)、數(shù)據(jù)量(b)和執(zhí)行時間(c)

        本文還統(tǒng)計了運行作業(yè)的兩個節(jié)點的網(wǎng)絡(luò)接口數(shù)據(jù)包的統(tǒng)計情況,圖4是數(shù)據(jù)包大小的統(tǒng)計.

        從圖4可以看出,VASP在運行時存在,存在3個典型大小的數(shù)據(jù)包,接近0、1.6k和4k左右大小.接近0的應(yīng)該是一些單獨一個變量而不是整個數(shù)組的傳輸,4k大小應(yīng)該是一些大的數(shù)組在傳輸時被切分后的大小.這兩個占據(jù)了數(shù)據(jù)包的主要部分.

        圖4 VASP應(yīng)用infiniband數(shù)據(jù)包分布

        5 OpenFOAM應(yīng)用統(tǒng)計分析

        5.1 簡介

        OpenFOAM是一個完全由C++編寫的面向?qū)ο蟮腃FD類庫,采用類似于日常習慣的方法在軟件中描述偏微分方程的有限體積離散化,支持多面體網(wǎng)格,因而可以處理復雜的幾何外形,支持大型并行計算.

        為了進行大規(guī)模并行測試,本文邀請用戶提供的一個典型的OpenFOAM作業(yè),在瀚海20超級計算系統(tǒng)上的華為Taishan 2280V2國產(chǎn)ARM CPU計算節(jié)點上,采用本文修改過的OpenMPI運行這些作業(yè),同時采集數(shù)據(jù)并進行分析.

        測試平臺基本配置為:2×海思Hi1620 CPU(48核,2.6GHz),256GB DDR4 2666MHz內(nèi)存,共計20個可用節(jié)點,計算網(wǎng)絡(luò)是100GB 支持ROCE v2的以太網(wǎng),交換機是華為CE8800-64數(shù)據(jù)中心交換機.由于平臺網(wǎng)絡(luò)剛剛升級完成,本文僅測試了8個節(jié)點和16個節(jié)點的運行情況.

        5.2 8節(jié)點并行測試

        本文同樣統(tǒng)計了MPI傳輸函數(shù)調(diào)用的情況,使用8個節(jié)點進行計算的并行規(guī)模達到了768個進程,本文選取了第1個節(jié)點、第2個節(jié)點和最后一個節(jié)點上面各一個進程進行分析.

        通過對MPI傳輸函數(shù)的日志進行分析可以發(fā)現(xiàn)OpenFOAM調(diào)用的MPI傳輸函數(shù)種類較少,只有MPI_Alltoall、MPI_Allreduce、MPI_Isend、MPI_Send、MPI_Irecv和MPI_Recv這6個.這些函數(shù)的調(diào)用次數(shù)統(tǒng)計見圖5,從圖中可以看出非阻塞發(fā)送和接收函數(shù)調(diào)用次數(shù)遠遠大于其它函數(shù)(請注意縱坐標為指數(shù)坐標),MPI_Allreduce雖然要比非阻塞點對點通信函數(shù)少一個數(shù)量級,但比MPI_send、MPI_Recv和MPI_Alltoall還是要多2~4個數(shù)量級.

        圖5(b)為各個函數(shù)發(fā)送和接收的數(shù)量統(tǒng)計,和調(diào)用次數(shù)類似,非阻塞點對點通信的數(shù)據(jù)傳輸量遠遠大于其他函數(shù),MPI_Allreduce僅次于這兩個函數(shù),而遠大于其他函數(shù).然而,對于函數(shù)調(diào)用的時間,由于非阻塞的函數(shù)不需要等待數(shù)據(jù)傳輸完成即可返回,使得調(diào)用時間僅僅不能反應(yīng)實際數(shù)據(jù)傳輸需要的時間,這樣,調(diào)用次數(shù)和傳輸數(shù)據(jù)量僅次于非阻塞函數(shù)的MPI_Allreduce就占據(jù)了傳輸時間的最主要部分.

        圖5 8節(jié)點OpenFOAM應(yīng)用MPI接口調(diào)用次數(shù)(a),數(shù)據(jù)量(b)和執(zhí)行時間(c)

        本文采用tcpdump采集了發(fā)送到本機4791端口的數(shù)據(jù)包,分析了ROCE v2數(shù)據(jù)包大小情況(見圖6).研究發(fā)現(xiàn),圖6左邊非常小的數(shù)據(jù)包占據(jù)了絕對主要的部分;其次是最大值約1k大小的數(shù)據(jù)包,表現(xiàn)在圖上是最右邊略微抬起的一小段.跟VASP相比,OpenFOAM更傾向于使用短消息進行數(shù)據(jù)通信.

        圖6 8節(jié)點OpenFOAM ROCE v2數(shù)據(jù)包分布

        5.3 16節(jié)點并行測試

        在使用16個節(jié)點并行計算時,程序并行規(guī)模達到了1536個進程,這時,從第1個節(jié)點、第2個節(jié)點,中間節(jié)點和最后一個節(jié)點上面各選取了一個進程進行分析.

        圖7分別是MPI函數(shù)調(diào)用次數(shù)、數(shù)據(jù)傳輸量和調(diào)用時間.當實驗由8個節(jié)點擴展到16個節(jié)點后,對比兩次實驗的數(shù)據(jù)圖,可以發(fā)現(xiàn)MPI函數(shù)調(diào)用次數(shù)沒有明顯變化,而MPI_alltoall的發(fā)送接收數(shù)據(jù)量隨著節(jié)點的上升有明顯地提升,且在運行時間上,全局函數(shù)隨著并行規(guī)模的增加,運行時間占比有顯著提高,實驗中將節(jié)點提升至一倍運行時間約提升了0.4個數(shù)量級,而點對點通信隨著并行規(guī)模的上升沒有發(fā)生什么變化;本文可以得到與8個節(jié)點并行計算時類似的結(jié)論:OpenFOAM調(diào)用的MPI傳輸函數(shù)種類同樣比較少,只有6個常用的MPI函數(shù).非阻塞通信占據(jù)了最多的調(diào)用次數(shù)和數(shù)據(jù)傳輸量,但全規(guī)約函數(shù)MPI_Allreduce卻消耗了最多的調(diào)用時間.

        圖7 16節(jié)點OpenFOAM應(yīng)用 MPI接口調(diào)用次數(shù)(a),數(shù)據(jù)量(b)和執(zhí)行時間(c)

        在16個節(jié)點的并行實驗中,同樣采用tcpdump采集了數(shù)據(jù)包,統(tǒng)計了節(jié)點接收到的ROCE v2數(shù)據(jù)包的大小信息.在16個節(jié)點并行時,極小包的占比更多,超過90%,說明隨著并行規(guī)模的增加,數(shù)據(jù)交換量的增加,短消息會占更大的比重,這是因為節(jié)點頻繁溝通而產(chǎn)生的小數(shù)據(jù)包,他們會起更重要的作用.數(shù)據(jù)包分布如圖8所示.

        圖8 16節(jié)點OpenFOAM ROCE v2數(shù)據(jù)包分布

        6 結(jié)論與展望

        在高性能計算領(lǐng)域,超級計算機上運行的大部分的應(yīng)用程序都屬于計算密集型程序,在這些應(yīng)用程序的計算過程中需要耗費大量CPU或GPU的計算資源,且通常伴隨著多種類型的點對點通信和集合通信,其對通信的帶寬、時延均很敏感[3].科研行業(yè)的超算中心所執(zhí)行的任務(wù)和普通的超算中心有很大區(qū)別,而且是極具特點的.隨著科技水平的發(fā)展,科研任務(wù)對超算中心性能的要求也水漲船高,而網(wǎng)絡(luò)作為一個龐大的超算中心數(shù)百個節(jié)點交流的橋梁,對整體性能的影響頗深,針對科研行業(yè)的超算中心網(wǎng)絡(luò)進行優(yōu)化就需要先對其進行統(tǒng)計分析.

        首先根據(jù)本文的實驗結(jié)果,無論是在InfiniBand網(wǎng)絡(luò)環(huán)境還是在本文的重要研究對象—以太網(wǎng) RoCE協(xié)議網(wǎng)絡(luò)環(huán)境下,超算應(yīng)用的MPI調(diào)用都有很大的優(yōu)化需求,尤其是MPI_Allreduce等集合通信函數(shù)在通信中占比很大,具有很大的優(yōu)化空間.

        在本文的超算任務(wù)中,VASP應(yīng)用的機時占據(jù)所有應(yīng)用的一半,分別對小規(guī)模并行的VASP應(yīng)用和大規(guī)模并行的OpenFOAM應(yīng)用的并行數(shù)據(jù)傳輸特征進行了分析,發(fā)現(xiàn)無論是在小規(guī)模并行的VASP、大規(guī)模并行OpenFOAM,盡管全局規(guī)約函數(shù)MPI_Allreduce的調(diào)用次數(shù)或者傳輸?shù)臄?shù)據(jù)量不是最多的,但它仍然占據(jù)了主要的數(shù)據(jù)傳輸時間,由于這個函數(shù)需要進行簡單的數(shù)據(jù)處理操作,使得這個函數(shù)的優(yōu)化程度要低于類似的全交換函數(shù)MPI_Alltoall.在下一步的研究中,將針對上述問題,在交換機上采用硬件加速或者設(shè)置修改參數(shù)(Infiniband和RoCE)來提高整個網(wǎng)絡(luò)通信速度,提高并行計算時的速度和擴展性.同時在網(wǎng)計算可以有效地解決超算中心應(yīng)用程序中的集合通信和點對點通信上的瓶頸問題[23,24],而超算中心應(yīng)用的MPI調(diào)用都有很大優(yōu)化需求,尤其是MPI_Allreduce等集合通信函數(shù)在通信中占比很大,使用在網(wǎng)計算技術(shù)對此類集合通信操作進行優(yōu)化有非常強的可行性;考慮利用在網(wǎng)計算技術(shù)對于以太網(wǎng) RoCE協(xié)議下應(yīng)用的MPI通信進行優(yōu)化,將極大的提高超算系統(tǒng)應(yīng)用的整體性能,減少通信的延遲.

        本文還發(fā)現(xiàn),主要采用FORTRAN實現(xiàn)的VASP對全局通信和大規(guī)模批量數(shù)據(jù)傳輸?shù)腗PI函數(shù)調(diào)用比較多,而采用C++實現(xiàn)的OpenFOAM對非阻塞點對點通信和小數(shù)據(jù)量的MPI函數(shù)調(diào)用更多一些,這使得對網(wǎng)絡(luò)的需求有著明顯的不同,接下來將有針對性的設(shè)計網(wǎng)絡(luò)控制參數(shù),對流量進行調(diào)度,提高網(wǎng)絡(luò)傳輸性能.

        另外,通過本文的分析發(fā)現(xiàn),在大型并行計算中,小數(shù)據(jù)包占比極大,這意味著節(jié)點通信更為頻繁,且在VASP應(yīng)用中存在主進程,那么對于現(xiàn)在數(shù)據(jù)中心的樹狀網(wǎng)絡(luò)結(jié)構(gòu),就有很大劣勢,接下來將會對應(yīng)用行為特征進行更為廣泛的研究,并探求性能更優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu).

        猜你喜歡
        進程
        債券市場對外開放的進程與展望
        中國外匯(2019年20期)2019-11-25 09:54:58
        改革開放進程中的國際收支統(tǒng)計
        中國外匯(2019年8期)2019-07-13 06:01:06
        快速殺掉頑固進程
        社會進程中的新聞學探尋
        民主與科學(2014年3期)2014-02-28 11:23:03
        我國高等教育改革進程與反思
        Linux僵死進程的產(chǎn)生與避免
        講效率 結(jié)束進程要批量
        電腦迷(2012年24期)2012-04-29 00:44:03
        男女平等進程中出現(xiàn)的新矛盾和新問題
        俄羅斯現(xiàn)代化進程的阻礙
        論文萊的民族獨立進程
        极品美女扒开粉嫩小泬| 亚洲av专区国产一区| 亚洲欧美日韩综合一区二区| 少妇饥渴偷公乱a级无码 | 精品一区二区av天堂色偷偷| 国产性生交xxxxx无码| 国产一级农村无码| 免费大学生国产在线观看p| 中文字日产幕码三区做法| 无码色av一二区在线播放| 亚洲精品无码mv在线观看| 亚洲综合伦理| 日日噜噜噜夜夜狠狠久久蜜桃| 亚洲日韩精品无码av海量| 久久人人爽人人爽人人片av麻烦 | 熟女中文字幕一区二区三区| 成人国内精品久久久久一区| 2021国产最新在线视频一区| 亚洲影院在线观看av| 亚洲中文字幕精品乱码2021| 国产亚洲精品aaaa片小说| 加勒比精品久久一区二区三区| 久久亚洲宅男天堂网址| 九九影院理论片私人影院| 国产精品白浆在线观看无码专区| 国产精品一卡二卡三卡| 亚洲熟女熟妇另类中文| 三a级做爰片免费观看| 国内精品久久久久久久久久影院| 美女露屁股无内裤视频| 国产熟女盗摄一区二区警花91| 久久久久久久久蜜桃| 色www亚洲| 一区二区三区极品少妇| 男人和女人做爽爽免费视频| 国产精品video| 玩弄丝袜美腿超短裙校花| 欧美激情乱人伦| 亚洲色欲久久久久综合网| 国产AV无码专区亚洲AWWW| 日本免费一区二区在线视频播放|