李瑞林+周亦敏



摘要:隨著技術的發展,基于異構的CPU-GPU計算系統成為高性能計算趨勢。但是,異構計算面臨著擴展性、負載均衡等問題。提出了一個集群調度模型,并結合GPU虛擬化運行,設計了分層集群資源管理框架,該框架允許異構CPU-GPU集群有效利用。實驗結果表明,通過利用有效資源,調度框架無論是在應用程序吞吐量還是延遲上都優于現有批處理調度程序關鍵詞:高性能計算;異構CPU-GPU集群;ARM;調度模型DOI:10.11907/rjdk.162656中圖分類號:TP303文獻標識碼:A 文章編號:16727800(2017)0040022030引言 基于CPU-GPU的異構計算系統逐漸成為HPC領域新的研究方向,許多基于 CPU-GPU 的異構計算機系統應用表現出良好性能。但是,由于各種原因制約,異構高性能計算仍然面臨許多問題,其中主要的問題是開發程序困難,特別是擴充到集群規模層時這個問題尤為突出。傳統的集群資源管理有一定性能限制:如負載不均衡、GPU共享資源有限、有限的GPU虛擬化等,往往不方便配置調度策略。最佳調度策略依賴于性能目標、集群硬件、軟件配置與應用程序等。因此,集群調度管理在異構環境中顯得尤為重要。 本文設計一個新的集群調度模型,并將其與節點層GPU虛擬運行整合。這個模型能夠很好地利用異構CPU-GPU集群[14]各自的優勢,可自行配置,管理員能夠輕松定義調度策略,滿足集群配置、應用程序以及用戶目標。1集群調度 本文提供一種有效的CPU-GPU集群調度模型。異構環境需要在兩次粒度上進行調度:①任務要被映射到計算節點上(粗粒度調度);②特定庫的調用要映射到GPU集群上(細粒度調度)。為了使它具有可擴展性,要設計一個異構環境。 集群調度[56]主要目標是:①運行集群調度策略;②運行節點層組件;③允許管理員自行定義調度策略。1.1調度結構 圖1是集群調度模型框架[78]。該框架的下層實現集群要求的通信機制調度程序以及用戶與節點層運行時的交互。接口提供了Socket與節點內通信、共享內存與節點內通信。調度組件包括調度API、(用戶自定義)共享庫調度策略、數據結構存儲和集群相關信息的訪問。1.2調度API 表1顯示調度API的主要原始事項,管理員必須創建自定義調度庫。調度接口提供兩個機制:API和回調函數[9]。〖JP〗 API函數:允許API函數(見表1)查詢節點狀態、分配執行工作節點、收集分析信息等。API函數分為3類:一般API、節點層運行管理API、作業和隊列管理API;通用API進行調度庫維護工作;節點層管理的API函數可以相互控制在組件節點層上,具有查詢和管理功能;作業和隊列管理API函數任務調度的目的是為了限制資源,將上述信息收集分配給當前運行的作業,然后在特定節點上安排運行。
2集群調度策略 提出兩種調度策略:①異構CPU-GPU集群調度;②減少延遲[1011]。前者目的是在共享通信之間使整體吞吐量最大化;后者盡量縮短等候時間。2.1集群調度庫 現代高性能計算集群配備有多個節點的GPU,它提高了節點的整體性能和利用率,但降低了隊列作業時間。 在3個節點、3個應用程序進行實驗,執行8個進程集群。每個實驗必須使用測試進程映射1-3個節點,每個節點包含2-4 GPU。圖2顯示性能的3個指標與8個運行應用程序在不同的節點配置,顯示出執行時間有不同的映射策略。每個節點上的進程數在地圖上顯示在方括號內。 MM和NW是通信密集型應用程序,而ADFA是計算密集型應用程序。從圖中可以看出,通信密集型[12]的應用程序不能擴展到更多節點,而一個計算密集應用程序已經分配了多個大規模的性能節點。2.2延遲減少調度 通過利用GPU的共享提高整體的吞吐量。如在圖2中發現應用程序有不同的運行時間:MM和NW是短期運行的作業,而ADFA是長期運行,這些應用程序在運行時隔離。當不同的作業競爭資源時,長時間運行的作業會嚴重降低性能。具體來說,短期作業和長期作業以同樣的方式可能會造成資源利用不公平。2.3節點層運行 節點層的運行時間用一個靈活的調度來虛擬化[1316],最終用戶在GPU上能重現映射過程。 圖3顯示節點層運行時的狀態,由連接管理器、背景隊列、調度、虛擬的GPU、內存管理器和隊列監視器等組成。3實驗結果3.1實驗設置 兩個集群實驗配置:8個工作站集群各配備一個四核CPU和一個低端的GPU,高端集群包括3個HPC服務器,每個配備有超線程8或12核CPU,2至4的NVIDIA GPU。3.2異構負載實驗 對CPU-GPU異構工作時的負載方案進行評估。構造一個批處理調度庫模擬轉矩,在一個循環方式下分配各項工作GPU,而不在節點層的GPU上共享。 圖4、圖5顯示標準吞吐量、平均質量及服務性能。通過改善公平性,減少延遲調度策略,合理調度長期和短期運行作業,提高了平均服務質量,同時增大了吞吐量。4結語 通過研究典型的集群調度模型[17],提出了一種基于異構CPU-GPU集群的分層調度框架。系統包括調度API,允許管理員自定義集群級調度策略和配置,在節點層使用共享和調度方案。提出兩個集群級調度方案(GPU共享和減少延遲調度),使用兩種異構集群和計算密集型應用程序對其進行測試。研究結果表明,調度模型改進了傳統的間歇調度情況,有一定實用價值。參考文獻:[1]陳鋼.眾核GPU體系結構相關技術研究[D].上海:復旦大學,2011.[2]吳佳駿.多核多線程處理器上任務調度技術研究[D].北京:中國科學院計算技術研究所,2006.[3]M BECCHI,K SAJJAPONGSE,I GRAVES,et al.A virtualmemory based runtime to support multitenancy in clusters with GPUs[C].In Proceedings of the 21st internationalsymposium on HighPerformance Parallel and Distributed Computing,Delft,The Netherlands,2012:97108.[4]V T RAVI,M BECCHI,W JIANG,et al.Scheduling concurrent applications on a cluster of CPUGPU nodes[C].In Proceedings of the 12th IEEE/ACM International Symposium on Cluster,Cloud and Grid Computing(CCGRID),2012:140147.[5]耿曉中.基于多核分布式環境下的任務調度關鍵技術研究[D].長春:吉林大學,2013.[6]朱福喜,何炎祥.并行分布計算中的調度算法理論與設計[M].武漢:武漢大學出版社,2003:6068.[7]KITTISAK SAJJAPONGSE,TEJASWI AGARWAL,MICHELA BECCHI.A flexible scheduling framework for heterogeneous CPUGPU clusters[EB/OL].https://www.researchgate.net/profile/Kittisak_Sajjapongse.[8]吳恩華,柳有權.基于圖形處理器(GPU)的通用計算[J].計算機輔助設計與圖形學學報,2004,16(5):601612.[9]V T RAVI,M BECCHI,G AGRAWAL,et al.ValuePack:valuebased scheduling framework for CPUGPUclusters[C].In Proceedings of the International Conferenceon High Performance Computing,Networking,Storage and Analysis(SC),Salt Lake City,Utah,2012:112.[10]SALAMY H,RAMANUJAM J.An effective solution to task scheduling and memory partitioning for multiprocessor systemonchip[J].IEEE Transactions on ComputerAided Design of Integrated Circuits and Systems,2012,31(31):717725.[11]何琨,趙勇,黃文奇.基于任務復制的分簇與調度算法[J].計算機學報,2005,31(5):733740.[12]J D OWENS,M HOUSTON,D LUEBKE,et al.GPU computing[J].Proceedings of the IEEE,2008,96(5):879899.[13]虛擬化與云計算小組.虛擬化與云計算[M].北京:電子工業出版社,2009.[14]王鵬,呂爽,聶治,等.并行計算應用及實戰[M].北京:機械工業出版社,2009:6263.[15]J DUATO,A J PENA,F SILLA,et al.Enabling CUDA acceleration within virtual machines using rCUDA[C].In Proceedings of the 2011 18th International Conference on High Performance Computing,2011:110.[16]吳佳駿.多核多線程處理器上任務調度技術研究[D].北京:中國科學院計算技術研究所,2006.[17]金勝男.基于異構的靜態任務調度策略研究[D].哈爾濱:哈爾濱工程大學,2012.(責任編輯:杜能鋼)