魏定国 发表于 2023-2-18 11:12:17

RISC-V为超级计算做好准备了吗?

本帖最后由 魏定国 于 2023-2-18 11:12 编辑


直到几年前,RISC-V处理器还被认为是特定功能的辅助处理器,现在似乎正在担任一种完全不同的角色——高性能计算。

目前还在讨论阶段。关于软件生态系统的问题依然存在,或者说芯片、电路板和系统是否足够可靠。这里既有业务问题,也有技术问题,其中业务问题是最困难的。但这说明了RISC-V架构的发展势头,由于其开放的ISA,RISC-V的采用和试验大幅增加。这反过来又给了该行业创新的自由。

Codasip的首席营销官Rupert Baines表示:“ISA(指令集架构)本身并不是那么吸引人,”“关键是你围绕它做了什么。因此,有关安全和发布最佳实践、指南和参考架构的工作组非常重要。Open Titan是开源信任根,它很重要,因为它是一个很不错的参考架构。人们可以参照Open Titan,而不是转变方向,可能会出错。”

现在最大的问题是,这种架构能在新的方向上发展多远。芯片行业已经坚定地进入了特定领域计算的时代,在这个时代,处理器可以高度定制以满足特定任务,然后在完成这些任务时胜过其他固定架构。但如果软件需要针对这些定制内核进行优化,这也会使软件移植变得更加困难。

对于RISC-V来说,高性能计算和超级计算可能代表着一个巨大的飞跃。超级计算机被定义为与通用计算机相比具有高水平性能的计算机。它们通常是带有向量延伸的浮点计算机,目前的领先者Frontier能够在LINPACK基准上以大约1.1百亿亿次的速度运行。它有8730112个基于x86 ISA的处理核。

尽管如此,随着其他替代产品的广泛普及,对此类庞然大物的需求也在不断变化。高性能计算机过去是一种定制设计的通用计算机。如今,部署高速服务器集群(无论是在本地还是在云中)的每个人都可以使用非常类似的功能。

RISC-V是否有可能在这里发挥作用,需要从多个不同的角度来考察。谁可能需要基于RISC-V架构的超级计算机,谁愿意为此买单?RISC-V ISA和延伸是否具备创建超级计算机所需的所有功能?是否有人创建了性能合适的内核?所有必要的软件都到位了吗?

一、追随Arm的脚步

直到最近,大多数超级计算机都是基于英特尔的x86架构。Arm希望提高其在高性能计算领域的普及程度,并在2016年左右准备提供基本的硬件。

Synopsys研究员Rob Aitken表示:“当第一个Arm超级计算机程序启动时,Arm还没有做好准备,因为它的生态系统还没有全部就绪,或者所有问题都没有解决完,”“更重要的是,有人说它已经足够接近了,我愿意冒这个险。我愿意试试。我想说的是,RISC-V已经达到或者接近这样一个临界点,即有人愿意赌一把,为超级计算机开发一些东西。”

2020年6月22日,由富士通48核A64FX SoC驱动的日本Fugaku超级计算机成为第一台Arm驱动的超级计算机,至少暂时成为世界上速度最快的计算机。最强大的高性能计算机可以在500强列表中找到。

性能不是唯一的考虑因素。Arm基础设施业务高性能计算和工具高级总监David Lecomber表示:“要成为一款成功的高性能计算处理器,需要在提供性能、效率和安全性的同时,支持应用程序生态系统和重要的前沿服务器标准。”“在设计灵活性方面,重要的是在开发人员最需要的地方提供这种灵活性。例如,稳定一致的ISA对于商业高性能计算开发人员至关重要,但在你自己选择的内存子系统(DDR5、HBM、CXL附加)或加速器(裸片上或PCIe/CXL附加)中进行设计的灵活性非常高。”

二、最快是什么意思?

过去几年,行业的绩效指标一直在变化。虽然绝对性能仍然占据最重要的位置,但系统往往受到功率的限制,这导致了针对特定任务而优化的架构。但这也引发了如何衡量性能的问题,因为没有一台机器可以在每项任务上都是最快的。

多年来,业界一直在使用LINPACK基准,但这正变得越来越有争议,无法提供简单的答案。一种方法是扩展基准测试,这被称为HPC Challenge基准测试套件。发起人之一,田纳西大学计算机科学教授Jack Dongarra,受美国政府的委托对此进行研究。但解决一个问题会产生另一个问题。该基准不再生成单个数字,这使得比较变得困难。

由于其他原因,性能难以测量。吞吐量和延迟通常是相互对立的,这种情况不仅仅局限于超级计算机。因此,一个系统可以更快地生成一个答案,但另一个系统可以在更短的时间内生成一系列答案,即使你需要等待第一个答案的时间稍长。

随着应用程序现在能够在商业云上扩展到100多万个内核,构建一个大小合适的高性能计算机不再是问题。现在是时候生成结果了,对于那些需要尽可能实时得出结果的任务来说尤其如此。这意味着高性能计算可能会继续用于金融交易等任务,在这种情况下,即使以最微弱的优势击败对手,也意味着你赢了,而对方输了——有时这代表着巨额的资金。

三、平衡系统

制造任何一台计算机都需要许多因素维持适当的平衡。Arteris IP解决方案和业务开发副总裁Frank Schirrmeister表示:“当你研究高性能计算时,它通常关注的是时钟频率、内核数量、内核及其相关互连的可扩展性等问题,”“但内存带宽、功率效率、添加自己的向量指令的能力也同样重要。”

必须将其视为数据流问题。Synopsys的Aitken表示:“数据从某个地方开始,必须从内存加载到处理器,由处理器或加速器处理,然后再回到内存,”“这是整个路径,其中存在瓶颈。‘非内核’是其中的关键部分,内存系统是其中的关键部分。在解决特定任务时,你必须确定架构中的瓶颈所在。这与CPU无关。在企业领域,全世界都在研究RISC-V的瓶颈,但目前还没有找到。”

在许多情况下,真正的创新发生在非内核。Arteris的Schirrmeister表示:“当你观察一个集群时,有很多处理器是相互连接的,”“这就需要考虑内核的可扩展性,这意味着要共同优化内核和互连。RISC-V给了你在这个层面上创新的自由,可能比一些标准许可要好一点。但这需要大量的工作,当然也不是不是轻而易举的事情。这是集群整合后如何工作的秘密武器之一。”

如今的许多任务,如人工智能/机器学习,都是由定制加速器驱动的,而通用内核可能只做调度和协调任务。Ventana的副总裁Travis Lanier表示:“你将不得不进行特定领域的加速,或者使用各种加速器来处理这些数据中心日益增长的计算量,”“通用CPU无法做到这一点。”

其他人也同意。Arm的Lecomber表示:“内核性能是赌注,”“一个具有高性能计算的CPU需要良好的向量性能,每个内核需要良好的内存带宽。最后,同样重要的一点是,具有高性能计算的CPU需要提高效率。开发人员需要提高编程效率,以便从可用内核和加速器中获得最大的性能。机架级和数据中心的功率效率正在成为限制设计和操作的因素。”

芯片的性能不仅与ISA或RTL有关。Schirrmeister表示:“如果你观察任何一个IP,它们的成功往往基于与物理工具的联系,即对事物的物理感知,”“即使对我们来说,互连是系统的一部分,也需要IP和实施流程的共同优化,以获得合适的性能和功率。要使RISC-V具有高性能计算的能力也是一样的。这并不容易,但已经有一些公告表明处理器似乎直接与数据中心的一些其他内核发生冲突。”

性能不仅仅取决于硬件。为特定硬件移植和优化软件可能需要很长时间,这需要合适的生态系统。Schirrmeister补充道:“Arm在如何安排生态系统方面很明智,”“生态系统以不同的架构为中心,如x86、ArmV9和现在的RISC-V。这些生态系统总是需要一段时间才能准备好,并得到一切支持。开发和稳定生态系统都需要时间。我想说,RISC-V可能还为时过早。是的,势头很大,我们可能比过去更快实现RISC-V。RISC-V受益于Arm的发展,因为你可以从他们在站稳脚跟的过程中看到这一点。”

四、行业支持

要让RISC-V具有高性能计算的能力,显然还有很多工作要做。为了帮助促进讨论和必要的工作,RISC-V联盟创建了一个高性能计算特别兴趣小组(SIG-HPC)。该小组的目标是满足高性能计算社区的需求,并协调RISC-V ISA。根据他们的网站,他们从范围定义开始,SIG-HPC的利益按照从发现、差距分析到实施的顺序排列,以提供很有影响力的结果。为了实现这一点,需要做两件事——规划一条具有竞争力的道路,并扩展这条道路,以新的特性和能力引领社区。

该行业也发生了许多事情,表明了几家公司的发展方向。英特尔对巴塞罗那超级计算中心投入巨资。它宣布投资4亿欧元建立一个新的实验室,专门开发RISC-V处理器和超级计算。然而,英特尔超级计算集团副总裁兼总经理Jeff McVeigh在相关新闻稿中表示:“用于高性能计算的RISC-V仍然还有很多年。”

他们的目标是在五年内建立zettascale级系统,比现在的超级计算机快几个数量级。

另一家高性能处理器开发商MIPS去年宣布已转向使用RISC-V开发处理器。MIPS宣布推出基于RISC-V ISA的首个内核,该内核目前正在获得汽车驾驶辅助系统和自动驾驶等应用的许可。但MIPS表示,处理器内核也可以用于数据中心、存储和高性能计算。

就像软件开发一样,90%的工作量只完成了一半。贝尔实验室的Tom Cargill曾经说过一句名言:“前90%的代码占用了前90%的开发时间。剩下10%的代码占用了另外90%的开发时间。”(校对/王旭)


页: [1]
查看完整版本: RISC-V为超级计算做好准备了吗?