[發(fā)明專利]并行模擬中支持蹤跡文件并行輸入輸出的方法無效
| 申請?zhí)枺?/td> | 200910043233.9 | 申請日: | 2009-04-28 |
| 公開(公告)號: | CN101526915A | 公開(公告)日: | 2009-09-09 |
| 發(fā)明(設(shè)計)人: | 車永剛;徐傳福;王勇獻(xiàn);王正華;彭宇行 | 申請(專利權(quán))人: | 中國人民解放軍國防科學(xué)技術(shù)大學(xué) |
| 主分類號: | G06F11/34 | 分類號: | G06F11/34;G06F9/455;G06F9/46 |
| 代理公司: | 國防科技大學(xué)專利服務(wù)中心 | 代理人: | 郭 敏 |
| 地址: | 410073湖*** | 國省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 并行 模擬 支持 蹤跡 文件 輸入輸出 方法 | ||
1.一種并行模擬中支持蹤跡文件并行輸入輸出的方法,其特征在于包括以下步驟:
第一步,構(gòu)建運(yùn)行并行模擬器的宿主機(jī),宿主機(jī)由多個節(jié)點(diǎn)構(gòu)成,每個節(jié)點(diǎn)都是一臺可獨(dú)立運(yùn)行的計算機(jī),都具有主存和本地磁盤存儲,各個節(jié)點(diǎn)間通過網(wǎng)絡(luò)互連;指定一個節(jié)點(diǎn)為主控節(jié)點(diǎn),它負(fù)責(zé)與用戶交互,通過它進(jìn)行模擬預(yù)測過程的配置與控制;其它節(jié)點(diǎn)稱為模擬節(jié)點(diǎn),它們根據(jù)需要參與并行模擬;主控節(jié)點(diǎn)和模擬節(jié)點(diǎn)均安裝有操作系統(tǒng)、網(wǎng)絡(luò)協(xié)議軟件和遠(yuǎn)程命令執(zhí)行軟件,各個節(jié)點(diǎn)采用主機(jī)名來標(biāo)識;基于Trace的并行模擬器的模擬過程分為兩個模擬階段,第一個模擬階段的模擬器稱為模擬器A,第二個模擬階段的模擬器稱為模擬器B,在模擬節(jié)點(diǎn)上安裝有模擬器A和模擬器B、Benchmark程序;主控節(jié)點(diǎn)上裝有主配置程序、Trace分布軟件、調(diào)度軟件A和調(diào)度軟件B,調(diào)度軟件A調(diào)度模擬器A的執(zhí)行,調(diào)度軟件B調(diào)度模擬器B的執(zhí)行;
第二步,在主控節(jié)點(diǎn)上執(zhí)行主配置程序,進(jìn)行全局配置,過程如下:
2.1設(shè)置參與第一個模擬階段模擬的節(jié)點(diǎn)及其上模擬進(jìn)程的數(shù)目,每一行存儲一個節(jié)點(diǎn)的信息,生成源節(jié)點(diǎn)列表文件,具體流程是:
2.1.1建一個空的源節(jié)點(diǎn)列表文件;
2.1.2初始化計數(shù)器i為1;
2.1.3在源節(jié)點(diǎn)列表文件中新起一行,寫入第i個節(jié)點(diǎn)的主機(jī)名HEi;
2.1.4在當(dāng)前節(jié)點(diǎn)的主機(jī)名HEi后寫入該節(jié)點(diǎn)的模擬進(jìn)程數(shù)目PEi;
2.1.5計數(shù)器i的值增加1,若i≤NE,轉(zhuǎn)2.1.3;否則,關(guān)閉源節(jié)點(diǎn)列表文件,完成源節(jié)點(diǎn)列表文件的創(chuàng)建,NE為參與第一個模擬階段并行模擬的節(jié)點(diǎn)數(shù),各節(jié)點(diǎn)編號為1~NE;
2.2設(shè)置參與第二個模擬階段模擬的節(jié)點(diǎn)及其上模擬進(jìn)程的數(shù)目,生成目的節(jié)點(diǎn)列表文件,具體流程是:
2.2.1建一個空的目的節(jié)點(diǎn)列表文件;
2.2.2初始化計數(shù)器j為1;
2.2.3在目的節(jié)點(diǎn)列表文件中新起一行,寫入第j個節(jié)點(diǎn)的主機(jī)名HSj;
2.2.4在當(dāng)前節(jié)點(diǎn)的主機(jī)名HSj后寫入該節(jié)點(diǎn)上的模擬進(jìn)程數(shù)目PSj;
2.2.5計數(shù)器j的值增加1,若j≤NS,轉(zhuǎn)2.2.3;否則,關(guān)閉目的節(jié)點(diǎn)列表文件,完成目的節(jié)點(diǎn)列表文件的創(chuàng)建,NS為參與第二個模擬階段并行模擬的節(jié)點(diǎn)個數(shù),各節(jié)點(diǎn)編號為1~NS:
2.3創(chuàng)建全局配置文件,流程是:
2.3.1創(chuàng)建一個空的全局配置文件;
2.3.2在全局配置文件中記錄源節(jié)點(diǎn)和目的節(jié)點(diǎn)列表文件的存放目錄及名字;
2.3.3設(shè)置第一個模擬階段模擬進(jìn)程到節(jié)點(diǎn)的映射方法為塊分布映射方法,記為BLOCK_MAP,在全局配置文件中記錄映射方法的名稱,用變量MAPE標(biāo)識;
2.3.4設(shè)置第二個模擬階段的模擬進(jìn)程到節(jié)點(diǎn)的映射方法,映射方法與第一個模擬階段相同,在全局配置文件中記錄映射方法的名稱,用變量MAPS標(biāo)識;
2.3.5設(shè)置Trace文件名的前導(dǎo)標(biāo)識符,記錄在全局配置文件中;
2.3.6關(guān)閉全局配置文件,完成全局配置;
第三步,由主控節(jié)點(diǎn)上的調(diào)度軟件A調(diào)度模擬節(jié)點(diǎn)上的模擬器A執(zhí)行模擬工作,進(jìn)行第一個模擬階段的并行模擬:
調(diào)度軟件A的流程如下:
3.1從全局配置文件獲得源節(jié)點(diǎn)列表文件的存放目錄及名字,以及第一個模擬階段模擬進(jìn)程到節(jié)點(diǎn)的映射方法MAPE和Trace文件名的前導(dǎo)標(biāo)識符;
3.2解析源節(jié)點(diǎn)列表文件,獲得參與第一個模擬階段模擬的節(jié)點(diǎn)名及其上的模擬進(jìn)程數(shù);
3.3啟動每個模擬節(jié)點(diǎn)上的模擬進(jìn)程,即逐個啟動每個參與第一個模擬階段模擬的模擬節(jié)點(diǎn)上的PEk個模擬進(jìn)程,PEk為編號為k的模擬節(jié)點(diǎn)上的模擬進(jìn)程數(shù)1≤k≤NE;
3.4給每個模擬進(jìn)程分配不同的邏輯進(jìn)程號,邏輯進(jìn)程號從1到第k個模擬節(jié)點(diǎn)上的PEk個模擬進(jìn)程的編號分別是...,
模擬節(jié)點(diǎn)端模擬器A的執(zhí)行過程如下:
3.5模擬器A的各個模擬進(jìn)程并行地參與模擬運(yùn)行Benchmark程序,進(jìn)行功能仿真和初步的性能模擬;
3.6每個模擬進(jìn)程生成一個與本進(jìn)程的邏輯進(jìn)程號相同編號的Trace文件,記錄本模擬階段已模擬得到的性能數(shù)據(jù)以及下一模擬階段所需要的性能事件,每個模擬進(jìn)程產(chǎn)生的Trace文件都存儲在本地磁盤中,即第k個模擬節(jié)點(diǎn)上模擬進(jìn)程產(chǎn)生的Trace文件記錄在節(jié)點(diǎn)名為HEk的節(jié)點(diǎn)上,Trace文件的命名采用“前導(dǎo)標(biāo)識符”+“編號”的方式;
第四步,主控節(jié)點(diǎn)上的Trace分布軟件為每個目的節(jié)點(diǎn)生成一個Trace移動腳本,將其發(fā)給目的節(jié)點(diǎn),目的節(jié)點(diǎn)執(zhí)行Trace移動腳本,從相應(yīng)的源節(jié)點(diǎn)上將Trace文件移動到本節(jié)點(diǎn)。
4.1在主控節(jié)點(diǎn)端執(zhí)行Trace分布軟件,流程如下:
4.1.1初始化目的節(jié)點(diǎn)號q為1,置第二個模擬階段的模擬進(jìn)程數(shù)Trace文件數(shù)如果NNP整除NNT,則置變量TN=DIV(NNT,NNP),變量RN=0;否則,置變量TN=DIV(NNT,NNP)+1,變量RN=MOD(NNT,NNP);
4.1.2創(chuàng)建一個新的Trace移動腳本;
4.1.3初始化計數(shù)器m1的值為1;
4.1.4置目的節(jié)點(diǎn)上的邏輯進(jìn)程號
4.1.5初始化計數(shù)器t的值為1,如果RN等于0,或者RN不等于0且m不大于RN,置IMAX=TN;否則,置IMAX=TN-1;
4.1.6如果RN等于0,或者RN不等于0且m不大于RN,置Trace文件編號NT=TN×(m-1)+t;否則,置Trace文件編號NF=TN×RN+(m-RN-1)(TN-1)+t,初始化計數(shù)器r的值為0,置PT的值為0;
4.1.7計算:r=r+1;PT=PT+PEr;
4.1.8如果NT>PT,轉(zhuǎn)4.1.7;否則,轉(zhuǎn)4.1.9;
4.1.9在該新的Trace移動腳本中加入一條命令,功能是使用遠(yuǎn)程復(fù)制命令將源節(jié)點(diǎn)HEr上編號為NT的Trace文件移動到目的節(jié)點(diǎn)HSq上;
4.1.10如果t<IMAX,置t=t+1,轉(zhuǎn)4.1.6;
4.1.11若m1<PSq,置m1=m1+1,轉(zhuǎn)4.1.4;
4.1.12關(guān)閉該新的Trace移動腳本,使用遠(yuǎn)程復(fù)制命令將該新的Trace移動腳本移動到目的節(jié)點(diǎn)HSq上,并在節(jié)點(diǎn)HSq上啟動該新的Trace移動腳本;
4.1.13若q<NS,置q=q+1,轉(zhuǎn)4.1.2;否則,結(jié)束;
4.2目的節(jié)點(diǎn)端從源節(jié)點(diǎn)上將Trace文件移動到本節(jié)點(diǎn),方法是:每個目的節(jié)點(diǎn)接收主控節(jié)點(diǎn)發(fā)來的Trace移動腳本,執(zhí)行該Trace移動腳本,將第二個模擬階段本節(jié)點(diǎn)上的模擬進(jìn)程要讀取的Trace文件逐個地從源節(jié)點(diǎn)移動到本節(jié)點(diǎn)上;
第五步,主控節(jié)點(diǎn)上的調(diào)度軟件B調(diào)度模擬節(jié)點(diǎn)上的模擬器B執(zhí)行模擬工作,
調(diào)度軟件B的流程如下:
5.1從全局配置文件中獲得目的節(jié)點(diǎn)列表的存放目錄及名字,以及第二個模擬階段模擬進(jìn)程到節(jié)點(diǎn)的映射方法MAPS;
5.2解析目的節(jié)點(diǎn)列表文件,獲得參與第二個模擬階段模擬的各個節(jié)點(diǎn)名及其上的模擬進(jìn)程數(shù);
5.3啟動每個模擬節(jié)點(diǎn)上的模擬進(jìn)程,即逐個啟動每個參與第二個模擬階段模擬的模擬節(jié)點(diǎn)上的PSq個模擬進(jìn)程,PSq為編號為q的模擬節(jié)點(diǎn)上的模擬進(jìn)程數(shù),1≤q≤NS;
5.4給每個模擬進(jìn)程分配不同的邏輯進(jìn)程號,邏輯進(jìn)程號從1到第q個節(jié)點(diǎn)上的PSq個模擬進(jìn)程的邏輯進(jìn)程號分別是...,
模擬節(jié)點(diǎn)端模擬器B的執(zhí)行過程如下:
5.5模擬器B的各個模擬進(jìn)程并行地從本地磁盤上讀取Trace文件:若RN等于0,則其讀取的Trace文件編號是TN*(u-1)+1,TN*(u-1)+2,...,TN*u,u為模擬進(jìn)程的邏輯進(jìn)程號,若RN不等于0,則其讀取的Trace文件編號是TN*(u-1)+1,TN*(u-1)+2,...,TN*u,u≤RN,或者TN*RN+(u-RN-1)*(TN-1)+1,TN*RN+(u-RN-1)*(TN-1)+2,...,TN*RN+(u-RN)*(TN-1),
5.6各個模擬進(jìn)程基于Trace文件中記錄的信息并行地進(jìn)行模擬,綜合第一個模擬階段的性能數(shù)據(jù),得到最終的模擬預(yù)測性能數(shù)據(jù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國人民解放軍國防科學(xué)技術(shù)大學(xué),未經(jīng)中國人民解放軍國防科學(xué)技術(shù)大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910043233.9/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





