我承认,我害怕下一代超级计算机

2020-09-01 01:03:30

今年早些时候,一台建立在基于ARM的富士通A64FX处理器上的日本超级计算机夺得了世界上速度最快的计算机的桂冠,将现任领头羊IBM Summit踢出了水面。

按照流行的高性能LINPACK(HPL)基准测试,Fugaku机器达到了415.5千万亿次浮点运算,几乎是IBM机(148.5个千兆浮点运算)的3倍。

它还在Graph 500、HPL-AI和HPCH工作负载排行榜上名列前茅-这是高性能计算(HPC)领域从未有过的壮举。

现代超级计算机现在正越来越接近1exaFLOPS(相当于1000petaflops)这一里程碑式的数字,通常被描述为艾级障碍。事实上,Fugaku本身已经可以实现一个exaFLOPS,但只能在较低精度模式下实现。

我们采访的专家们的共识是,一台机器将在未来6-24个月内突破艾级障碍,释放出医学研究、气候预测、网络安全等领域的大量可能性。

但是什么是exaFLOPS呢?而打破十多年来顽强追求的艾级里程碑又意味着什么呢?

要理解实现亿级计算意味着什么,重要的是首先理解FLOP是什么意思,FLOP代表每秒的浮点运算。

浮点运算是涉及包含小数的数字(例如3.0-浮点数)的任何数学计算(即加、减、乘或除),与不含小数的数字(例如3-二进制整数)相反。涉及小数的计算通常比较复杂,因此需要更长的时间来求解。

就背景而言,为了等于亿级计算机在一秒钟内可以处理的计算次数,个人必须在31,688,765,000年内每秒执行一次求和。

与此同时,我现在使用的PC能够达到1470亿Flops(或0.00000014723 exaFLOPS),超过了1993年最快的超级计算机英特尔Paragon(1434亿Flops)。

这既突显了计算在过去30年中取得的进步,也让人们对当今领先的超级计算机所达到的极高性能水平有了正确的认识。

构建一台能够达到一个exaFLOPS的机器的关键是在处理、存储和软件层进行优化。

硬件必须足够小巧和强大,可以组合在一起并达到必要的速度;存储容量和速度必须足够大和足够快,以提供数据;软件必须足够可伸缩和可编程,以便充分利用硬件。

例如,在某一时刻,向超级计算机添加更多处理器将不再影响其速度,因为应用程序没有充分优化。政府和私营企业实现HPC硬件投资完全回报的唯一途径是通过同等的软件投资。

亿级计算项目(EPC)、埃克斯卡利伯计划等组织都对准确解决这一问题感兴趣。那些相关人士声称,需要重新关注算法和应用程序开发,以充分利用艾斯卡的全部力量和范围。

以节能的方式实现软件和硬件之间的微妙平衡,并避免不切实际的平均无故障时间(MTBF)分数(系统在压力下崩溃之前经过的时间)是HPC行业面临的挑战。

“15年前,当我们开始讨论艾级时,我们假设它需要在20兆瓦(MW)内完成;后来改为40兆瓦。有了Fugaku,我们看到,在40兆瓦的功率范围内,我们已经接近64位exaFLOPS的一半,这表明exaFLOPS今天已经触手可及。“英国芯片制造商ARM的高级主管布伦特·戈尔达(Brent Gorda)解释说。

“我们现在有足够的资金来建造和运行一个系统,就可以实现exaFLOPS。(但是)系统的规模很可能是这样的:根据当今的技术和达到这些性能水平所需的组件数量,MTBF是以个位数天数来衡量的。“。

当谈到建造一台能够突破艾级障碍的机器时,除了技术上的可行性,还有许多其他因素在起作用。只有在技术、经济和政治的交叉点达到平衡时,才能产生亿级计算机。

他说:“理论上,今天人们可以通过添加足够的CPU、GPU和DPU来构建一个亿级系统。但经济可行性又如何呢?“。NVIDIA Mellanox的Gilad Shainer说,Infiniband技术(连接各种硬件组件的结构)背后的公司发现了十台速度最快的超级计算机中的七台。

“计算技术的进步、硅加工、更有效地利用电力等等都有助于提高效率,并使亿级计算成为一种经济目标--而不是某种体育成就。”

剑桥大学(University Of Cambridge)计算机研究负责人保罗·卡莱贾(Paul Calleja)正与戴尔合作开展开放亿级实验室(Open Exascale Lab),他表示,Fugaku是当今理论上可行的一个极好的例子,但从几乎任何其他标准来看,都是不切实际的。

“如果你回顾一下日本的超级计算机,从历史上看,它们只制造过一台。他们有精美的建筑,但他们是如此愚蠢的昂贵和专有,没有人能买得起,“他告诉TechRadPro。

“(日本组织)喜欢这些真的很大的技术演示,它们在工业上非常有用,因为它显示了前进的方向,推动了进步,但那种进步非常昂贵,而且不可持续、不可扩展或不可复制。”

因此,从这个意义上说,有两个独立的亿级里程碑:理论障碍和实践障碍,理论障碍很可能首先被Fugaku的同类机器(“技术示范者”)遇到,实践障碍将看到艾级计算的整体部署。

地缘政治因素也将在突破艾级障碍的速度上发挥作用。研究人员和工程师可能只关注技术成就,但资助HPC研究的机构和政府可能出于不同的考虑。

IT服务公司Atos的HPC&;Big Data副总裁安迪·格兰特(Andy Grant)表示:“亿级计算不仅仅是为了达到理论目标,而是要创造解决以前难以解决的问题的能力。”格兰特在HPC和量子计算领域颇具影响力。

“那些正在开发亿级技术的公司并不仅仅是为了拥有世界上最快的超级计算机,而是为了保持国际竞争力、安全和防务。”

“在日本,他们的新机器的功能大约是现在排名第二的系统的2.8倍。从广义上讲,这将使日本研究人员能够解决比这复杂2.8倍的问题。在国际竞争力的背景下,这创造了一个显著的优势。“。

在过去的几年里,敌对的国家在战壕里进行决斗,或者竞争谁能把第一个人送上月球。但计算很可能成为下一场军备竞赛的前沿;高性能计算机领域的霸主地位可能会被证明与军事实力一样重要。

一旦亿级计算机成为一种成熟的资源-可供企业、科学家和学者利用-各种部门都将释放出丰富的可能性。

例如,HPC可能会在临床医学和基因组学领域证明是有启发性的,这些领域需要大量的计算能力来进行分子建模,模拟化合物和序列基因组之间的相互作用。

事实上,IBM峰会和许多其他现代超级计算机正被用来识别可能有助于对抗冠状病毒的化合物。新冠肺炎高性能计算联盟组装了16台超级计算机,总计330千万亿次浮点运算-但想象一下,使用一组本身能够达到1000千万亿次浮点运算的机器进行研究可以快得多。

与此同时,人工智能是另一个将随着亿级计算的到来而转变的跨学科领域。分析越来越大的数据集的能力将提高人工智能模型做出准确预测的能力(取决于输入系统的数据质量),这些预测几乎可以应用于任何行业,从网络安全到电子商务、制造、物流、银行、教育等。

正如英国超级计算初创公司Hadean的首席技术官拉希德·曼苏尔(Rashid Mansoor)解释的那样,超级计算的价值在于(任何种类)做出准确预测的能力。

“超级计算机的主要目的是计算一些真实世界的现象来提供预测。预测可能是蛋白质相互作用的方式,疾病在人群中传播的方式,空气在机翼上的运动方式,或者电磁场在重返大气层期间如何与航天器相互作用,“他告诉TechRadPro。

像HPL基准这样的原始性能简单地表明,我们可以更精确地对更大、更复杂的系统进行建模。计算史告诉我们的一件事是,对计算能力的需求是永无止境的。“。

其他常被提及的将从艾斯卡的到来中显著受益的领域包括大脑制图、天气和气候预测、产品设计和天文学,但也有可能出现全新的使用案例。

“所需的工作量和执行这些工作量的技术形成了良性循环。计算机速度越快、性能越好,我们可以解决的问题就越复杂,发现新问题的速度也就越快,“Shainer解释说。

我们可以肯定的是,为了解决无法解决的问题,我们将看到对更多性能能力的持续需求或不断增长的需求。一旦这个问题解决了,我们就会发现新的无法解决的问题。“

所有人都说,艾级障碍可能会在未来两年内下降,但高性能混凝土行业随后将把注意力转向下一个目标,因为这项工作永远不会完成。

有些人可能会提到量子计算机,它以一种与经典机器完全不同的方式解决问题(利用对称性来加快处理速度),从而实现了更大的规模。然而,也有一些量子计算不能应用的问题。

“量子计算的中期(10年)前景开始形成,其他技术也是如此。这些将更加专业化,量子计算机很可能会作为应用程序加速器出现,以解决首先与物流有关的问题。它们不会完全取代当前IT/数据处理架构的需求,“戈尔达解释说。

正如曼苏尔所说,“在某些问题上,即使是一台小型量子计算机也可以比地球上所有经典计算能力的总和快出指数级。然而,在其他问题上,量子计算机可能比袖珍计算器更慢。

那么,传统计算的下一个逻辑里程碑将是一个zettaFLOPS,相当于1000exaFLOPS或1000000petaflops。

中国研究人员在2018年预测,第一个zettascale系统将于2035年上线,为“新的计算范式”铺平道路。这篇论文本身读起来就像科幻小说,至少对门外汉来说是这样:

为了实现这些指标,微体系结构将发展成由更多样化和不同种类的组件组成。多种形式的专业加速器可能会共存,共同推动高性能混凝土的发展。在光子晶体等新型互连材料的推动下,全光学互连系统可能投入使用。“。

假设到2022年达到一个exaFLOPS,那么第一个PB级系统和第一个艾级级系统的创建将相隔14年。与此同时,第一台千万亿级的机器是在1996年建造的,比突破千万亿级的障碍早了12年。

如果这种模式继续下去,中国研究人员的估计看起来相对合理,但泽塔斯卡预测的有效性有明确的问号。

虽然专家们对他们预测的亿级时间线很有信心,但如果不在他们的估计之前提出一长串警告,没有人会冒险猜测zettascale可能会在什么时候到来。

“这是一个有趣的话题吗?因为老实跟你说,这是很难得到的。当被问及zettascale的概念时,Calleja说:“想象我们如何能超越1000倍(一个exaFLOPS),不是任何人都能谈论的,除非他们只是编造出来的。”

其他人更愿意进行理论推导,但同样不愿猜测具体的时间线。根据格兰特的说法,zettascale机器处理信息的方式将不同于目前存在的任何超级计算机。

“(Zettascale系统)将以数据为中心,意味着组件将转移到数据上,而不是反过来,因为数据量可能太大,移动数据的成本太高。无论如何,预测它们可能的样子目前还只是猜测,“他说。

也有可能,分散模式可能是实现zettascale的最快途径,数百万不太强大的设备协同工作,形成一台比任何一台机器都强大的集体超级计算机(正如SETI研究所所实施的那样)。

正如分布式超级计算公司Q Block的首席执行官Saurabh Vij所指出的那样,分散系统解决了当今HPC行业面临的许多问题,即围绕建筑和维护成本。它们还可供更广泛的用户访问,因此以其他方式无法实现的方式实现了对超级计算资源的大众化访问。

“集中式架构有好处,但成本和维护障碍使其黯然失色。(集中式系统)还疏远了一大批可能受益的客户群体,“他说。

“我们认为更好的方式是以可靠和安全的方式将分布式节点连接在一起。可以毫不咄咄逼人地说,5年后,你的智能手机可能会成为一台巨大的分布式超级计算机的一部分,通过为工业解决计算问题,在你睡觉的时候为你赚钱,“他补充道。

然而,激励网络节点长时间保持活跃是具有挑战性的,高周转率可能会导致可靠性问题。在分布式超级计算能够崛起之前,还需要解决网络延迟和容量问题。

归根结底,对zettascale做出确切预测的困难在于将当前的工作负载和HPC体系结构与未来可能存在的工作负载和HPC体系结构分开的巨大鸿沟。从当代的角度来看,想象一台如此强大的计算机可能会使什么成为可能是徒劳的。

我们可以想象,zettascale机器将被用来处理类似于现代超级计算机处理的工作负荷,只是速度更快。但是,Zettascale计算的到来有可能--甚至很有可能--将打开今天不存在和不可能存在的大门,这一飞跃是如此不同寻常。

在未来,计算机的速度是当今最强大的机器的2000多倍,围绕人的智能与机器的智慧的哲学和伦理辩论肯定会更详细,结果也会更严重。

不可能直接将人脑的工作方式与计算机的工作方式进行比较,也就是说,不可能给人脑分配一个FLOPS值。然而,要问一台机器在达到与大脑大致相当的性能水平之前,必须经历多少次失败,这并不是不明智的。

早在2013年,科学家们就使用K超级计算机,使用开源模拟软件Nest进行了神经元网络模拟。研究小组模拟了一个由17.3亿个神经细胞组成的网络,这些神经细胞通过10.4万亿个突触相连。

在巨大的范围内,这个模拟只代表了人脑神经元网络的1%,花了40分钟来复制相当于1秒的神经元网络活动。

然而,K计算机的最大计算能力只有10千万亿次浮点运算。那么,一个基本的外推(忽略不可避免的复杂性)将表明,Fugaku可以模拟大约40%的人脑,而zettascale计算机将能够多次执行完整的模拟。

像Spinnaker 1和Spinnaker 2这样的数字神经形态硬件(专门用来模拟人脑的超级计算机)也将在后亿级未来继续发展。这些机器不是将信息从A点发送到B点,而是被设计成复制大脑的并行通信架构,同时将信息发送到许多不同的位置。

现代迭代已经被用来帮助神经科学家更好地理解大脑的奥秘,未来的版本,在人工智能的进步的帮助下,将不可避免地被用来构建一个忠实的、功能齐全的复制品。

随着这样一台机器的到来,将引发多方面的伦理辩论-围绕意识的感知、思想的定义,以及人工超级大脑可以或应该用于什么-是多方面的,可能需要几代人的时间才能理清。

无法预见zettascale计算机可能具备的能力,也意味着无法为可能伴随而来的道德困境做计划。

未来的超级计算机是否有足够的能力来模拟人类的思维是毋庸置疑的,但研究人员是否应该立志让人工大脑存在是一个值得讨论的话题。