[發明專利]一種多級并行化編程方法有效
| 申請號: | 201010205530.1 | 申請日: | 2010-06-22 |
| 公開(公告)號: | CN101887367A | 公開(公告)日: | 2010-11-17 |
| 發明(設計)人: | 于策;湯善江;張濤;孫濟洲;徐禎;孫超;王萌萌 | 申請(專利權)人: | 天津大學 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44;G06F9/46 |
| 代理公司: | 天津市北洋有限責任專利代理事務所 12201 | 代理人: | 溫國林 |
| 地址: | 300072*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 多級 并行 編程 方法 | ||
技術領域
本發明涉及并行編程模型、模式與方法領域,特別涉及一種多級并行化編程方法。
背景技術
隨著計算機的應用范圍和應用水平的不斷拓展和提高,人們對于計算機的計算和處理能力等性能要求也隨之增加,近些年來,在諸如天文、氣象、海洋、生物、能源、化工、地質勘探和數學等科學與工程計算領域,由于數據計算量的增大及計算復雜度的增加,很多實際應用問題的求解過程在計算能力及計算速度方面不斷提出新的要求,對高性能計算能力的需求越來越迫切。而這類實際應用大多是基于數據型的,且耗時計算主要為數值計算。
目前,在硬件方面,隨著多核處理器的出現,以及高性能集群的快速發展,搭建一個混合分布式多核集群已經是件很容易的事。
發明人在實現本發明的過程中,發現上述現有技術至少存在以下缺點和不足:
在軟件方面,并行編程復雜且易出錯。如何高效地在并行計算環境中,特別是在多核分布式集群環境下進行各種并行計算應用程序的設計與開發,對于多數非計算機專業出身的各應用領域的技術人員缺乏并行計算程序開發的專業訓練,已成為并行計算技術轉化為實際生產力所面臨的關鍵問題。
發明內容
為了減少并行編程的復雜度,降低出錯率,本發明提供了一種多級并行化編程方法,包括進程間的處理和進程內的處理,所述進程間的處理由主進程、從進程、DAG任務解析線程、第一線程池緩沖區、通信線城池、任務分配線程、數據同步線程和第一DAG任務完成反饋隊列之間的相互通信實現;所述進程內的處理由主線程、第二線程池緩沖區、工作線程池、工作線程和第二DAG任務完成反饋隊列之間的相互通信實現;
所述進程間的處理包括:
(1)所述DAG任務解析線程解析第一DAG圖,獲取并下發DAG任務到所述第一線程池緩沖區;
(2)所述通信線程池中的閑置線程從所述第一線程池緩沖區中獲取DAG任務,所述任務分配線程下發DAG任務給相應的所述從進程并進入等待確認信息的狀態;
(3)當任意一所述從進程完成DAG任務,其對完成的數據塊內容進行廣播,所述數據同步線程使所述主進程和所有所述從進程進行數據同步更新;廣播完畢后,發送確認信息給相應的所述任務分配線程;
(4)所述任務分配線程接收到相應的所述從進程的確認信息后,將已完成的DAG任務ID寫入所述第一DAG任務完成反饋隊列;
(5)所述DAG任務解析線程實時監測所述第一DAG任務完成反饋隊列,當有完成的DAG任務時,更新所述第一DAG圖;否則,重新執行步驟(1),當所有的任務都完成,退出監測,流程結束;
所述進程內的處理包括:
(6)所述主線程獲取所述從進程發送的DAG任務,解析第二DAG圖,獲取并下發DAG任務到所述第二線程池緩沖區;
(7)所述工作線程池從所述第二線程池緩沖區中獲取DAG任務,將其下發給任一閑置的所述工作線程;當所述工作線程完成DAG任務時,將完成的DAG任務ID寫入所述第二DAG任務完成反饋隊列中;
(8)所述主線程實時監測所述第二DAG任務完成反饋隊列,當有完成的DAG任務時,所述主線程更新所述第二DAG圖,重新執行步驟(6);當所有的任務都完成后,所述主線程將退出監測,進入等待下一個新任務狀態。
所述多級并行化編程方法還包括進程間的容錯處理和進程內的容錯處理,所述進程間的容錯處理由所述DAG任務解析線程、第一超時隊列、所述通信線程池中的任務分配線程、所述任務分配線程、第一DAG任務注冊表、容錯線程之間的相互通信實現;所述進程內的容錯處理由所述主線程、第二超時隊列、所述工作線程、第二DAG任務注冊表、所述工作線程池之間的相互通信實現;具體地,
所述進程間的容錯處理包括:
將所述DAG任務解析線程獲取到的DAG任務下發到所述第一超時隊列中;
當所述通信線程池中的任務分配線程獲取到DAG任務后,所述任務分配線程將到所述第一DAG任務注冊表中進行登記,記錄任務分配線程ID及DAG任務ID;
當所述DAG任務解析線程實時監測發現有完成的DAG任務時,將從所述第一超時隊列中將該DAG任務ID刪除;
所述容錯線程實時監測所述第一超時隊列,根據第一超時閾值檢測是否存在DAG任務超時;當發現有DAG任務超時,從所述第一超時隊列中刪除DAG任務ID,否則,繼續反復監測所述第一超時隊列;
所述進程內的容錯處理包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天津大學,未經天津大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010205530.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種高升阻比陶瓷熱敏電阻器及其制備方法
- 下一篇:方便干燥的新型草捆





