當前位置:
首頁 > 科技 > HPC高性能計算知識:常見測試評估基準解析

HPC高性能計算知識:常見測試評估基準解析

筆者在之前文章「2017全球超級計算Top500和Green500榜單分析」中對高性能計算TOP500排行榜進行了分析,看到中國的太湖之光、天河2號繼續保持第一、第二,中國超算在該基準測試中已經連續多年衛冕奪冠了,但是讓我講講接下來聊聊你可能並不知道的事

TOP500排名基於Linpack BenchMark性能(最新版HPL 2.0規範從2008年一直用到現在),不過隨著時間的推移,應用程序對更複雜計算的需求已變得原來越普遍,TOP500創始人之一的田納西大學教授Jack Dongarra認為Linpack性能已經過時,大家也意識到單看CPU性能的弊端,開始使用HPCG(The High Performance Conjugate Gradients)性能來全面衡量超算性能。

天河2號之前也是HPCG(高度共軛梯度基準測試)性能第一名(2016年上半年度的HPCG性能榜單,中國的天河2號是第一,日本K位列第二),但從2016年下半年開始,第一被日本K超算系統奪走,當時K超算系統在TOP500中的排名目前是第七

與Linpack關注線性方程的計算性能不同,HPCG使用更複雜的微分方程計算方式。Linpack衡量的是線性方程計算的速度和效率,無法測量這些更加複雜的計算程序。由於越來越多的應用程序採用微分方程計算方式,所以每一輪全球超級計算機500強排行榜的Linpack性能數據與真實的數據之間的差距將越來越大

簡單來說,Linpack更考驗超算的處理器理論性能,而HPCG更看重實際性能,對內存系統、網路延遲要求也更高,所以任何HPC超算測出來的HPCG性能要比Linpack性能低得多,基本報中告有個HPCG/HPL比率可衡量計算效率,大部分超算的比例都在5%以內,1-3%的比比皆是。

HPCG標準從2014年開始正式參與排名,2017上半年的HPCG性能排行榜中,國內的天河2號以580TLFOPS位列第二,日本K(京)以602TFLOPS位列第一, TOP500第一的太湖之光HPCG性能是480TFLOPS,位列第三。太湖之光的HPCG/HPL效率只有0.4%是HPCG前10名中效率最低的。

關於HPC系統能力基準排名,除了TOP500、Green500和HPCG之外,還有一個Graph500排名和Green Graph 500排名,Green Graph 500使用與Green500相同的性能指標,但它是根據每瓦特性能排名,即採用Green 500測試模型測試但配合Top500(HPL)使用每瓦特性能排序。

從2017年上半年的Graph500榜單來看,日本K超算也拿下了第一名第二名是中國太湖之光,天河2號已經處於第八名的位置。

Graph500專註於數據密集型負載BenchMark基準,目標是提高對複雜數據問題的認識,而不是專註於Top500所依賴的HPL(High Performance Linpack)等計算基準。在2010年的國際超級計算大會上第一次發布測試基準值。新版本的列表每年發行兩次,用於對超級計算機進行排名的主要性能指標是GTEPS( Giga-Traversed Edges per Pecond千兆每秒邊緣遍歷)。

Graph500使用的基準測試強調系統的通信子系統,而不是計算雙精度浮點數,它是基於大無向圖中的廣度優先搜索(平均程度為16的Kronecker圖)。基準測試中有兩個計算內核,第一個內核是生成圖形並將其壓縮為稀疏結構CSR或CSC(Compressed Sparse Row/Column);第二個內核對一些隨機頂點進行並行BFS搜索(每次運行64次搜索迭代)。

2017年超算首次發布了IO-500測試基準,綜合反映I/O系統性能,IO-500測試分為兩個大部分,一個部分是帶寬測試,採用IOR程序進行測試;另一部分是元數據測試,採用mdtest程序和find命令進行測試。

第一名是部署在JCAHPC的IME系統。IME系統由DDN公司開發的Burst Buffer系統,其IO-500測試得分比第二名高出了43%,說明了IME還是有很強的競爭優勢的。

第二名是部署在KAUST的DataWarp,DataWarp是由Cray公司開發的基於快閃記憶體的Burst Buffer系統。Burst Buffer就是為這種浪涌型IO特徵設計。

單從文件系統來看,排名中Lustre文件系統有3個BeeGFS有2個,Spectrum Scale(GPFS)有2個。這3種並行文件系統基本佔領榜單,關於BeGFS請參看文章繼Lustre和GPFS之後,HPC又迎來那個新文件系統接盤。

最後討論一下HPC場景我們經常用到的測試基準。這些基準應用於不同HPC場景,主要從應用基準微觀基準來進行描述。應用基準是偏向於某種應用的BenchMark,測試更具有針對性;然而微觀基準則更具普適性,更加偏向於純粹的工具性能測試。

上圖展現的是常見的應用基準測試實例,除了HPCG外,主要包括GTC-P 、Meraculous、MILC、MiniDFT 、MiniPIC和PENNANT等。

GTC-P(Gyrokinetic Toroidal Code)通過使用粒子單元演算法求解Vlassov-Poisson方程來模擬離子通過托卡馬克的運動。在每個PIC(particle-in-cell)時間步長期間,粒子的電荷分布被內插到網格上,泊松方程在網格上求解,電場從網格內插到粒子,並且根據電場更新粒子的相空間坐標。

Meraculous是一種大規模並行基因組組裝基準,構造並遍歷存在於冗餘短序列輸入數據集中的長度為k(k-mers)的所有重疊子串的de Bruijn圖。通過遍歷de Bruijn圖,並發現所有(可能斷開的)線性子圖,Meraculous能夠構建基因組數據的高質量連續序列。

MILC基準代碼表示由用於研究量子色力學(Quantum Chromodynamics)的MIMD晶格計算(MILC)協作的一組代碼,屬於亞原子物理學強相互作用的理論,通過並聯機器進行四維格子規格理論的模擬。屬於物理研究和模擬場景下的基準。

MiniDFT是用於建模材料的平面波密度泛函理論(Density Functional Theory)的模擬應用程序。MiniDFT使用LDA或PBE交換相關函數計算Kohn-Sham方程的自相一致解。對於自相一致的場循環的每次迭代,構建Fock矩陣,然後對角化。為了構建Fock矩陣,使用快速傅立葉變換將平面波基(其中最容易計算的動能)轉換為實際空間(其中電位被評估)和返回的軌道。

MiniPIC是解決具有反射壁的任意域中的靜電場中的離散Boltzman方程。MiniPIC基準測試使用非結構化的基於hex或tet的網格以及用於粒子網格的靜態分區。粒子被跟蹤到每個單元格交叉區,打包後並使用MPI傳遞到相鄰的處理器。主要代碼庫使用了Trilinos數學庫中的Tpetra對象進行矩陣/向量操作。

PENNANT是一款用於高級架構研究的應用程序。它具有用於操縱包含任意多邊形的二維非結構化有限元網格的數據結構。PENNANT使用幾何域分解支持MPI並行性,對使用MPI調用的處理器上實現的點數據進行採集和散射操作,還支持使用OpenMP或CUDA的線程並行。

SNAP作為代理應用程序來建模現代離散坐標中性粒子傳輸應用程序的性能。SNAP被認為是Sweep3D的更新,旨在用於混合計算架構。它是由洛斯阿拉莫斯國家實驗室代碼PARTISN建模的。

UMT是建立在多個核分散式存儲,多節點並行計算機系統上,執行三維非結構化空間網格上的時間依賴性,能量依賴性,離散坐標和非線性輻射問題的解決方案。為了實現極大的可擴展性,應用程序利用節點之間的消息傳遞和在節點內角度的線程演算法進行空間分解。

下面我們介紹下微觀基準微觀基準則更具普適性,經常在項目中客戶RFP中出現,更加偏向於純粹的工具性能測試

Crossroads/N9 DGEMM基準測試是一種簡單,多線程,密集矩陣乘法測試。該代碼旨在測量單個節點的持續浮點計算速率。

IOR是最常見的BenchMark基準,旨在測量POSIX和MPI-IO級別的並行I/O性能。

Mdtest是一個MPI協調的元數據基準測試,可以對文件和目錄執行文件操作,基於不同操作報告性能。

STREAM 基準用來測試持續的計算內存帶寬。Crossroads/N9內存帶寬基準測試是John D. McCalpin最初編寫的STREAM基準測試版本的升級版。

至此我們對TOP500、Green500、HPCG、Graph500和Green Graph 500業界知名HPC系統排行榜,以及IOR、Mdtest和STREAM等HPC場景中的基準測試方法有了比較全面了解。

儘管如此,這些基準都能從某個視角展現TOP超級計算系統的能力,如果從這個角度將,那麼Linpack Benchmark的時代還並未過去。HPCG將只是作為全球超級計算機500強榜單排行的另一個可用標準,更是對TOP500計算系統進行排名的高性能Linpack(HPL)基準測試的補充。

技術專欄推薦


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 架構師技術聯盟 的精彩文章:

HPC高性能計算知識:異構並行計算
詳談軟體定義存儲如何約會區塊鏈?

TAG:架構師技術聯盟 |