我國在高性能計算領(lǐng)域取得了顯著進步,天河二號和神威太湖之光先后登頂Top500國際超算排行榜,2016、2017年連續(xù)獲得戈登貝爾HPC應(yīng)用大獎。在“十四五”規(guī)劃中,我國在高性能計算領(lǐng)域?qū)⒗^續(xù)貫徹“國產(chǎn)替代”戰(zhàn)略,新一代E級超級計算機都將采用國產(chǎn)處理器。
然而,目前國內(nèi)高校還沒有采用國產(chǎn)處理器的校級計算平臺。這主要有以下三個原因:①基于國產(chǎn)處理器的計算平臺在使用習(xí)慣上與目前X86 CPU集群差異很大,用戶不習(xí)慣;②目前主流計算軟件都是基于X86處理器開發(fā),在國產(chǎn)處理器上需要重新編譯與適配;③許多計算軟件的應(yīng)用尚未針對國產(chǎn)處理器進行性能調(diào)優(yōu),運行速度無法保證。
為應(yīng)對上述用戶操作難、應(yīng)用部署難、運行速度慢這三個挑戰(zhàn),我們開展了以下工作:
1)通過掛載統(tǒng)一文件系統(tǒng)和作業(yè)調(diào)度系統(tǒng),將不同的計算設(shè)備融合在統(tǒng)一的并行文件系統(tǒng)之上,為用戶提供一致的體驗;
2)利用容器快速部署面向ARM集群的高性能計算應(yīng)用,以模塊和鏡像形式向用戶提供預(yù)編譯軟件;
3)對于預(yù)編譯的應(yīng)用軟件,進行了正確性校驗及性能調(diào)優(yōu)。
本文將介紹上海交通大學(xué)采用華為鯤鵬920處理器建設(shè)的校級計算平臺,該平臺是國內(nèi)高校建設(shè)的首個基于國產(chǎn)ARM處理器的計算集群(以下簡稱ARM集群)。這臺ARM集群與原有的X86 CPU集群、GPU集群共享一套并行文件系統(tǒng),采用Infiniband網(wǎng)絡(luò)高速互聯(lián),實踐了統(tǒng)一數(shù)據(jù)基座的理念。
我們這個工作有兩個創(chuàng)新點:
1)針對使用異構(gòu)處理器、異構(gòu)互聯(lián)網(wǎng)絡(luò)的多個計算集群,提出了一套新的網(wǎng)絡(luò)拓?fù)浞桨?,使得這些計算集群可以共享同一并行文件系統(tǒng);
2)率先在華為ARM集群上完成多個常用高性能計算應(yīng)用的正確性校驗與性能調(diào)優(yōu),有力推動了國產(chǎn)高性能計算平臺的軟件生態(tài)建設(shè)。
上海交通大學(xué)校級高性能計算平臺于2013年建設(shè)了第一期,當(dāng)時采用的是Intel Xeon處理器、XeonPhi協(xié)處理器和NVIDIA GPU加速器的混合計算架構(gòu),計算能力位列2013年11月Top500榜單第138位。2019年學(xué)校啟動二期建設(shè),分別建設(shè)了基于Intel Xeon處理器面向高性能計算的同構(gòu)集群和基于NVIDIA GPU加速器面向人工智能計算的異構(gòu)集群。2020年我校建設(shè)第3套計算集群,采用了華為鯤鵬920處理器。
1. 背景介紹
1.1 計算節(jié)點
ARM集群共配置100個計算節(jié)點,每個節(jié)點搭載雙路128核鯤鵬920處理器,配有192 GB DDR4 2933內(nèi)存。華為鯤鵬920采用7納米芯片制程工藝,基于ARMv8微架構(gòu),具體參數(shù)規(guī)格參見表1。
相比主流的Intel Xeon 6248處理器,華為鯤鵬920的核數(shù)和內(nèi)存通道更多,因此提供了更高的并發(fā)度和內(nèi)存訪問帶寬。但在向量化位寬上,鯤鵬920為Intel主流處理器的1/4?;谝陨咸卣?,鯤鵬920更加適合訪存密集型應(yīng)用的計算
1.2 高速互聯(lián)網(wǎng)絡(luò)
上海交大校級計算平臺中的Intel CPU集群采用的是Intel 100 Gbps Omini-Path高速互聯(lián)網(wǎng)絡(luò),GPU集群和ARM集群則采用Mellanox 100 Gbps Infiniband EDR高速互聯(lián)網(wǎng)絡(luò)。作為目前兩大主流高速互聯(lián)網(wǎng)絡(luò),其通信協(xié)議提供了一種基于交換的架構(gòu),由處理器節(jié)點之間、處理器節(jié)點和存儲節(jié)點之間的點對點雙向串行鏈路構(gòu)成。
1.3 文件系統(tǒng)
校級計算平臺采用Lustre并行文件系統(tǒng),它是一種基于對象的并行文件系統(tǒng),具有高可用、高性能、高可擴展性等特點,可以為大規(guī)模計算集群提供兼容POSIX的統(tǒng)一文件系統(tǒng)接口。其在Linux操作系統(tǒng)上運行,并采用客戶端-服務(wù)端模式的網(wǎng)絡(luò)架構(gòu)。Lustre的服務(wù)端由一組服務(wù)器組成,用于提供元數(shù)據(jù)服務(wù)和對象存儲服務(wù);客戶端則是Lustre文件系統(tǒng)的訪問接口,可以掛載Lustre文件系統(tǒng)。Lustre各節(jié)點服務(wù)器之間使用Lnet高速網(wǎng)絡(luò)協(xié)議互聯(lián)。
1.4 作業(yè)調(diào)度系統(tǒng)
校級計算平臺部署了CentOS7.6操作系統(tǒng),在這套Linux系統(tǒng)上,我們掛載了SLURM作業(yè)調(diào)度系統(tǒng)。SLURM是一個開源、容錯、高度可擴展的集群管理和作業(yè)調(diào)度系統(tǒng),作為集群工作負(fù)載管理器,它有三個關(guān)鍵功能:①它在一段時間內(nèi)為用戶分配對資源(計算節(jié)點)的獨占和/或非獨占訪問,以便他們可以執(zhí)行工作;②它提供了一個框架,用于在分配的節(jié)點集上啟動,執(zhí)行和監(jiān)視工作(通常是并行作業(yè));③它通過管理待處理工作的隊列來仲裁資源爭用。
2. 系統(tǒng)設(shè)計 2.1 網(wǎng)絡(luò)拓?fù)湓O(shè)計
ARM集群網(wǎng)絡(luò)接入的整體思路類似于CPU+GPU異構(gòu)集群,所有ARM節(jié)點接入Infiniband交換機實現(xiàn)節(jié)點間的互聯(lián),后通過路由節(jié)點(LNet Router)橋接至OmniPath網(wǎng)絡(luò),做到Infiniband和OmniPath兩種異構(gòu)網(wǎng)絡(luò)之間的互通。
ARM集群的IB網(wǎng)絡(luò)包含5臺40口小型交換機和3臺路由節(jié)點。其中3臺交換機作為接入層交換機,分出一半端口直接與節(jié)點相連;剩余2臺作為核心層交換機,與接入層交換機進行網(wǎng)狀連接。3臺接入層交換機又分別通過對應(yīng)的路由節(jié)點接入存儲集群。節(jié)點與交換機之間、交換機與交換機之間每條物理線路支持200Gbps帶寬,整個接入層與計算節(jié)點之間合計有10000Gbps通信帶寬;而接入層與核心層之間合計有11000Gbps帶寬。由于IB交換機自帶路由選擇功能,可以確保接入層與交換層的數(shù)據(jù)流量均勻分?jǐn)偟矫恳粭l等價鏈路上,因此在這個胖樹拓?fù)浣Y(jié)構(gòu)下,任意兩個節(jié)點之間都可以始終確保享有100Gbps的可用通信帶寬。
2.2 共享文件系統(tǒng)掛載
ARM集群掛載Lustre文件系統(tǒng)分為兩個步驟:
步驟一:編譯安裝Lustre客戶端。安裝的Lustre客戶端版本需與服務(wù)端適配,因此需要選擇合適的操作系統(tǒng)版本,同時編譯Lustre客戶端過程中指定內(nèi)核與IB驅(qū)動。實踐中,我們采用了ARM架構(gòu)定制化的CentOS 7.6系統(tǒng),編譯安裝了2.12.4版本Lustre客戶端。
步驟二:配置lnet路由。對于3組ARM集群節(jié)點來說,須賦予不同的LNET標(biāo)簽(類似不同子網(wǎng)),且與存儲集群、X86超算集群等其它集群不同。之后,分別在存儲服務(wù)端、ARM節(jié)點和路由節(jié)點配置對應(yīng)的Lnet路由,連通OPA和IB網(wǎng)絡(luò)。
經(jīng)過以上兩個步驟,即可在ARM集群成功掛載Lustre文件系統(tǒng),從而形成統(tǒng)一的數(shù)據(jù)基座。
3. 性能調(diào)優(yōu)與驗證
為解決ARM集群運行速度慢的問題,我們選擇了LAMMPS和GATK作為本次應(yīng)用調(diào)優(yōu)與驗證的算例。這兩款應(yīng)用2020年在我校X86 CPU集群上占到全年使用機時的35%。
采用LAMMPS的兩個最基本算例EAM和LJ,測試ARM、X86以及X86上加入User-Intel加速包這三種模式,對比1, 2, 4, 8 和16個節(jié)點的運行速度(Timesteps/s)。兩個算例EAM和LJ均為864,000原子體系,在NVE系統(tǒng)下運行5,000步。ARM單節(jié)點計算速度是Intel主流處理器(不含User-Intel加速包)的2倍,擴展到16個節(jié)點仍保持1.5倍的優(yōu)勢。當(dāng)X86編譯使用User-Intel加速包后,ARM集群上LAMMPS的計算性能為Intel主流平臺的60%左右。
基于上述由Broad Institute提供的分析流程及相應(yīng)的測試數(shù)據(jù),測試X86和ARM上GATK 4.2的性能。由于在ARM集群上GATK 的HaplotypeCaller模塊缺少Intel為X86開發(fā)的GKL加速包(Intel GKL Utils),因此速度下降明顯。而MarkDuplicates及BQSR相關(guān)工具未經(jīng)過底層優(yōu)化,其在ARM集群上的性能約為x86集群的70%與50%。
為應(yīng)對ARM集群建設(shè)中遇到的用戶操作難、應(yīng)用部署難以及運行速度慢這三個挑戰(zhàn),我們提出了一套新的網(wǎng)絡(luò)拓?fù)浞桨?,使得ARM集群可以和現(xiàn)有X86集群可以共享同一并行文件系統(tǒng),用戶可以實現(xiàn)無差別的數(shù)據(jù)訪問。另外,還利用Singularity為ARM集群快速部署了30多款常用的高性能計算應(yīng)用軟件,并對其中使用率最高的LAMMPS和GATK應(yīng)用進行了性能調(diào)優(yōu)和評估,性能可以達到主流X86集群的60%-70%。ARM集群在2021年暑期面向校內(nèi)進行試運行,期間整機月平均利用率超過70%。
審核編輯 :李倩
-
處理器
+關(guān)注
關(guān)注
68文章
19286瀏覽量
229854 -
ARM
+關(guān)注
關(guān)注
134文章
9097瀏覽量
367586 -
gpu
+關(guān)注
關(guān)注
28文章
4740瀏覽量
128951
原文標(biāo)題:基于鯤鵬處理器的高性能計算實踐
文章出處:【微信號:架構(gòu)師技術(shù)聯(lián)盟,微信公眾號:架構(gòu)師技術(shù)聯(lián)盟】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論