HPC先驱铺平道路,ARM超算有望遍地开花

过去几年以来,Arm架构保持着稳步发展,逐渐在超大规模基础设施运营商和云服务商中开拓出一片天地。但在HPC社区中,Arm的代表性却仍然有限。好在最新消息似乎预计将变革即将到来。

HPC先驱铺平道路,ARM超算有望遍地开花

过去几年以来,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也不会是最后一种新型架构。

来源:至顶网计算频道

0赞

好文章,需要你的鼓励

2023

11/29

15:25

分享

点赞

邮件订阅