[發明專利]一種實現CPU和GPU負載均衡的方法及系統在審
| 申請號: | 201410353847.8 | 申請日: | 2014-07-23 |
| 公開(公告)號: | CN104102546A | 公開(公告)日: | 2014-10-15 |
| 發明(設計)人: | 吳慶;吳韶華;張廣勇;王婭娟 | 申請(專利權)人: | 浪潮(北京)電子信息產業有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京安信方達知識產權代理有限公司 11262 | 代理人: | 王丹;李丹 |
| 地址: | 100085 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 實現 cpu gpu 負載 均衡 方法 系統 | ||
技術領域
本申請涉及計算機領域,尤指一種實現中央處理器(CPU)和圖形處理器(GPU)負載均衡的方法及系統。
背景技術
硬件系統在新技術的推動下進行著快速演進,表現出更好的性能、更低的價格。CPU和GPU在硬件系統的演進過程中扮演著重要的角色。CPU從單核不斷的向多核直至眾核發展,并隨著多核體系結構處理器的普及,應用軟件多線程的并行處理方法得到了重視。GPU除了傳統的應用(圖形顯示,多用于游戲)以外,由于其超強的浮點計算能力,越來越多地應用在數學計算上,并且逐步成為數學計算的主流。面向GPU編程的高級語言和開發工具也開始大量涌現。GPU作為CPU的協處理器,用于輔助CPU處理高并行度、高密度的計算任務,作為眾核處理器,GPU的單芯片上集成數百甚至數千處理核心,其單成本計算能力(GFLOPS/$)、單功耗計算能力(GFLOPS/W)與傳統的CPU架構相比,具有巨大的優勢。因此,在既追求計算能力,又追求計算效率的高性能計算領域,近年來GPU得到越來越廣泛的應用,并且成為高性能計算重要的發展趨勢。
然而,多核、眾核的方案,只是讓處理器獲得硬件性能上的提升,應用軟件要借此獲得性能提升,必須進行革命性的改進,才能使多核/眾核完全發揮效力。這一重大的軟硬件一體化的技術變革,就是并行計算。在高性能并行計算領域,GPU常見的應用模式是在傳統的多核CPU架構基礎上擴展GPU架構處理器,組成CPU與GPU混合的架構平臺;基于該架構平臺設計相應的軟件解決方案,使CPU與GPU能夠有效的進行協同并行計算。在CPU與GPU協同并行計算的解決方案設計過程中,涉及到一個主要的方面是CPU與GPU的負載均衡問題,這關系到能否將CPU與GPU混合架構平臺的計算性能發揮到極致。
目前,在CPU與GPU混合架構平臺上,CPU與GPU協同并行計算常見的負載均衡方式有完全動態負載均衡和完全靜態負載均衡。其中,動態負載均衡,是指各計算設備根據自身實際計算能力,采用“能者多勞”的策略,實時、動態、自主的任務負載分配方式,動態負載均衡靈活高效,但是對算法要求嚴格,要求各計算任務彼此完全獨立無依賴,從而可被并行處理;靜態負載均衡,是指各計算設備根據預先設定的、固定不變的任務負載分配比例分配計算任務,靜態負載均衡實現簡單,但缺乏靈活性和適應性。這兩種負載均衡方式各有局限性,并不適用所有場合,例如,各基本計算任務的輸入和預處理有重疊和冗余的高性能并行計算場合,完全動態負載均衡會導致大量的冗余輸入和預處理,造成引入的額外開銷過大,從而整體效率不佳;而完全靜態負載均衡,能最大限度地避免輸入和預處理的冗余,但卻無法根據實際運行情況,實時動態地調整計算任務分配比例,嚴重缺乏靈活性和適應性,使用效果也不好。
綜上,完全動態負載均衡的算法局限性,和靜態負載均衡的缺乏靈活性和適應性,影響了CPU與GPU協同并行計算的性能的發揮。
發明內容
為了解決上述問題,本發明提供一種實現CPU和GPU負載均衡的方法及系統,實現CPU與GPU協同并行計算。
為了達到本發明的目的,本申請提供一種實現CPU和GPU負載均衡的方法;包括:
獲取系統當前配置的計算設備信息、物理內存及其他資源相關信息;
根據獲取的計算設備信息、物理內存及其他資源相關信息,確定啟動的計算設備的種類及數量;
根據啟動的計算設備的種類及數量,創建相應的計算設備的控制線程,以實現各計算設備獨立、并行運行;
所述計算設備包括:中央處理器CPU,和/或圖形處理器GPU。
進一步地,獲取當前系統配置的計算設備信息、物理內存及其他資源相關信息具體包括:按照創建的數據結構對象獲取當前系統配置的計算設備信息、物理內存及其他資源相關信息。
進一步地,該方法之前還包括:
對主線程的輸入參數、中間數據內存空間、輸出數據內存空間及其他作業任務相關參數進行初始化后,檢測系統的計算設備和物理內存資源,根據檢測的系統的計算設備和物理內存資源創建相關的數據結構對象并進行初始化。
進一步地,計算設備信息、物理內存及其他資源相關信息至少包括:
CPU硬件核數及邏輯核數,以及判別CPU是否開啟了超線程,
和GPU硬件設備數、及硬件設備類型及相關參數,
和系統內物理內存總量、實時空閑內存總量,以提供給控制單元確定單次處理的作業的規模,即作業分塊的大小,以及緩沖區的數量及大小。
進一步地,根據啟動的計算設備的種類及數量,創建相應的計算設備的控制線程具體包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮(北京)電子信息產業有限公司,未經浪潮(北京)電子信息產業有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410353847.8/2.html,轉載請聲明來源鉆瓜專利網。





