[發明專利]一種任務處理方法及裝置在審
| 申請號: | 201710483201.5 | 申請日: | 2017-06-21 |
| 公開(公告)號: | CN107273339A | 公開(公告)日: | 2017-10-20 |
| 發明(設計)人: | 劉姝;黃雪 | 申請(專利權)人: | 鄭州云海信息技術有限公司 |
| 主分類號: | G06F17/16 | 分類號: | G06F17/16;G06F9/50;G06F9/54 |
| 代理公司: | 北京安信方達知識產權代理有限公司11262 | 代理人: | 李紅爽,李丹 |
| 地址: | 450018 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 任務 處理 方法 裝置 | ||
技術領域
本發明屬于高性能計算領域,尤其涉及一種任務處理方法及裝置。
背景技術
隨著大數據時代的不斷發展,大規模數據對于科學計算與科學統計起著關鍵作用,而矩陣乘是大型科學計算中較為普及的一種算法。并且隨著數據集的增加和計算復雜度的提升,科學實現中對算法性能的要求也越來越高,算法性能的提升對推進工程、項目的研究進度起著至關重要的作用,而限于計算機硬件資源內存、計算速度等的限制,對于完成某個大規模矩陣的運算,單臺機器上實現往往需要數十天甚至數月的時間,并且對于內存容量較小的計算平臺,其能力不足以支撐大規模數據集的存儲,嚴重情況下往往會導致程序的崩潰,從而限制了大規模數據集計算的實現。
傳統的矩陣算法實現一般基于單個計算節點上各矩陣元素的乘積依次求和,且采用串行的計算方式,即順序讀取數據,等待前一步計算完成才開始下一步的計算。假如所要計算的矩陣規模為上萬階,采用串行方式實現兩個矩陣相乘法所帶來的時間復雜度及所消耗的成本可想而知。
因此,迫切需要提供一種高效、低成本的任務處理方案來解決上述技術問題。
發明內容
本發明提供一種任務處理方法及裝置,以解決上述問題。
本發明實施例提供一種任務處理方法。上述方法包括以下步驟:通過多個數據節點并行讀取對應的矩陣子數據集并分別將所述矩陣子數據集的計算任務劃分為多個子任務即多個子矩陣塊;
所述數據節點將所述子矩陣塊分配至對應的計算節點并由所述計算節點執行并行計算。
本發明實施例提供一種任務處理裝置,包括讀取模塊、劃分模塊、分配計算模塊;其中,所述讀取模塊通過所述劃分模塊與所述分配計算模塊相連;
所述讀取模塊,用于通過多個數據節點并行讀取對應的矩陣子數據集;
所述劃分模塊,用于分別將所述矩陣子數據集的計算任務劃分為多個子任務即多個子矩陣塊;
所述分配計算模塊,用于將所述子矩陣塊分配至對應的計算節點并由所述計算節點執行并行計算。
通過以下方案:通過多個數據節點并行讀取對應的矩陣子數據集并分別將所述矩陣子數據集的計算任務劃分為多個子任務即多個子矩陣塊;所述數據節點將所述子矩陣塊分配至對應的計算節點并由所述計算節點執行并行計算即文件的并行讀取和任務的并行執行,實現了高效、低成本的任務處理,大大增強了用戶體驗。
通過以下方案:所述子矩陣塊包含大于1的行數且行數為連續,使得計算節點將計算結果一次性發送給數據節點,減少了通信次數,從而減少通信開銷。
附圖說明
此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
圖1所示為本發明實施例1的任務處理方法流程圖;
圖2所示為本發明實施例2的設計架構圖;
圖3所示為本發明實施例3的主從進程任務分配實施過程圖;
圖4所示為本發明實施例4的任務處理裝置結構圖。
具體實施方式
下文中將參考附圖并結合實施例來詳細說明本發明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
圖1所示為本發明實施例1的任務處理方法流程圖,包括以下步驟:
步驟101:通過多個數據節點并行讀取對應的矩陣子數據集并分別將所述矩陣子數據集的計算任務劃分為多個子任務即多個子矩陣塊;
進一步地,通過多個數據節點并行讀取對應的矩陣子數據集的過程為:
多個數據節點分別通過對應的數據讀取主進程打開存放矩陣的文件,返回一個文件句柄;
計算每個數據讀取主進程對應的矩陣文件中的偏移量,獲得每個數據讀取主進程所要讀取的矩陣子數據集在矩陣文件中的邏輯位置;
所述數據讀取主進程根據所要讀取的矩陣子數據集在矩陣文件中的邏輯位置,讀取對應的矩陣子數據集。
優選地,多個數據節點并行讀取對應的矩陣子數據集后,存儲于內存中。
進一步地,所述數據節點根據計算節點數量,將所述矩陣子數據集平均劃分為多個子矩陣塊并發送至對應的計算節點。
優選地,所述子矩陣塊包含大于1的行數且行數為連續。
若所述數據節點讀取的矩陣子數據集的行數為M,計算節點個數為child_process,則分配每個計算節點per_rank=M/child_process行,
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710483201.5/2.html,轉載請聲明來源鉆瓜專利網。





