過去幾年以來,Arm架構保持著穩步發展,逐漸在超大規模基礎設施運營商和雲服務商中開拓出一片天地。但在HPC社區中,Arm的代表性卻仍然有限。好在最新消息似乎預計將變革即將到來。
日本RIKEN實驗室的「富岳」系統無疑是體量最大、最具知名度的Arm超級電腦,也通過晶片與系統製造商富士通、Arm和RIKEN實驗室之間的密切合作,憑藉512位矢量引擎為Arm架構在HPC領域的探索開闢了技術道路。富岳超級電腦連續兩年在Top500榜單中位列第一,證明即使源自移動領域,Arm架構本身也並不會成為性能提升的限制因素。
縱覽整個Top500榜單,我們很快就會意識到,大多數Arm系統都與富岳一樣採用相同的富士通A64FX處理器。但隨著多個備受矚目的Arm開發計劃於2024年相繼上線,這種情況也即將發生變化。
EuroHPC的百億億級「Jupiter」系統和布里斯托大學的Isambard-AI系統也將躋身性能巨獸的前十之列,其FP64精度下的算力分別可達1百億億次及365千萬億次。(不過兩台機器的大部分FP64算力都由英偉達GPU貢獻。)
Arm市場接受度的提升(目前還未真正形成優勢)也絕非一朝一夕之功。全球各地的研究人員和初創公司一直在努力改造Arm系統,其支持範圍從A64FX和Marvell,到現已停產的ThunderX晶片、Ampere Computing的Altra及AmpereOne、亞馬遜雲科技的Graviton晶片家族、乃至英偉達的「Grace」Arm CPU等所在多有。微軟也憑藉其Cobalt 100晶片進軍該領域,另有消息稱谷歌亦在開發代號為「Maple」的Arm晶片。
以上種種成果已經為Arm系統在HPC社區中的廣泛部署奠定了基礎。在SC23上的演講中,我們也看到研究人員正著力審視Arm處理器在實際應用中帶來的挑戰和機遇。
軟體仍是個老大難問題
發言者們普遍認為,早期採用者在開荒過程中確實承擔著巨大的壓力。新的硬體架構當然有其優勢,但如果常用軟體無法在其上正常運行,那麼任何性能和功能提升都只能淪為空談。因此,大部分討論都集中在軟體的兼容性之上。雖然研究人員普遍對Arm系統的性能給予肯定,但也在發言中重申了軟體這個老大難問題。
橡樹嶺國家實驗室系統集成開發者Ross Miller在談到該實驗室的Wombat測試集群時表示,「我認為唯一的問題,就是Arm系統對於軟體調優問題仍缺乏充分的關注。」多年以來,橡樹嶺實驗室一直對Arm處理器敞開熱情的懷抱,這裡不僅有富士通、Ampere Computing、Marvell的處理器,還包括英偉達即將推出的Grace CPU。
這也在意料之中。除了少數特殊案例之外,大部分HPC計算集群都基於x86架構打造,意味著大部分代碼都針對該平台進行優化。雖然Arm(包括之前的Power架構)近年來在兼容性訪方面略有改善,但真正的轉變仍然需要時間。
Miller打趣道,「與手動調整SVE指令相比,AVX代碼那邊的調整需求可能還更多。」
由於缺少現成的Arm軟體包,開發人員往往會被迫自行調整並編譯軟體。對於這種常見情況,需要使用專有代碼庫的朋友們肯定會望而生畏。
The Water Institute水資源研究院高級計算科學家、自然系統建模小組研究工程師Zach Cobell解釋道,「某些Anaconda軟體包就不一定能在Arm上正常運行,所以我們只能從零開始、重造輪子。」
該研究院的應用程序負責對颶風登陸期間的洪水動向進行建模。值得注意的是,該組織在亞馬遜雲科技的EC2 Hpc7g實例上用到了Graviton3E處理器。但不直接使用裸機集群,並不代表我們不會遇到跟其他人相同的問題。
你用哪款編譯器?
雖然大多數軟體包都可以在編譯之後比較輕鬆地運行在Arm架構之上,但哪款編譯器效果更好又成了困擾開發者們的新挑戰。
石溪大學理論化學教授Robert Harrison在談到自己為「Ookami」系統開發應用程序時的經歷時表示,「剛剛接觸這套系統時,應用程序的編譯效果確實很差。」該系統以HPE產品為底子,配備有富士通的A64FX處理器以及英偉達的100 Gb/秒HDR InfiniBand互連。「大多數用戶連這頭一道障礙都克服不了。除了自身付出努力之外,他們還要求助於我們團隊,確保使用正確的庫和編譯器。雖然多數情況下富士通的編譯器效果最好,但例外情況也不少。」
而即使讓編譯器跟最先進的晶片順利配對,接下來還有別的問題。在多數情況下,這些晶片都太新,構建系統根本不知道自己的目標是標準Arm SoC還是某種定製化晶片。
德克薩斯州高級計算中心即將推出一款名為「Vista」的超級電腦,將由英偉達的Grace CPU和Grace-Hopper超級晶片混合計算引擎提供支持。該計算中心及德克薩斯大學助理研究員John Cazes解釋道,大多數開源庫甚至根本就識別不了這款晶片。
「恐怕只能手動覆蓋或者調整某些編譯器選項,才能讓軟體順利運行起來。」
總體來講,跟Linux集群區別不大
但軟體方面也不全是壞消息。一些研究人員指出,對於大多數用戶而言,使用Arm架構的主要障礙仍然在於心理上、而非實踐層面。
布里斯托大學研究員Thomas Green就強調,Arm架構在多數情況下都能運行良好。「大部分用戶實際上可以直接使用該系統,只要他們知道怎樣構建軟體,那就能發揮Arm的性能優勢。這可能跟很多朋友想像中不一樣,但事實就是如此,我們不需要接受太多額外的培訓就能直接上手。」
Miller也表達了類似的觀點。「雖然也有打廣告的成分,但我想提醒大家,Arm系統跟Linux非常相似。登錄時會出現bash提示符,這裡有vi、有Emacs還有GCC,如果不刻意提醒你甚至意識不到區別。」
Miller還讚揚了Linaro和Raspberry Pi基金會做出的努力。「我認為Raspberry Pi基金會真正讓Arm設備走進了千家萬戶。」
儘管仍有不少早期挑戰,但目前業界已經形成普遍共識,即面向Arm的遷移過程與其他架構轉換並沒什麼區別,而且Arm也並不是HPC領域中出現的第一種精簡指令集架構。
相信隨著RISC-V的蓬勃發展,Arm也不會是最後一種新型架構。