■原文 More bang for your buck: Improved use of GPU nodes for GROMACS 2018, DOI: 10.1002/jcc.26011[1]■翻譯: 劉玉傑; 校對: 李繼存
摘要我們確定了在Linux計算集群上, GROMACS 2018程序運行分子動力學(MD)模擬的最佳硬體. 因此, 我們在各種計算節點上對GROMACS性能進行了基準測試, 並將其與節點成本聯繫起來, 其中的成本可能也包括能源和冷卻成本. 與我們早先使用GROMACS 4.6在2014年的硬體上進行的調查一致, 消費級GPU節點的性價比遠高於CPU節點. 然而, 在GROMACS 2018中, CPU到GPU處理能力的最佳平衡更多地轉向了GPU. 因此, 與針對舊GROMACS版本優化的節點相比, 針對GROMACS 2018及更高版本進行優化的節點具有更高的性價比. 而且, 向GPU處理的轉移使得使用新GPU升級舊節點變得更便宜, 得到的性能與類似的全新硬體基本相同.
引言分子動力學(MD)模擬是一種成熟的計算工具, 用於從物理學的角度, 在原子水平上研究和理解生物分子的功能. 一個溶劑化分子的模擬系統可以由數千到數百萬個原子組成, 具體取決於它是一個小的蛋白質還是像核糖體[1]或病毒外殼[2]這樣大的複合物. 為了在生物相關的時間尺度上得出原子運動的時間演化, 需要計算數百萬個時間步. 為了得到具有統計學意義的結果, 此過程通常要在不同起始條件下重複多次. 因此, 研究單個生物分子系統就很容易佔用多個現代計算節點, 運行數周, 而一個進行MD計算的典型研究小組的所有模擬項目需要一個中型計算集群不間斷地運行.
無論所需的集群硬體是由使用它的部門購買, 還是使用高性能計算(HPC)中心的服務, 最終必須有人決定購買什麼. 這個決定並不簡單, 因為可用的硬體是多種多樣的. 節點具體應該如何? 節點是應該擁有多個弱計算核心, 還是擁有較少的強計算核心? 多套節點是否比單套節點更好? 每個GPU需要多少個CPU核心? 哪種GPU類型是最佳的? 內存與節點間的連接呢?
專為不同軟體應用設計的全方位集群節點通常包含高端CPU, 具有雙精度浮點性能很高的GPU, 大的內存和昂貴的互連. 同時滿足這些需求的結果是每個應用程式的計算性能與節點價格的比值非常低. 我們的方法完全相反: 通過具體化來實現成本效益的最大化. 我們只關心一種特定的應用, 即MD, 並尋找在固定預算下能夠獲得最高模擬吞吐量的硬體, 這是通過在硬體的使用壽命內能夠產生的軌跡的總長度來衡量的.
可用於生物分子模擬的MD代碼有很多, 其中包括ACEMD[3], Amber[4], CHARMM[5], Desmond[6], LAMMPS[7], NAMD[8], OpenMM[9]和GROMACS[10]. 我們使用GROMACS, 因為它是最快的MD引擎之一, 使用廣泛且免費.
我們的基本問題是: 在預算固定的情況下, 我們如何才能產生儘可能多的MD軌跡? 因此, 我們測量典型生物分子MD體系的模擬性能並確定相應的總硬體價格. 我們並沒有針對當前的可用硬體進行全面評估, 我們僅僅是為了發現具有卓越性價比的硬體, 這是本研究中使用的效率指標, 用於GROMACS 2018版本的MD代碼.
由於我們的研究優先考慮生成軌跡的效率和總吞吐量(假設有大量並發模擬), 因此我們不考慮生成單個軌跡儘可能快的用例. 而後者也可能很重要, 例如, 在探索性研究中, 更快的模擬需要很強的標度行為, 這總是要付出代價的, 因為模擬速度和並行效率之間具有內在的權衡. 同時, 運行大量的獨立或耦合不強的模擬是一個廣泛使用並日益重要的用例. 由於模擬性能的不斷提高, 許多優化過的MD代碼(如GROMACS)即使沒有大規模並行化, 軌跡的生成速率也很高. 此外, 以前需要生成很長軌跡的問題現如今通常藉助系綜方法, 使用大量更短的軌跡來替代[11-15]. 因此, 具有單個快速互連的大型計算資源通常並不是必須的. 相反, 在這些實例中, 理想硬體是具有快速"孤島"並且相互間具有更適度的互連. 事實上, 在這樣的機器上, 某些情況下可以獲得很快或更快的結果, 更重要的是, 可以獲得更具成本效益的結果. 在我們的案例中, 考慮到當前的硬體限制和軟體特性, 出於最終效率的原因, 快速"孤島"由一組CPU核心和單個GPU表示.
除了性價比之外, 在評估系統時, 我們還考慮到以下兩個標準: (1) 能耗, 因為它是軌跡成本的最大來源之一; (2) 機架空間, 這在任何伺服器機房都是有限的. 在本文的一個章節中我們單獨介紹了能耗, 而我們的硬體預選則隱含地考慮了空間要求; 對要考慮的伺服器節點, 我們要求機架空間中的平均堆積密度至少為每高度單位U一個GPU: 具有4個GPU的4U伺服器符合標準.
在使用GROMACS 4.6和2014年硬體的早期調查中[16], 我們發現優化的集群的模擬吞吐量通常是傳統集群的兩到三倍. 自2014年以來, 硬體一直不斷發展, 並且以及對基本算法經進行了改進. 因此, 使用兩個完全相同的MD測試系統, 我們更新原先的調查結果, 向讀者指出對GROMACS 2018而言能獲得最佳性價比的當前硬體[10, 17].
我們專注於硬體評估而不是如何優化GROMACS的性能, 因為對後者已經進行了廣泛的討論[16]. 如果沒有額外說明, 我們原始論文中給出的大多數性能建議仍然有效. 有關特定GROMACS版本的特殊說明, 請參見在線用戶指南[2]中 Getting good performance from mdrun 這一部分。
GROMACS負載分配方案GROMACS使用各種機制對可用資源上的計算工作進行並行化, 以便能獲得最佳的硬體性能[10, 18]. 共享MD體系計算的進程(稱為rank)是通過消息傳遞接口(MPI)庫進行通信的, 每個rank可以包含多個OpenMP線程. 如果可以, 每個rank可以有選擇地在GPU上計算庫侖和範德華相互作用(對勢)的短程部分; 這個過程稱為卸載, 如圖5所示. 庫侖相互作用的長程部分使用粒子網格Ewald(PME)方法[19]進行計算, 該方法可以只使用一部分rank進行以提高並行效率. 從2018版開始, PME也可以卸載到單個GPU上進行. 在並行化層次結構最低的級別上, 幾乎所有對性能敏感的代碼都利用了SIMD(單指令多數據)並行性.
2014年調查總結為了說明過去五年中在實現方面和硬體方面的進步, 我們總結了先前調查的以下要點.
在我們最初的調查中[16], 對由12個CPU和13個GPU型號構成的超過50種不同的節點配置, 我們確定了硬體價格和GROMACS 4.6的性能. 特別是, 我們將消費級GPU與專業GPU進行了比較. 像NVIDIA的Tesla和Quadro型號的專業GPU通常用於計算機輔助設計, 計算機圖像生成以及HPC. 消費級GPU, 如GeForce系列, 主要用於遊戲. 它們便宜得多(最高差價達1000歐元, 而專業卡則高達幾千歐元), 而且缺乏專業型號所提供的一些功能, 如內存和雙精度浮點性能.
我們的兩個主要基準系統(我們在本研究中繼續使用), 第一個含有一個80 k原子的膜蛋白, 嵌入脂質雙層中, 周圍是水和離子(MEM); 第二個含有一個2 M原子的核糖體, 以及水和離子(RIB). 具體細節請參見表1. 對每個硬體配置, 我們通過掃描並行化的參數, 如MPI rank數, OpenMP線程數和單獨PME rank數, 確定了每個系統運行單個模擬的最快設置.
表1: MD基準系統. 我們的主要基準測試是利用全原子MEM和RIB體系完成的,而為了比較,我們還使用Martini力場測試了兩個粗粒化體系(VES和BIG)
MD體系MEM[20]RIB[1]VES[21]BIG粒子數81,7432,136,41272,0762,094,812體系尺寸(nm)10.8×10.2×9.631.23322.2×20.9×18.4142.4×142.4×11.3時間步長(fs)243020截斷半徑(nm)1.01.01.11.1PME網格間距(nm)0.120.135––圖1: 我們以前調查的摘要, 節點基於2014年的可用硬體, 使用GROMACS 4.6進行測試[16]. 三種不同類型節點的硬體成本與MEM基準性能(圓)的比較: 純CPU節點(橙色), 具有專業Tesla GPU的節點(紫色)和具有消費級GeForce GPU的節點(綠色). 虛線將GPU節點與其CPU連接起來. 由彩色線連接的圓圈表示由該節點類型構建的集群, 圓圈中的數字表示這些節點中有多少參與了基準測試. 白線是具有相等性價比的等值線. 從一個等值線向下移動到下一個等值線性價比會變為原來的2倍(紅色陰影區域=低性價比, 綠色陰影區域=高性價比)
我們從調查中得出的結論(圖1)是, 只含單個CPU的節點和具有專業GPU的節點具有相對較低的性價比, 而消費級GPU的性價比可以提高到原來的2到3倍. 為節點增加第一個消費級GPU會極大地提供性價比, 而增加過多的GPU會降低性價比(例如, 以前論文的圖6中將帶有2個E5-2680v2的節點與具有2個和4個GTX980 GPU的節點進行了比較).
在多個節點上進行並行化以提高性能會導致性價比急劇下降(圖1, 右上角). 因此, 對於總採樣量比單個軌跡長度更重要的項目, 建議運行多個單節點模擬, 而不是運行一些多節點模擬.
參考連結[1] More bang for your buck: Improved use of GPU nodes for GROMACS 2018, DOI: 10.1002/jcc.26011: https://onlinelibrary.wiley.com/doi/full/10.1002/jcc.26011
[2] 在線用戶指南: http://manual.gromacs.org/