[發明專利]一種基于動態過程計算的數據交換方法在審
| 申請號: | 202211491467.1 | 申請日: | 2022-11-25 |
| 公開(公告)號: | CN115718780A | 公開(公告)日: | 2023-02-28 |
| 發明(設計)人: | 張萬順;張占平;王浩;彭虹 | 申請(專利權)人: | 武漢大學 |
| 主分類號: | G06F16/25 | 分類號: | G06F16/25 |
| 代理公司: | 武漢科皓知識產權代理事務所(特殊普通合伙) 42222 | 代理人: | 王琪 |
| 地址: | 430072 湖北省武*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 動態 過程 計算 數據 交換 方法 | ||
本發明公開了一種基于動態過程計算的數據交換方法,針對動態過程計算中已有的數據交換方法很難實現異構程序間快速、準確數據交換及進程同步問題,本發明提出一種數據交換與進程控制方法。首先,基于內存數據庫設計了一種數據交換方法,實現一個動態過程中不同應用程序進程間的數據交換;其次,考慮的多個程序的進程同步問題,設計了一種進程控制機制,當程序進程請求數據為空時可控制進程進入等待狀態,待數據請求成功后返回請求結果;最后,通過本發明解決了動態過程計算中不同程序數據交換及數據同步問題,具有更高的實用性及應用價值。
技術領域
本發明屬于高性能計算領域,具體涉及高性能計算中動態過程計算的數據交換方法。
背景技術
在動態過程計算中,為提高計算效率,目前通用的方法是分塊并行計算,即將一個動態計算過程拆分為多個子程序,并將這些子程序部署于分布式系統,多個子程序可在相同時隙實現并行計算。
當執行具有耦合性的程序計算時,需要考慮不同程序的進程間數據交換問題。在并行計算中,目前常用的數據交換方式有消息傳遞接口MPI(Massage PassingInterface)、共享內存等方法。其中,MPI數據交換是一種進程間的數據交換方法,該方法雖然能解決不同動態過程計算中不同進程之間的數據交換問題,但很難實現不同計算節點上不同程序、不同進程間的數據交換。共享內存數據交換方式,在不需要數據傳遞的條件下可實現不同進程間的數據共享,可加快數據傳遞效率。但共享內存數據交換方式沒有提供同步的機制,在使用共享內存進行進程間通信時,往往要借助其他的手段來進行進程間的同步工作。
基于此,本發明公開了一種基于動態過程計算的數據交換方法,主要解決多個計算節點上不同程序間的數據交換與進程同步問題。
發明內容
針對動態過程計算中已有的數據交換方法很難實現異構程序間快速、準確數據交換及進程同步的問題,本發明提出一種數據交換方法與進程控制方法。一方面,基于內存數據庫設計了一種數據交換方法,實現一個動態過程中不同應用程序進程間的數據交換;另一方面,考慮的多個程序的進程同步問題,設計了一種進程控制機制,當程序進程請求數據為空時可控制進程進入等待狀態,待數據請求成功后返回請求結果。
通過本發明提出的一種數據交換與進程控制方法,解決了動態過程計算中不同程序數據交換及數據同步問題,具有很強的實用性及很高的應用價值。
第一方面,本發明提供了一種基于動態過程計算的數據交換方法,其特征在于,所述方法包括以下步驟:
步驟1:輸入初始參數;
步驟2:計算;
步驟3:數據寫入;
步驟4:數據交換;
在所述步驟3中生成交換數據唯一標識符,所述標識符的鍵結構包括:固定標識、SEND_PID、SEND_MYID、REC_PID、REC_MYID和CURRENT,其中,固定標識由5-10個字母或數據組成,SEND_PID發送數據的程序號,SEND_MYID為發送數據的進程號,REC_PID為接收數據的程序號,REC_MYID為接收數據的進程號,CURRENT表示當前交換數據在長度KLEN的位置。
作為進一步的改進技術方案,所述步驟3具體包括:
步驟31:獲取數據長度KLEN數據標識信息;
步驟32:調用數據庫連接接口;
步驟33:連接內存數據庫;
步驟34:生成交換數據唯一標識符;
步驟35:根據所述交換數據唯一標識符,將數據寫入到內存數據庫,若寫入數據jKLEN,執行步驟34,循環執行數據寫入操作,直到所需數據全部寫入。
作為進一步的改進技術方案,所述步驟4具體包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢大學,未經武漢大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211491467.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:裝配式內隔墻體及其施工工藝
- 下一篇:一種Mini-LED器件的制作方法





