[發(fā)明專利]一種多級并行化編程方法有效
| 申請?zhí)枺?/td> | 201010205530.1 | 申請日: | 2010-06-22 |
| 公開(公告)號: | CN101887367A | 公開(公告)日: | 2010-11-17 |
| 發(fā)明(設(shè)計)人: | 于策;湯善江;張濤;孫濟(jì)洲;徐禎;孫超;王萌萌 | 申請(專利權(quán))人: | 天津大學(xué) |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44;G06F9/46 |
| 代理公司: | 天津市北洋有限責(zé)任專利代理事務(wù)所 12201 | 代理人: | 溫國林 |
| 地址: | 300072*** | 國省代碼: | 天津;12 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 多級 并行 編程 方法 | ||
1.一種多級并行化編程方法,包括進(jìn)程間的處理和進(jìn)程內(nèi)的處理,所述進(jìn)程間的處理由主進(jìn)程、從進(jìn)程、DAG任務(wù)解析線程、第一線程池緩沖區(qū)、通信線城池、任務(wù)分配線程、數(shù)據(jù)同步線程和第一DAG任務(wù)完成反饋隊列之間的相互通信實現(xiàn);所述進(jìn)程內(nèi)的處理由主線程、第二線程池緩沖區(qū)、工作線程池、工作線程和第二DAG任務(wù)完成反饋隊列之間的相互通信實現(xiàn);其特征在于,所述進(jìn)程間的處理包括:
(1)所述DAG任務(wù)解析線程解析第一DAG圖,獲取并下發(fā)DAG任務(wù)到所述第一線程池緩沖區(qū);
(2)所述通信線程池中的閑置線程從所述第一線程池緩沖區(qū)中獲取DAG任務(wù),所述任務(wù)分配線程下發(fā)DAG任務(wù)給相應(yīng)的所述從進(jìn)程并進(jìn)入等待確認(rèn)信息的狀態(tài);
(3)當(dāng)任意一所述從進(jìn)程完成DAG任務(wù),其對完成的數(shù)據(jù)塊內(nèi)容進(jìn)行廣播,所述數(shù)據(jù)同步線程使所述主進(jìn)程和所有所述從進(jìn)程進(jìn)行數(shù)據(jù)同步更新;廣播完畢后,發(fā)送確認(rèn)信息給相應(yīng)的所述任務(wù)分配線程;
(4)所述任務(wù)分配線程接收到相應(yīng)的所述從進(jìn)程的確認(rèn)信息后,將已完成的DAG任務(wù)ID寫入所述第一DAG任務(wù)完成反饋隊列;
(5)所述DAG任務(wù)解析線程實時監(jiān)測所述第一DAG任務(wù)完成反饋隊列,當(dāng)有完成的DAG任務(wù)時,更新所述第一DAG圖;否則,重新執(zhí)行步驟(1),當(dāng)所有的任務(wù)都完成,退出監(jiān)測,流程結(jié)束;
所述進(jìn)程內(nèi)的處理包括:
(6)所述主線程獲取所述從進(jìn)程發(fā)送的DAG任務(wù),解析第二DAG圖,獲取并下發(fā)DAG任務(wù)到所述第二線程池緩沖區(qū);
(7)所述工作線程池從所述第二線程池緩沖區(qū)中獲取DAG任務(wù),將其下發(fā)給任一閑置的所述工作線程;當(dāng)所述工作線程完成DAG任務(wù)時,將完成的DAG任務(wù)ID寫入所述第二DAG任務(wù)完成反饋隊列中;
(8)所述主線程實時監(jiān)測所述第二DAG任務(wù)完成反饋隊列,當(dāng)有完成的DAG任務(wù)時,所述主線程更新所述第二DAG圖,重新執(zhí)行步驟(6);當(dāng)所有的任務(wù)都完成后,所述主線程將退出監(jiān)測,進(jìn)入等待下一個新任務(wù)狀態(tài)。
2.根據(jù)權(quán)利要求1所述的多級并行化編程方法,其特征在于,所述多級并行化編程方法還包括進(jìn)程間的容錯處理和進(jìn)程內(nèi)的容錯處理,所述進(jìn)程間的容錯處理由所述DAG任務(wù)解析線程、第一超時隊列、所述通信線程池中的任務(wù)分配線程、所述任務(wù)分配線程、第一DAG任務(wù)注冊表、容錯線程之間的相互通信實現(xiàn);所述進(jìn)程內(nèi)的容錯處理由所述主線程、第二超時隊列、所述工作線程、第二DAG任務(wù)注冊表、所述工作線程池之間的相互通信實現(xiàn);具體地,
所述進(jìn)程間的容錯處理包括:
將所述DAG任務(wù)解析線程獲取到的DAG任務(wù)下發(fā)到所述第一超時隊列中;
當(dāng)所述通信線程池中的任務(wù)分配線程獲取到DAG任務(wù)后,所述任務(wù)分配線程將到所述第一DAG任務(wù)注冊表中進(jìn)行登記,記錄任務(wù)分配線程ID及DAG任務(wù)ID;
當(dāng)所述DAG任務(wù)解析線程實時監(jiān)測發(fā)現(xiàn)有完成的DAG任務(wù)時,將從所述第一超時隊列中將該DAG任務(wù)ID刪除;
所述容錯線程實時監(jiān)測所述第一超時隊列,根據(jù)第一超時閾值檢測是否存在DAG任務(wù)超時;當(dāng)發(fā)現(xiàn)有DAG任務(wù)超時,從所述第一超時隊列中刪除DAG任務(wù)ID,否則,繼續(xù)反復(fù)監(jiān)測所述第一超時隊列;
所述進(jìn)程內(nèi)的容錯處理包括:
將所述主線程獲取到的DAG任務(wù)下發(fā)到所述第二超時隊列中,當(dāng)所述工作線程獲取一可計算的DAG任務(wù)后,所述工作線程將到所述第二DAG任務(wù)注冊表中進(jìn)行登記,記錄工作線程ID及DAG任務(wù)ID;
所述主線程實時監(jiān)測所述第二超時隊列,根據(jù)第二超時閾值檢測是否存在DAG任務(wù)超時,當(dāng)發(fā)現(xiàn)有DAG任務(wù)超時時,所述工作線程池殺死所述工作線程,重新創(chuàng)建一新工作線程替代被殺死的工作線程,將超時的DAG任務(wù)從所述第二超時隊列中刪除。
3.根據(jù)權(quán)利要求2所述的多級并行化編程方法,其特征在于,所述容錯線程實時監(jiān)測所述第一超時隊列,根據(jù)第一超時閾值檢測是否存在DAG任務(wù)超時,具體為:
當(dāng)前時刻與所述第一超時隊列的起始時間做差,得到的差值大于等于所述第一超時閾值時,視為存在DAG任務(wù)超時。
4.根據(jù)權(quán)利要求2所述的多級并行化編程方法,其特征在于,所述主線程實時監(jiān)測所述第二超時隊列,根據(jù)第二超時閾值檢測是否存在DAG任務(wù)超時,具體為:
當(dāng)前時刻與所述第二超時隊列的起始時間做差,得到的差值大于等于所述第二超時閾值時,視為存在DAG任務(wù)超時。
5.根據(jù)權(quán)利要求2所述的多級并行化編程方法,其特征在于,所述第一超時閾值大于第二超時閾值。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于天津大學(xué),未經(jīng)天津大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010205530.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種高升阻比陶瓷熱敏電阻器及其制備方法
- 下一篇:方便干燥的新型草捆





