[發明專利]面向進程失效錯誤的并行通信庫狀態自恢復方法有效
| 申請號: | 201310096920.3 | 申請日: | 2013-03-25 |
| 公開(公告)號: | CN103150236A | 公開(公告)日: | 2013-06-12 |
| 發明(設計)人: | 廖湘科;盧宇彤;謝旻;所光;曹宏嘉;蔣艷凰;董勇;陳海濤 | 申請(專利權)人: | 中國人民解放軍國防科學技術大學 |
| 主分類號: | G06F11/20 | 分類號: | G06F11/20 |
| 代理公司: | 湖南兆弘專利事務所 43008 | 代理人: | 趙洪;譚武藝 |
| 地址: | 410073 湖南省長沙市硯瓦池正*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 面向 進程 失效 錯誤 并行 通信 狀態 恢復 方法 | ||
1.一種面向進程失效錯誤的并行通信庫狀態自恢復方法,其特征在于實施步驟如下:
1)啟動作業管理進程和節點管理進程;用戶向作業管理進程提交并行任務,作業管理進程根據所述并行任務的并發度分配計算節點并通知節點管理進程;然后作業管理進程實時監控計算進程是否發生失效,如果發生失效則作業管理進程把失效信息發送給節點管理進程;
2)節點管理進程收到來自作業管理進程的派生計算進程的請求,針對每個需要派生的計算進程,節點管理進程利用操作系統提供的共享內存創建系統調用創建一塊共享內存,把所述共享內存的初始值設為全0,創建并行作業的計算進程并把共享內存的標識符賦值給計算進程的指定環境變量;計算進程創建成功后,節點管理進程實時監控是否收到來自作業管理進程的失效通知消息,如果收到失效通知消息,則節點管理進程通過共享內存向計算進程發送失效通知消息;
3)計算進程首先初始化并行通信庫,根據所述指定環境變量查詢得到共享內存的標識符,根據共享內存的標識符通過操作系統提供的共享內存綁定的系統調用綁定到該共享內存,然后執行本地計算;在計算過程中,計算進程調用并行通信庫的消息傳遞接口進行消息傳遞、檢測消息的到達和傳輸狀態;同時,計算進程通過檢測綁定的共享內存判斷是否有進程失效發生,如果有進程失效發生則轉入步驟4);
4)計算進程通過查詢共享內存的匹配本次發生失效的計算進程數目和其在全局通信器中的失效進程列表,根據所述本次發生失效的計算進程數目和其在全局通信器中的失效進程列表執行針對進程失效錯誤的錯誤恢復操作,恢復計算進程,繼續執行本地計算。
2.根據權利要求1所述的面向進程失效錯誤的并行通信庫狀態自恢復方法,其特征在于,所述步驟4)中執行針對進程失效錯誤的錯誤恢復操作的詳細步驟如下:
4.1)清空并行通信庫中的錯誤狀態,刪除發生錯誤后到出錯處理前發送或接收的報文;
4.2)把出錯后全局通信器中的計算進程重新排序,重新排序的規則是排在右側的正常進程的rank號左移,全局通信器被重新排序后生成收縮全局通信器;
4.3)針對所述收縮全局通信器中的進程,利用并行通信庫提供的進程派生功能,根據本次發生失效的計算進程數目和全局通信器中的失效進程列表派生替代進程,替代進程的數目和本次發生失效的數目相同;
4.4)將所述收縮全局通信器中的進程和替代進程重新組合創建新的全局通信器,所述新的全局通信器包含兩部分,左半部分為收縮全局通信器中的進程,右半部分為替換進程;
4.5)將所述新的全局通信器中的進程進行重新排序,使得替換進程填補失效進程的位置,并且正常進程維持失效前的進程rank號;
4.6)失效進程恢復成功后,計算進程返回繼續執行本地計算。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國人民解放軍國防科學技術大學,未經中國人民解放軍國防科學技術大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310096920.3/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種乘用車發動機頂置空氣濾清器
- 下一篇:摩托車發動機鎂合金左曲軸箱蓋





