阿里雲超算集諦優化GPU異構並行性能:GROMACS 頂 原

摘要: 阿里雲超算集諦優化GPU異構並行性能:GROMACS

“集諦”是一款內置於阿里雲彈性高性能計算(Elastic High Performance Computing,E-HPC)的雲上性能監控與分析引擎,支持集羣資源利用情況的實時監控和用戶作業運行情況的在線分析。對於採用GPU加速的異構計算應用場景,“集諦”除了監控節點host端資源外還能監控GPU device端的資源利用情況,給出GPU利用率、顯存利用率和PCI-E數據傳輸帶寬等性能指標隨時間的變化,幫助用戶更好得了解應用運行狀態,指導應用改進。

分子動力學(Molecular Dynamic,MD)模擬是一種基於經典牛頓力學建立分子結構模型,對分子及分子體系的結構和性質進行研究分析的計算機模擬方法,是人類打開微觀運動世界的鑰匙。作爲高性能計算領域的重要研究方向之一,分子動力學模擬在新材料研製、化學工業模擬、生物醫藥等多個領域被廣泛應用,相關研究成果多次入選美國三大工程獎之一的戈登貝爾獎。分子動力學模擬包含了大量分子間相互作用力的計算,計算過程密集且規整,因此非常適合使用CPU向量運算部件和GPU卡進行加速。目前主流的幾款分子動力學模擬軟件GROMACS、NAMD、LAMMPS均可以採用GPU卡來加速其核心計算過程。下圖給出的使用分子動力學模擬方法後得到的生物大分子構型的演變。

對GPU資源的充分利用是分子動力學軟件獲取理想模擬效率的關鍵。本文以GROMACS爲例,使用“集諦”對其運行時性能特徵進行多方位展示,分析當前性能瓶頸,從而對軟件性能進行優化。

“集諦”GPU性能監控介紹

節點維度:“集諦”按照用戶選取的節點構造出多個座標平面,每個座標平面對應展示一個節點的GPU資源利用情況。其中,節點內不同GPU卡的性能數據以時間爲橫軸展示在同一個座標平面內。這種節點維度的呈現方式有利於用戶對比節點內不同GPU卡間的負載情況。

指標維度:“集諦”根據用戶選取的GPU子設備和性能指標構造出多個座標平面,每個座標平面對應展示某一GPU子設備&某一性能指標上不同節點的性能表現,方便用戶對比節點間的GPU負載情況。

“集諦”指導GROMACS性能優化

本文在ecs.gn5實例(8 core,16 vCPU,120GB內存,2 P100)上運行分子動力學軟件GROMACS的GPU版本,並使用“集諦”監控軟件執行過程中的系統資源利用情況。

節點維度:

指標維度:

從上圖可以看出:

  1. CPU利用率持續保持在85%以上
  2. GPU利用率在45%到70%之間,並且波動較大
  3. GPU顯存利用率在25%左右
  4. GPU設備PCI-E傳輸帶寬基本不超過2GB/s

由此可見,CPU端計算資源接近用滿,負載較重;而GPU端計算資源、顯存和PCI-E帶寬均未達到瓶頸,尚有進一步可用的空間。GROMACS軟件本身採用“CPU+GPU”的主從協同計算模式,CPU和GPU任一端的性能瓶頸都會拖慢軟件的整體性能。因此爲了提升GROMACS的軟件執行效率,我們選擇將CPU端的PME計算過程進一步offload到GPU端。通過這種方式,我們在減少CPU端計算任務的同時又充分利用了GPU端的計算資源,從而使CPU和GPU兩端的計算負載更加均衡。完成該步優化後,我們再次使用“集諦”監控GROMACS執行過程中的系統資源利用情況。

節點維度:

指標維度:

從上圖可以看出,在將PME計算過程offload到GPU端之後:

  1. CPU利用率降到30%~35%之間
  2. GPU利用率基本穩定在70%以上,並且波動較小
  3. GPU顯存利用率提升到50%以上
  4. GPU設備PCI-E傳輸帶寬達到3GB/s以上
  5. 相同任務量下,執行時間降爲優化前的50%
    由此可見,對於採用“CPU+GPU”主從加速模式的軟件,通過平衡CPU端和GPU端的計算負載,能夠大幅提升軟件的執行效率。

總結

集諦能夠從計算、內存、網絡、磁盤、加速卡等方面系統地監控集羣資源的利用情況並系統地展示給用戶,方便用戶進行多方位地對比分析,幫助用戶迅速定位性能瓶頸,從而爲用戶應用程序的改進提供指導。

阿里雲雙十一1折拼團活動:已滿6人,都是最低折扣了

【滿6人】1核2G雲服務器99.5元一年298.5元三年 2核4G雲服務器545元一年 1227元三年

【滿6人】1核1G MySQL數據庫 119.5元一年

【滿6人】3000條國內短信包 60元每6月

參團地址:http://click.aliyun.com/m/1000020293/

原文鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章