「集諦」是一款內置於阿里雲彈性高性能計算(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端的計算負載,能夠大幅提升軟體的執行效率。

總結

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

雲伺服器99元拼團購!拉新還可贏現金紅包!300萬等你瓜分!

馬上一鍵開團贏紅包: click.aliyun.com/m/1000

本文作者:慕笛

原文鏈接

更多技術乾貨敬請關注云棲社區知乎機構號:阿里云云棲社區 - 知乎

本文為雲棲社區原創內容,未經允許不得轉載。

推薦閱讀:

相关文章