[發明專利]分布式并行計算方法和裝置有效
| 申請號: | 201710987163.7 | 申請日: | 2017-10-20 |
| 公開(公告)號: | CN107832144B | 公開(公告)日: | 2020-07-28 |
| 發明(設計)人: | 何恒靖;肖勇;趙云;錢斌;鄭楷洪;周密 | 申請(專利權)人: | 南方電網科學研究院有限責任公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/48 |
| 代理公司: | 廣州華進聯合專利商標代理有限公司 44224 | 代理人: | 周清華 |
| 地址: | 510663 廣東省廣州市蘿崗區科*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 分布式 并行 計算方法 裝置 | ||
1.一種分布式并行計算方法,其特征在于,包括:
在得到各計算子任務線程時,根據遠程過程調用,分別建立各所述計算子任務線程的Matlab任務進程;
分別獲取各所述Matlab任務進程對應的所述計算子任務線程的數據包,并獨立運行處理所述數據包,執行Matlab分布式并行計算;
在得到各計算子任務線程時,通過遠程過程調用,分別建立各所述計算子任務線程的Matlab任務進程的步驟之前,還包括:
在獲取到待處理數據時,通過非Matlab語言對所述待處理數據進行預處理,得到各預處理數據,基于各所述預處理數據啟動各所述計算子任務線程;所述非Matlab語言為支持Matlab調用的編程語言。
2.根據權利要求1所述的分布式并行計算方法,其特征在于,所述Matlab任務進程包括計算服務線程;
在得到各計算子任務線程時,根據遠程過程調用,分別建立各所述計算子任務線程的Matlab任務進程的步驟包括:
根據所述遠程過程調用,調度所述計算子任務線程的所述計算服務線程。
3.根據權利要求2所述的分布式并行計算方法,其特征在于,所述Matlab任務進程還包括MCR實例以及Matlab計算服務;
分別獲取各所述Matlab任務進程對應的所述計算子任務線程的數據包,獨立運行處理所述數據包,實現Matlab分布式并行計算的步驟包括:
根據所述計算服務線程,啟動所述MCR實例并運行所述Matlab計算服務;
通過所述MCR實例和所述Matlab計算服務,對所述數據包進行處理。
4.根據權利要求3所述的分布式并行計算方法,其特征在于,還包括步驟:
在建立各所述Matlab任務進程時,通過所述計算子任務線程啟動心跳線程;通過所述心跳線程,將所述計算子任務線程的運行狀態傳輸給所述Matlab任務進程;
在啟動所述MCR實例時,啟動心跳檢測線程;通過所述心跳檢測線程,以輪詢的方式檢測所述計算子任務線程的運行狀態。
5.根據權利要求1至4任意一項所述的分布式并行計算方法,其特征在于,所述非Matlab語言為Java語言或C++語言。
6.根據權利要求1至4任一項所述的分布式并行計算方法,其特征在于,
分別獲取各所述Matlab任務進程對應的所述計算子任務線程的數據包,并獨立運行處理所述數據包,實現Matlab分布式并行計算的步驟之前,還包括:
通過所述非Matlab語言對所述待處理數據進行分區處理,得到多個計算子任務,并獲取各所述計算子任務對應的所述Matlab任務進程的數量;
根據目標任務進程編號,將各所述計算子任務均勻分配到各所述Matlab任務進程中;所述目標任務進程編號為對計數變量和所述Matlab任務進程的數量進行取模運算得到。
7.一種分布式并行計算裝置,其特征在于,包括:
任務調用單元,用于在得到各計算子任務線程時,根據遠程過程調用,分別建立各所述計算子任務線程的Matlab任務進程;其中,在得到各計算子任務線程時,通過遠程過程調用,分別建立各所述計算子任務線程的Matlab任務進程的步驟之前,還包括:
在獲取到待處理數據時,通過非Matlab語言對所述待處理數據進行預處理,得到各預處理數據,基于各所述預處理數據啟動各所述計算子任務線程;所述非Matlab語言為支持Matlab調用的編程語言;
任務單元,用于分別獲取各所述Matlab任務進程對應的所述計算子任務線程的數據包,并獨立運行處理所述數據包,執行Matlab分布式并行計算。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南方電網科學研究院有限責任公司,未經南方電網科學研究院有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710987163.7/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種物理機資源的處理方法和裝置
- 下一篇:一種基于虛擬機的系統資源釋放方法





