[發明專利]一種基于Mapreduce的多GPU協同計算方法有效
| 申請號: | 201210102834.4 | 申請日: | 2012-04-10 |
| 公開(公告)號: | CN102662639A | 公開(公告)日: | 2012-09-12 |
| 發明(設計)人: | 呂相文;袁家斌;曾青華 | 申請(專利權)人: | 南京航空航天大學 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 南京經緯專利商標代理有限公司 32200 | 代理人: | 艾中蘭 |
| 地址: | 210016 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 mapreduce gpu 協同 計算方法 | ||
技術領域
本發明涉及一種基于Mapreduce的多GPU協同計算方法,所屬計算機軟件應用領域。
背景技術
近年來在硬件技術推動下,圖形處理器(GPU)的計算能力和可編程能力得到快速的發展,具有高度并行化計算的特點使得GPU不再局限于日常的圖形處理任務,開始涉及更為廣泛的高性能通用計算(GPGPU)領域。因為GPU擁有高性能的多處理器陣列與高帶寬、隱藏延遲的顯存系統,這使得在大量重復數據集運算和密集內存存取的計算應用上,GPU具有比傳統CPU更具優勢。而且常用數據和程序的計算都需要靠CPU來完成,對用戶而言,如果過多的占用CPU的時間會使得用戶運行大型程序或者進行比較大的數據計算時感覺計算機很慢,降低系統性能;GPU在普通用戶中主要用于游戲或圖形的計算,空閑時間明顯多于CPU,因此適度使用GPU會帶來良好的效果,即降低了CPU的占用時間,又能使處于過度空閑的GPU得到充分利用。
同樣在高性能并行計算領域得到關注的熱點是MapReduce海量數據處理框架,通過廉價的普通計算機集群我們能得到過去只有昂貴大型服務器才擁有的大規模數據計算能力,而且在穩定性和擴展性等方面比后者更好。現在MapReduce模型被應用于天文信息計算處理、海量病例存儲分析、病毒庫存儲、網絡檢索服務等方面,解決數據爆炸式增長與計算機存儲能力和計算能力不足之間的矛盾。
到目前為止很多對這兩方面的研究都局限在某些方面,如針對單臺計算機GPU協助CPU對算法和程序進行加速以及由多臺計算機GPU組成的集群來進行分布式計算,不可否認這些方面都取得相當大的進展,但不足也是存在的。在面對規模越來越大的游戲和程序時單臺計算機GPU加速并不能帶來多么大的改觀,數據海量的增長和計算機的計算能力之間的矛盾不會得到解決;同樣普通分布式計算機GPU集群雖然在計算能力方面很不錯,但是一旦出現節點故障或其他的問題,整個集群的性能會受到很大的影響:還有MapReduce模型進行Map和Reduce操作時需要頻繁的CPU進行計算,有時甚至CPU占用率為百分之百,因此也非常必要使用GPU的參與來平衡系統的計算能力。
發明內容
由于MapReduce模型進行Map和Reduce操作時需要頻繁的CPU計算,面對大量并行計算任務時,CPU占用率甚至達到百分之百。而GPU有比CPU更好的數據寬度和并行計算能力,適度使用GPU,即降低了CPU的占用時間,又能使用GPU的參與來平衡系統的計算能力。
本發明的目的是結合GPU技術和MapReduce技術的不同優勢,在MapReduce并行編程的基礎上,使用GPU的參與來平衡系統的計算能力,最終提供一種通過GPU計算和MapReduce技術融合編程模型支持大規模分布式并行計算的方法。
本發明所述的一種基于Mapreduce的多GPU協同計算方法,包括以下幾個步驟:
1)首先,客戶端向管理階段傳遞任務請求。
2)然后,管理階段中的命名節點NameNode負責管理文件系統的命名空間、計算階段集群配置信息、存儲塊的位置等信息;工作追蹤器JobTracker負責對計算任務進行啟動和調度,并且能實現跟蹤任務的執行情況和計算階段的狀態。
3)在計算階段中:
①數據節點DataNode接收到來自命名節點NameNode的讀寫請求后,調用CPU,對海量數據進行讀取掃描,再水平劃分,分成M個固定大小的數據子集splits片段,M為自然數,通常其大小是根據計算系統中計算節點的個數以及數據劃分結果所決定;
②空閑CPU的任務追蹤器TaskTracker向工作追蹤器JobTracker請求任務并得到響應之后,對M個數據子集split進行格式化,進一步分解成一批鍵/值對<key1,value1>;
③空閑GPU的任務追蹤器TaskTracke向工作追蹤器JobTracker請求任務并得到響應之后,對輸入的每一個數據子集split,創建一個Map任務,將對應split中的每個記錄<key1,value1>對作為輸入并進行掃描,并將其針對GPU特定算法進行格式化,使用GPU的CUDA庫實現一個局部組合器Combiner,產生并輸出中間<key2,value2>鍵/值對;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京航空航天大學,未經南京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210102834.4/2.html,轉載請聲明來源鉆瓜專利網。





