《異構GPU集群混合粒度任務協同調度與動態均衡機制研究》是依託南開大學,由李濤擔任項目負責人的青年科學基金項目。
基本介紹
- 中文名:異構GPU集群混合粒度任務協同調度與動態均衡機制研究
- 項目類別:青年科學基金項目
- 項目負責人:李濤
- 依託單位:南開大學
中文摘要,結題摘要,
中文摘要
GPU集群計算技術是目前國內外高性能計算研究的熱點,對生物、金融、氣象等需要進行大規模數據處理的領域具有重要意義。雖然通用並行計算架構如CUDA能夠有效地發揮GPU的計算能力,但這些加速(協)處理器的使用帶來了新的通信和存儲等問題,使GPU集群整體的計算能力難以得到高效利用。本課題從計算、通信和存儲三方面考慮與性能相關的體系結構因素,建立適用於異構GPU集群的性能模型;通過分析GPU集群上典型套用的計算模式,提出面向異構GPU集群的混合粒度任務模型,在此基礎上實現任務協同調度與動態均衡機制;基於分散式數據管理機制和高效通信機制實現支持多種調度策略的高性能計算框架,並採用大規模計算問題進行效能測試與調優。課題針對GPU帶來的新結構特徵和編程模型,從提高異構GPU集群計算效能角度提出混合粒度任務調度與動態均衡機制,為異構GPU集群大規模計算研究和套用提供新思路和方法。
結題摘要
異構GPU集群在大規模數據處理領域中發揮著重要作用。為了提高異構CPU-GPU計算平台的計算效能,需解決任務劃分和組織方式、任務均衡機制、任務轉移策略以及通信機制等方面的問題。 本課題首先將異構CPU-GPU計算平台套用到機器學習領域中,在實際套用中發現異構GPU集群計算時存在的問題並思考解決方法。本課題提出了基於混合編程模型的支持向量機訓練並行化和CPU-GPU異構計算環境下的並行T近鄰譜聚類算法PSCH,實現了計算任務的合理劃分,取得了良好的加速效果。 第二,本課題研究了異構系統上的任務調度算法,提出了表調度和任務複製相結合的任務調度算法CEFT。為了提升計算任務在多節點異構平台上的性能,把科學計算套用劃分成多個細粒度任務,根據任務之間的數據依賴關係建立DAG,利用CEFT可以減少處理器之間的通信開銷進而提高計算性能。 第三,為了解決異構GPU集群中任務調度與負載均衡方面的問題,本課題深入研究了CPU-GPU異構NUMA體系結構,明確提出了共享記憶體式GPU程式設計概念,並利用頁鎖定記憶體的共享特性,以異構CPU-GPU的NUMA屬性為切入點提出了支持CPU-GPU低互動開銷任務調度的CAGTP模型。該模型通過細粒度的CPU-GPU任務互動以及GPU端高效的細粒度任務並發,使異構CPU-GPU系統可以高效處理相對複雜的DAG套用,並且在處理複雜依賴關係的任務時能夠充分利用GPU端資源。 第四,為了將已有的GPU套用代碼轉換為CAGTP任務,本課題首次提出了一種可將PTX層代碼轉換為CUDA C層代碼的工具,即PTX2Kernel代碼轉化器。PTX2Kernel可將PTX代碼轉換成容易編譯的CUDA C層kernel,以較少的工作量使CAGTP可以利用第三方高性能計算庫的代碼,從而使CAGTP模型不僅僅停留在理論層面,而具有了重要的使用價值。 本課題線上性代數、機器學習等方面進行了實驗驗證,結果表明CAGTP模型線上性代數乘、楚列斯基分解、T近鄰譜聚類算法等套用中取得了良好的效果;CEFT算法相比PEFT、HDCPD以及HEFT等調度算法具有更高的性能。同時,本課題利用異構CPU-GPU計算平台實現了支持向量機、譜聚類、多目標追蹤、疾病表型與基因集關係推斷、字元識別和文本區域標識等套用的高性能求解。