欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于觸發(fā)操作的Barrier操作性能分析方法

文檔序號(hào):6630718閱讀:235來(lái)源:國(guó)知局
一種基于觸發(fā)操作的Barrier操作性能分析方法
【專利摘要】本發(fā)明公開(kāi)了一種基于觸發(fā)操作的Barrier操作性能分析方法,其實(shí)施步驟如下:1)根據(jù)執(zhí)行Barrier操作的數(shù)據(jù)傳輸關(guān)系生成觸發(fā)操作拓?fù)錁?shù);2)將Barrier操作采用指令流的方式描述為原語(yǔ)序列;3)分析觸發(fā)操作的自動(dòng)執(zhí)行部件的數(shù)據(jù)通信開(kāi)銷;4)根據(jù)數(shù)據(jù)通信開(kāi)銷計(jì)算進(jìn)程集合中每一個(gè)進(jìn)程的Barrier操作對(duì)應(yīng)原語(yǔ)序列的執(zhí)行時(shí)間;5)選擇執(zhí)行時(shí)間最長(zhǎng)的進(jìn)程的執(zhí)行時(shí)間作為分析得到的最小執(zhí)行時(shí)間。本發(fā)明能夠在不需要在并行計(jì)算機(jī)上運(yùn)行Barrier算法的情況下估算出該Barrier算法的性能,具有Barrier算法設(shè)計(jì)和測(cè)試的復(fù)雜度低、Barrier算法運(yùn)行測(cè)試機(jī)時(shí)少的優(yōu)點(diǎn)。
【專利說(shuō)明】一種基于觸發(fā)操作的Barrier操作性能分析方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及并行計(jì)算機(jī)互連網(wǎng)絡(luò)的Barrier操作設(shè)計(jì)領(lǐng)域,具體涉及一種基于觸 發(fā)操作的Barrier操作性能分析方法。

【背景技術(shù)】
[0002] 近年來(lái),隨著高性能計(jì)算技術(shù)的發(fā)展,并行計(jì)算機(jī)的系統(tǒng)規(guī)模不斷擴(kuò)大。面向高性 能并行計(jì)算機(jī),廠商和科研機(jī)構(gòu)開(kāi)始研究更快并且功能更加強(qiáng)大的互連網(wǎng)絡(luò)。一方面,網(wǎng)絡(luò) 的帶寬逐漸增大、延遲逐漸降低;另一方面,操作系統(tǒng)和其上應(yīng)用軟件使用互連網(wǎng)絡(luò)的軟件 開(kāi)銷占用網(wǎng)絡(luò)通信的時(shí)間比例逐漸增大。
[0003] 然而隨著并行程序的并行度的擴(kuò)張,聚合操作占用程序執(zhí)行時(shí)間的比例逐漸增 大,為提高并行程序的執(zhí)行效率,需要迫切提高聚合操作的執(zhí)行效率。消息傳遞編程接口標(biāo) 準(zhǔn)3 (Message Passing Interface 3,簡(jiǎn)稱MPI-3)定義了多種聚合操作類型,例如:柵欄同 步(Barrier)、廣播(Beast)和規(guī)約(Reduce)等。其中Barrier操作(柵欄同步操作)對(duì) 延遲最為敏感。對(duì)于Barrier操作而言,柵欄同步的語(yǔ)義是一個(gè)進(jìn)程集合的所有進(jìn)程都進(jìn) 入柵欄同步操作后,該進(jìn)程集合中的進(jìn)程才可以退出柵欄同步操作。
[0004] 為了更加高效的支持MPI-3所定義的聚合通信操作,目前已經(jīng)有多種高性能計(jì)算 機(jī)所使用的互連網(wǎng)絡(luò)設(shè)計(jì)了專門部件來(lái)加速聚合通信操作。例如IBM公司的藍(lán)色基因系列 并行計(jì)算機(jī)、Cray公司的XT和XC系列并行計(jì)算機(jī)、國(guó)防科學(xué)技術(shù)大學(xué)研制的天河系列并 行計(jì)算機(jī)。其中,天河系列并行計(jì)算機(jī)在其互聯(lián)網(wǎng)絡(luò)中嵌入了基于觸發(fā)操作的自動(dòng)執(zhí)行機(jī) 制。
[0005] 基于觸發(fā)操作的聚合通信自動(dòng)執(zhí)行機(jī)制由論文"Fast NIC-based Barrier over Myrinet/GM(2001) " 和"Broadcast/multicast over Myrinet using NIC-assisted multidestination messages (2000) "首先針對(duì)Myrinet互聯(lián)網(wǎng)絡(luò)而提出,其基本思想是在 互聯(lián)網(wǎng)絡(luò)接口卡(Network Interface Card,簡(jiǎn)稱NIC)中加入根據(jù)收到的網(wǎng)絡(luò)報(bào)文而自動(dòng) 執(zhí)行的功能。根據(jù)此功能,一個(gè)"父親"節(jié)點(diǎn)可以把一個(gè)報(bào)文發(fā)給"兒子"節(jié)點(diǎn),"兒子"節(jié)點(diǎn) 的NIC收到該報(bào)文的同時(shí)會(huì)自動(dòng)的把該報(bào)文發(fā)送給"孫子"節(jié)點(diǎn)。這樣,"兒子"節(jié)點(diǎn)把報(bào)文 發(fā)送給"孫子"節(jié)點(diǎn)的動(dòng)作就不是由"兒子"節(jié)點(diǎn)的處理器主動(dòng)發(fā)起執(zhí)行,從而降低了集合 操作的等待延遲,提高了集合操作的性能。
[0006] 美國(guó)專利文獻(xiàn) US8122228B2 "BROADCASTING COLLECTIVE OPERATION CONTRIBUTIONS THROUGHPUT A PARALLEL COMPUTER" 針對(duì) IBM 公司的藍(lán)色基因系列并行計(jì) 算機(jī)的互聯(lián)網(wǎng)絡(luò),使用其"Collective Operation Network"(在NIC上集成的一種具有基 于觸發(fā)操作的聚合通信自動(dòng)執(zhí)行部件),針對(duì)特殊的互聯(lián)網(wǎng)絡(luò)拓?fù)?,?yōu)化數(shù)據(jù)傳輸型集合操 作的方法。但是,該專利文獻(xiàn)沒(méi)有給出基于觸發(fā)操作的聚合通信的性能分析方法,導(dǎo)致該專 利的優(yōu)化方法無(wú)法獲取聚合通信操作的最小執(zhí)行時(shí)間。
[0007] 綜上所述,當(dāng)前的專利與文獻(xiàn)中未見(jiàn)高性能并行計(jì)算機(jī)的互聯(lián)網(wǎng)絡(luò)中,基于觸發(fā) 操作的Barrier聚合通信的性能分析方法的相關(guān)報(bào)道,在高性能計(jì)算機(jī)互聯(lián)網(wǎng)絡(luò)設(shè)計(jì)、 并行程序性能分析、高性能計(jì)算機(jī)系統(tǒng)性能評(píng)估領(lǐng)域中,迫切需要一種基于觸發(fā)操作的 Barrier聚合通信的性能分析方法。


【發(fā)明內(nèi)容】

[0008] 本發(fā)明要解決的技術(shù)問(wèn)題是:針對(duì)現(xiàn)有技術(shù)的上述技術(shù)問(wèn)題,提供一種能夠在不 需要在并行計(jì)算機(jī)上運(yùn)行Barrier算法的情況下估算出該Barrier算法的性能,Barrier算 法設(shè)計(jì)和測(cè)試的復(fù)雜度低、Barrier算法運(yùn)行測(cè)試機(jī)時(shí)少,能夠用于指導(dǎo)并行計(jì)算機(jī)通信網(wǎng) 絡(luò)拓?fù)湓O(shè)計(jì)、Barrier通信算法設(shè)計(jì)、并行程序性能優(yōu)化以及高性能計(jì)算機(jī)系統(tǒng)性能評(píng)估等 重要領(lǐng)域的基于觸發(fā)操作的Barrier操作性能分析方法。
[0009] 為了解決上述技術(shù)問(wèn)題,本發(fā)明采用的技術(shù)方案為:
[0010] -種基于觸發(fā)操作的Barrier操作性能分析方法,其實(shí)施步驟如下:
[0011] 1)根據(jù)執(zhí)行Barrier操作的進(jìn)程集合中所有進(jìn)程的數(shù)據(jù)傳輸關(guān)系生成觸發(fā)操作 拓?fù)錁?shù),所述觸發(fā)操作拓?fù)錁?shù)中每一個(gè)節(jié)點(diǎn)為一個(gè)計(jì)算節(jié)點(diǎn),且每一個(gè)計(jì)算節(jié)點(diǎn)均有一個(gè) 全局唯一的數(shù)字編號(hào),該數(shù)字編號(hào)表示所述計(jì)算節(jié)點(diǎn)對(duì)應(yīng)進(jìn)程的進(jìn)程順序號(hào);
[0012] 2)將Barrier操作以進(jìn)程為單位采用指令流的方式描述為原語(yǔ)序列;
[0013] 3)分析觸發(fā)操作的自動(dòng)執(zhí)行部件的數(shù)據(jù)通信開(kāi)銷,所述數(shù)據(jù)通信開(kāi)銷包括發(fā)送開(kāi) 銷、傳輸開(kāi)銷和接收開(kāi)銷;
[0014] 4)根據(jù)所述數(shù)據(jù)通信開(kāi)銷計(jì)算所述進(jìn)程集合中每一個(gè)進(jìn)程的Barrier操作對(duì)應(yīng) 原語(yǔ)序列的執(zhí)行時(shí)間;
[0015] 5)選擇執(zhí)行時(shí)間最長(zhǎng)的進(jìn)程的執(zhí)行時(shí)間作為分析得到的最小執(zhí)行時(shí)間。
[0016] 優(yōu)選地,所述步驟2)中的原語(yǔ)序列包括Start、End、Recv from、Send to、Wait共 五種原語(yǔ);Start用于表示原語(yǔ)序列的開(kāi)始;End用于表示原語(yǔ)序列的結(jié)束;Recv from帶有 參數(shù)node,用于表示從計(jì)算節(jié)點(diǎn)node收取一個(gè)數(shù)據(jù)報(bào)文,指令執(zhí)行完時(shí)數(shù)據(jù)報(bào)文可能到達(dá) 也可能沒(méi)有到達(dá);Send to帶有參數(shù)node,用于表示向計(jì)算節(jié)點(diǎn)node發(fā)出一個(gè)數(shù)據(jù)報(bào)文,指 令執(zhí)行完時(shí),數(shù)據(jù)報(bào)文只是發(fā)送到發(fā)送端的網(wǎng)絡(luò)接口,不一定到達(dá)接收方;Wait用于表示 等待上個(gè)原語(yǔ)區(qū)間的所有Recv from操作執(zhí)行完成,Wait指令的原語(yǔ)區(qū)間包括從上次Wait 操作或Start開(kāi)始,到本次Wait指令結(jié)束。
[0017] 優(yōu)選地,所述步驟2)中將Barrier操作以進(jìn)程為單位采用指令流的方式描述為原 語(yǔ)序列時(shí),根據(jù)所述觸發(fā)操作拓?fù)錁?shù)中的拓?fù)潢P(guān)系,將Barrier操作的收集階段和通知階 段通過(guò)中間節(jié)點(diǎn)分步實(shí)現(xiàn)根節(jié)點(diǎn)和葉節(jié)點(diǎn)之間的報(bào)文發(fā)送和接收,且每一步中每個(gè)節(jié)點(diǎn)最 多發(fā)送或接收一個(gè)報(bào)文;在收集階段,每一個(gè)節(jié)點(diǎn)分別收集所有子節(jié)點(diǎn)的通知報(bào)文并發(fā)往 父節(jié)點(diǎn),并最終匯集到根節(jié)點(diǎn);在通知階段,根節(jié)點(diǎn)先把通知報(bào)文廣播給自己的子節(jié)點(diǎn),一 個(gè)節(jié)點(diǎn)收到父節(jié)點(diǎn)的通知報(bào)文后再依次向所有子節(jié)點(diǎn)廣播,最終將通知報(bào)文傳達(dá)到所有葉 節(jié)點(diǎn)。
[0018] 本發(fā)明基于觸發(fā)操作的Barrier操作性能分析方法具有下述優(yōu)點(diǎn):本發(fā)明針 對(duì)基于觸發(fā)操作的Barrier聚合通信的并行計(jì)算機(jī),能夠在不需要在并行計(jì)算機(jī)上運(yùn)行 Barrier算法的情況下估算出該Barrier操作的性能,減少了 Barrier算法設(shè)計(jì)和測(cè)試的復(fù) 雜度,減少了手工進(jìn)行Barrier算法運(yùn)行測(cè)試的機(jī)時(shí)。針對(duì)支持基于觸發(fā)操作的Barrier 聚合通信的并行計(jì)算機(jī),在設(shè)計(jì)Barrier算法的時(shí)候只需要知道目標(biāo)并行計(jì)算機(jī)的少許參 數(shù)就可以得到Barrier算法在并行計(jì)算機(jī)的執(zhí)行性能,該性能指標(biāo)可以反饋給并行計(jì)算機(jī) 系統(tǒng)的設(shè)計(jì)者優(yōu)化網(wǎng)絡(luò)的設(shè)計(jì),能夠用于指導(dǎo)并行計(jì)算機(jī)通信網(wǎng)絡(luò)拓?fù)湓O(shè)計(jì)、Barrier通信 算法設(shè)計(jì)、并行程序性能優(yōu)化,以及高性能計(jì)算機(jī)系統(tǒng)性能評(píng)估等重要領(lǐng)域。

【專利附圖】

【附圖說(shuō)明】
[0019] 圖1為應(yīng)用本發(fā)明實(shí)施例的1?性能計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)不意圖。
[0020] 圖2為應(yīng)用本發(fā)明實(shí)施例的高性能計(jì)算機(jī)系統(tǒng)的計(jì)算節(jié)點(diǎn)結(jié)構(gòu)示意圖。
[0021] 圖3為本發(fā)明實(shí)施例的基本方法流程示意圖。
[0022] 圖4為本發(fā)明實(shí)施例生成的觸發(fā)操作拓?fù)錁?shù)的結(jié)構(gòu)示意圖。
[0023] 圖5為現(xiàn)有技術(shù)基本的Barrier操作的收集階段和通知階段的工作原理示意圖。
[0024] 圖6為本發(fā)明實(shí)施例中Barrier操作的收集階段和通知階段的工作原理示意圖。
[0025] 圖7為現(xiàn)有技術(shù)基本的Barrier操作執(zhí)行時(shí)間分解示意圖。
[0026] 圖8為本發(fā)明實(shí)施例中Barrier操作執(zhí)行時(shí)間分解示意圖。
[0027] 圖9為本發(fā)明實(shí)施例中數(shù)據(jù)通信開(kāi)銷的原理示意圖。

【具體實(shí)施方式】
[0028] 如圖1所示,本實(shí)施例應(yīng)用在國(guó)防科大的TH-IA型高性能并行計(jì)算機(jī)系統(tǒng)來(lái)進(jìn)行 實(shí)驗(yàn)驗(yàn)證。該高性能并行計(jì)算機(jī)系統(tǒng)包括管理和登入節(jié)點(diǎn)、計(jì)算節(jié)點(diǎn)陣列、高性能互聯(lián)通信 網(wǎng)絡(luò)和全局共享存儲(chǔ)系統(tǒng),其中計(jì)算節(jié)點(diǎn)陣列包括128個(gè)計(jì)算節(jié)點(diǎn),管理和登入節(jié)點(diǎn)以及 各個(gè)計(jì)算節(jié)點(diǎn)分別通過(guò)高性能互聯(lián)通信網(wǎng)絡(luò)和全局共享存儲(chǔ)系統(tǒng)相連。
[0029] 如圖2所示,每個(gè)計(jì)算節(jié)點(diǎn)中主存通過(guò)系統(tǒng)總線和處理器中的存儲(chǔ)控制器相連, 處理器中的外設(shè)控制器和存儲(chǔ)控制器相互連接,外設(shè)控制器通過(guò)PCI總線和網(wǎng)絡(luò)接口單元 相連,網(wǎng)絡(luò)接口單元包括外設(shè)接口部件、點(diǎn)點(diǎn)通信部件、聚合通信部件和網(wǎng)絡(luò)傳輸部件,且 網(wǎng)絡(luò)接口單元通過(guò)網(wǎng)絡(luò)傳輸部件連接到高性能互聯(lián)通信網(wǎng)絡(luò)。本實(shí)施例中,每個(gè)計(jì)算節(jié)點(diǎn) 的配置如下:兩個(gè)Intel Xeon 5670六核CPU(處理器中包含核0?核5共6個(gè)處理內(nèi)核), 每個(gè)核的頻率為2. 93GHz,兩個(gè)CPU的雙精度浮點(diǎn)計(jì)算理論峰值為HOGflops ;高性能互聯(lián) 通信網(wǎng)絡(luò)的雙向物理帶寬為160Gbps、雙向MPI通信帶寬為6. 3GB/s。不同節(jié)點(diǎn)間的發(fā)生開(kāi) 銷、傳輸開(kāi)銷、接收開(kāi)銷使用微測(cè)試用例測(cè)試獲得。
[0030] 如圖3所示,本實(shí)施例基于觸發(fā)操作的Barrier操作性能分析方法的實(shí)施步驟如 下:
[0031] 1)根據(jù)執(zhí)行Barrier操作的進(jìn)程集合中所有進(jìn)程的數(shù)據(jù)傳輸關(guān)系生成觸發(fā)操作 拓?fù)錁?shù),觸發(fā)操作拓?fù)錁?shù)中每一個(gè)節(jié)點(diǎn)為一個(gè)計(jì)算節(jié)點(diǎn),且每一個(gè)計(jì)算節(jié)點(diǎn)均有一個(gè)全局 唯一的數(shù)字編號(hào),該數(shù)字編號(hào)表示計(jì)算節(jié)點(diǎn)對(duì)應(yīng)進(jìn)程的進(jìn)程順序號(hào)。
[0032] 觸發(fā)操作拓?fù)錁?shù)的節(jié)點(diǎn)分為根節(jié)點(diǎn)、中間節(jié)點(diǎn)和葉節(jié)點(diǎn),根節(jié)點(diǎn)的就是拓?fù)錁?shù)處 于樹(shù)根位置的節(jié)點(diǎn),根節(jié)點(diǎn)的進(jìn)程rank號(hào)通常為0,葉節(jié)點(diǎn)就是沒(méi)有子節(jié)點(diǎn)的結(jié)點(diǎn),中間節(jié) 點(diǎn)是樹(shù)中除了根節(jié)點(diǎn)和葉節(jié)點(diǎn)的所有節(jié)點(diǎn),中間節(jié)點(diǎn)必須存在子節(jié)點(diǎn)。如圖4所示,本實(shí)施 例生成的觸發(fā)操作拓?fù)錁?shù)為Quardnomial (4-nomial)樹(shù),0號(hào)節(jié)點(diǎn)(進(jìn)程順序號(hào)為0)為根 節(jié)點(diǎn),4、8、12號(hào)節(jié)點(diǎn)為中間節(jié)點(diǎn),其余節(jié)點(diǎn)則均為葉節(jié)點(diǎn),任意兩者之間的邏輯連接為通信 鏈路。
[0033] 2)將Barrier操作以進(jìn)程為單位采用指令流的方式描述為原語(yǔ)序列。
[0034] 本實(shí)施例中,步驟2)中的原語(yǔ)序列包括Start、End、Recv from、Send to、Wait共 五種原語(yǔ);Start用于表示原語(yǔ)序列的開(kāi)始;End用于表示原語(yǔ)序列的結(jié)束;Recv from帶 有參數(shù)node,用于表示從計(jì)算節(jié)點(diǎn)node收取一個(gè)數(shù)據(jù)報(bào)文,指令執(zhí)行完時(shí)數(shù)據(jù)報(bào)文可能 到達(dá)也可能沒(méi)有到達(dá);Send to帶有參數(shù)node,用于表示向計(jì)算節(jié)點(diǎn)node發(fā)出一個(gè)數(shù)據(jù)報(bào) 文,指令執(zhí)行完時(shí),數(shù)據(jù)報(bào)文只是發(fā)送到發(fā)送端的網(wǎng)絡(luò)接口,不一定到達(dá)接收方;Wait用于 表示等待上個(gè)原語(yǔ)區(qū)間的所有Recv from操作執(zhí)行完成,Wait指令的原語(yǔ)區(qū)間包括從上次 Wait操作或Start開(kāi)始,到本次Wait指令結(jié)束。本實(shí)施例把支持基于觸發(fā)操作Barrier聚 合通信的硬件功能劃分為Start、End、Recv from、Send to、Wait共五種原語(yǔ),Barrier操 作的基本算法可以由這個(gè)五個(gè)硬件原語(yǔ)組合實(shí)現(xiàn)。從軟硬件接口角度觀察,這個(gè)五個(gè)硬件 原語(yǔ)分別由五條指令實(shí)現(xiàn),軟件把這些原語(yǔ)對(duì)應(yīng)的指令寫入到內(nèi)存或者網(wǎng)絡(luò)接口卡的制定 指令緩沖區(qū),網(wǎng)絡(luò)接口卡就可以自動(dòng)執(zhí)行這些指令?;谶@個(gè)五個(gè)硬件原語(yǔ),基于觸發(fā)操作 的Barrier操作就可以以進(jìn)程為單位,采用指令流(原語(yǔ)序列)的方式描述。軟件(CPU指 令)把指令流寫入到指令緩沖區(qū),網(wǎng)絡(luò)接口卡自動(dòng)執(zhí)行指令緩沖區(qū)里面的硬件原語(yǔ),在此 過(guò)程中,軟件(CPU)不參與原語(yǔ)流的執(zhí)行,可以執(zhí)行與通信操作(即Barrier操作)無(wú)關(guān)的 其它計(jì)算,進(jìn)而降低了計(jì)算開(kāi)銷。
[0035] Barrier操作的語(yǔ)義是一個(gè)進(jìn)程集合的所有進(jìn)程都進(jìn)入Barrier操作后,該進(jìn)程 集合中的進(jìn)程才可以退出Barrier操作。在Barrier操作的實(shí)現(xiàn)過(guò)程中,Barrier操作可 以分為兩個(gè)階段:收集階段和通知階段。如圖5所示,基本的Barrier操作通過(guò)根進(jìn)程(進(jìn) 程0)來(lái)分別接收所有子進(jìn)程的通知報(bào)文。在收集階段,一個(gè)根進(jìn)程(進(jìn)程0)收到所有進(jìn) 程(進(jìn)程1、進(jìn)程2、進(jìn)程3)達(dá)到柵欄同步點(diǎn)的通知報(bào)文;在通知階段,根進(jìn)程(進(jìn)程0)把 退出柵欄操作的通知報(bào)文發(fā)送給參與柵欄操作的所有進(jìn)程(進(jìn)程1、進(jìn)程2、進(jìn)程3),但是 基本的Barrier操作在實(shí)現(xiàn)過(guò)程中,根節(jié)點(diǎn)容易成為性能的瓶頸。本實(shí)施例中,步驟2)中 將Barrier操作以進(jìn)程為單位采用指令流的方式描述為原語(yǔ)序列時(shí),根據(jù)觸發(fā)操作拓?fù)錁?shù) 中的拓?fù)潢P(guān)系,將Barr i er操作的收集階段和通知階段通過(guò)中間節(jié)點(diǎn)分步實(shí)現(xiàn)根節(jié)點(diǎn)和葉 節(jié)點(diǎn)之間的報(bào)文發(fā)送和接收,且每一步中每個(gè)節(jié)點(diǎn)最多發(fā)送或接收一個(gè)報(bào)文;在收集階段, 每一個(gè)節(jié)點(diǎn)分別收集所有子節(jié)點(diǎn)的通知報(bào)文并發(fā)往父節(jié)點(diǎn),并最終匯集到根節(jié)點(diǎn);在通知 階段,根節(jié)點(diǎn)先把通知報(bào)文廣播給自己的子節(jié)點(diǎn),一個(gè)節(jié)點(diǎn)收到父節(jié)點(diǎn)的通知報(bào)文后再依 次向所有子節(jié)點(diǎn)廣播,最終將通知報(bào)文傳達(dá)到所有葉節(jié)點(diǎn)。如圖6所示,在收集階段,第一 步為根進(jìn)程(進(jìn)程〇)接收進(jìn)程1的通知、進(jìn)程2接收進(jìn)程3的通知,第二步為根進(jìn)程(進(jìn) 程〇)接收進(jìn)程2的通知,從而能夠有效減少根節(jié)點(diǎn)的負(fù)載,防止根節(jié)點(diǎn)成為性能的瓶頸。
[0036] 參見(jiàn)圖5,基本Barrier操作的算法是進(jìn)程0接收來(lái)自進(jìn)程1、進(jìn)程2、進(jìn)程3的通 知報(bào)文,收齊報(bào)文后,再發(fā)送報(bào)文通知進(jìn)程1、進(jìn)程2、進(jìn)程3退出Barrier操作。進(jìn)程0順 序執(zhí)行Recv from 1、Recv from 2、Recv from 3三個(gè)操作,但是實(shí)際的數(shù)據(jù)到達(dá)順序不一 定是首先收到來(lái)自進(jìn)程1的數(shù)據(jù),因?yàn)椴荒芗俣ㄟM(jìn)程的相對(duì)執(zhí)行順序和數(shù)據(jù)在網(wǎng)絡(luò)中的傳 播順序。但是后續(xù)的Wait操作必須在前面三個(gè)Recv from操作都收到相應(yīng)的數(shù)據(jù)后才執(zhí) 行完成,Wait操作的阻塞語(yǔ)義保證了 Barrier算法的正確性。進(jìn)程0?進(jìn)程3執(zhí)行的原語(yǔ) 序列如表1所示,且基本Barrier操作的執(zhí)行時(shí)間分解如圖7所示。
[0037] 表1 :基本Barrier操作下各進(jìn)程執(zhí)行的原語(yǔ)序列表。
[0038]

【權(quán)利要求】
1. 一種基于觸發(fā)操作的Barrier操作性能分析方法,其特征在于實(shí)施步驟如下: 1) 根據(jù)執(zhí)行Barrier操作的進(jìn)程集合中所有進(jìn)程的數(shù)據(jù)傳輸關(guān)系生成觸發(fā)操作拓?fù)?樹(shù),所述觸發(fā)操作拓?fù)錁?shù)中每一個(gè)節(jié)點(diǎn)為一個(gè)計(jì)算節(jié)點(diǎn),且每一個(gè)計(jì)算節(jié)點(diǎn)均有一個(gè)全局 唯一的數(shù)字編號(hào),該數(shù)字編號(hào)表示所述計(jì)算節(jié)點(diǎn)對(duì)應(yīng)進(jìn)程的進(jìn)程順序號(hào); 2) 將Barrier操作以進(jìn)程為單位采用指令流的方式描述為原語(yǔ)序列; 3) 分析觸發(fā)操作的自動(dòng)執(zhí)行部件的數(shù)據(jù)通信開(kāi)銷,所述數(shù)據(jù)通信開(kāi)銷包括發(fā)送開(kāi)銷、 傳輸開(kāi)銷和接收開(kāi)銷; 4) 根據(jù)所述數(shù)據(jù)通信開(kāi)銷計(jì)算所述進(jìn)程集合中每一個(gè)進(jìn)程的Barrier操作對(duì)應(yīng)原語(yǔ) 序列的執(zhí)行時(shí)間; 5) 選擇執(zhí)行時(shí)間最長(zhǎng)的進(jìn)程的執(zhí)行時(shí)間作為分析得到的最小執(zhí)行時(shí)間。
2. 根據(jù)權(quán)利要求1所述的基于觸發(fā)操作的Barrier操作性能分析方法,其特征在于: 所述步驟2)中的原語(yǔ)序列包括Start、End、Recv from、Send to、Wait共五種原語(yǔ);Start 用于表示原語(yǔ)序列的開(kāi)始;End用于表示原語(yǔ)序列的結(jié)束;Recv from帶有參數(shù)node,用于 表示從計(jì)算節(jié)點(diǎn)node收取一個(gè)數(shù)據(jù)報(bào)文,指令執(zhí)行完時(shí)數(shù)據(jù)報(bào)文可能到達(dá)也可能沒(méi)有到 達(dá);Send to帶有參數(shù)node,用于表示向計(jì)算節(jié)點(diǎn)node發(fā)出一個(gè)數(shù)據(jù)報(bào)文,指令執(zhí)行完時(shí), 數(shù)據(jù)報(bào)文只是發(fā)送到發(fā)送端的網(wǎng)絡(luò)接口,不一定到達(dá)接收方;Wait用于表示等待上個(gè)原語(yǔ) 區(qū)間的所有Recv from操作執(zhí)行完成,Wait指令的原語(yǔ)區(qū)間包括從上次Wait操作或Start 開(kāi)始,到本次Wait指令結(jié)束。
3. 根據(jù)權(quán)利要求2所述的基于觸發(fā)操作的Barrier操作性能分析方法,其特征在于: 所述步驟2)中將Barrier操作以進(jìn)程為單位采用指令流的方式描述為原語(yǔ)序列時(shí),根據(jù)所 述觸發(fā)操作拓?fù)錁?shù)中的拓?fù)潢P(guān)系,將Barrier操作的收集階段和通知階段通過(guò)中間節(jié)點(diǎn)分 步實(shí)現(xiàn)根節(jié)點(diǎn)和葉節(jié)點(diǎn)之間的報(bào)文發(fā)送和接收,且每一步中每個(gè)節(jié)點(diǎn)最多發(fā)送或接收一個(gè) 報(bào)文;在收集階段,每一個(gè)節(jié)點(diǎn)分別收集所有子節(jié)點(diǎn)的通知報(bào)文并發(fā)往父節(jié)點(diǎn),并最終匯集 到根節(jié)點(diǎn);在通知階段,根節(jié)點(diǎn)先把通知報(bào)文廣播給自己的子節(jié)點(diǎn),一個(gè)節(jié)點(diǎn)收到父節(jié)點(diǎn)的 通知報(bào)文后再依次向所有子節(jié)點(diǎn)廣播,最終將通知報(bào)文傳達(dá)到所有葉節(jié)點(diǎn)。
【文檔編號(hào)】G06F11/36GK104360936SQ201410553331
【公開(kāi)日】2015年2月18日 申請(qǐng)日期:2014年10月17日 優(yōu)先權(quán)日:2014年10月17日
【發(fā)明者】廖湘科, 謝旻, 盧宇彤, 所光, 曹宏嘉, 張百達(dá) 申請(qǐng)人:中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
阿拉善左旗| 遵义县| 措美县| 珠海市| 阳山县| 黔西县| 赤壁市| 克拉玛依市| 衡山县| 泰宁县| 峨眉山市| 朝阳县| 崇明县| 澄迈县| 永仁县| 阳西县| 合江县| 新邵县| 响水县| 六安市| 开鲁县| 简阳市| 五寨县| 密山市| 台东县| 永靖县| 德惠市| 尚志市| 武汉市| 苍溪县| 个旧市| 沿河| 盖州市| 山西省| 石家庄市| 新田县| 微博| 南岸区| 太原市| 周宁县| 罗江县|