超级计算有望大幅提升速度

7月底,田纳西州橡树岭国家实验室的工人开始用计算庞然大物的形状填充一个海绵状的房间:一排排排整齐的计算单元,约290公里的光纤电缆和冷却系统能够携带一个游泳池的水。美国能源部(DOE)预计,这台价值2.8亿美元的名为Summit的机器将于明年投入使用,这将使美国能够重获自2012年以来从未拥有的称号,它是最快的超级计算机的所在地在世界上。

Summit设计为以200 petaflop的峰值速度运行,能够每秒处理多达2000亿个“浮点运算”(一种计算算法)。这可能会使Summit的速度比目前的世界纪录保持者中国快60%。

但是对于许多计算机科学家来说,Summit的完成只是更长的比赛的一圈。在世界各地,工程师和科学家团队致力于实现加工能力的下一个飞跃:“超大规模”计算机,能够以惊人的1,000或更多petaflops的速度运行。已经有四个国家或国际团队与他们所在地区的计算行业合作,正在朝着这一宏伟目标迈进。中国计划在2020年之前使其首台百亿分之一万亿吨机器运行。美国通过能源部百亿亿次计算项目的目标是到2021年至少建成一个。预计欧盟和日本将紧随其后。

科学家预计,百亿亿次计算机将使它们能够解决气候科学,可再生能源,基因组学,地球物理学和人工智能等领域中当前棘手的问题。这可能包括配对详细的燃料化学模型和内燃机模型,以便更快地确定可以减少温室气体排放的改进措施。或者,它可能允许以高达一公里的空间分辨率模拟全球气候。有了合适的软件,“现在我们可以做很多现在可以做的科学”?加州劳伦斯伯克利国家实验室的计算科学家安·阿尔姆格伦(Ann Almgren)说。

但是达到百亿美元级的体制是一项巨大的技术挑战。曾经伴随着摩尔定律的计算性能和能源效率的指数级增长已不再得到保证,因此需要对超级计算机组件进行积极的更改以保持增长。此外,在速度测试中表现良好的超级计算机不一定是在科学应用中表现出色的超级计算机。

将高性能计算推向新高度的努力正迫使对超级计算机的设计方式和性能进行评估。“这是我职业生涯中最难解决的问题之一,”伊利诺伊州Argonne国家实验室的计算机科学家Thomas Brettin说,他正在研究百亿分之一的机器的医学软件。

加速硬件

计算行业的广泛趋势正在塑造万亿级计算机的道路。十多年来,晶体管的封装是如此紧密,以至于可以使计算芯片以更快的速度运行。为了避免这种情况,当今的超级计算机严重依赖于并行性,它使用芯片组来创建具有数百万个称为“矿石”的处理单元的机器。通过将更多这些芯片串联在一起,可以使超级计算机更强大。

但是随着这些机器变得越来越大,数据管理变得越来越困难。与计算本身相比,将数据移入或移出存储(甚至在内核中)所消耗的能量要大得多。据某些估计,提供给高性能计算机的电源中有90%用于数据传输。

这导致了一些令人震惊的预测。2008年,在美国国防部高级研究计划局的一份报告中,由计算机科学家彼得·科格(Peter Kogge)领导的团队得出结论,用可预见的技术制造的百亿级计算机将需要千兆瓦的电能,也许是专用核电站的电能。(请参阅go.nature .com / 2hs3x6d)。印第安纳州圣母大学的教授Kogge说:“更低的是万亿级计算的第一,第二,第三和第四题。”

2015年,鉴于技术进步,Kogge将这一估算值降低到180至425兆瓦之间。但是,这仍然比当今顶级超级计算机所使用的强大得多。当今引领世界排名的系统“中国双威TaihuLight”耗电约15纳瓦。

阿贡大学计算,环境与生命科学副实验室主任里克·史蒂文斯(Rick Stevens)说:“报告之所以重要,是因为它引起了警钟。”他说,部分归功于Kogge的预测,“围绕降低功率,有很多知识分子在发酵”?

但史蒂文斯说,近年来,许多新技术帮助降低了功耗。一个关键的进步是使内存更靠近计算核心,以减少数据必须遍历的距离。出于类似的原因,工程师还向上构建了高性能存储器阵列,而不是将它们分布在两个维度上。超级计算机也越来越多地包含闪存,就像其他一些广泛使用的存储器类型一样,闪存不需要电源来维护数据。电路设计人员可以在不使用时关闭芯片中的电路,或者更改其电压或频率以节省功耗。

对处理器的更根本性的改变也产生了影响。一个重要的发展是采用了通用版本的图形处理单元(GPU),它在视频游戏渲染等应用程序所需的数据密集型数字运算方面表现出色。结合了GPU和中央处理器(CPU)来引导流量的计算机在物理模拟方面特别熟练。劳伦斯·伯克利国家实验室(Lawrence Berkeley National Laboratory)的凯瑟琳·耶利克(Katherine Yelick)说,从编程的角度来看,在诸如《海底总动员》(Find)中的电影中逼真的海浪动画所需的计算与在气候模型中模拟大气动力学没有太大不同。

其他带有“轻量级”处理器的超级计算机也已建成,这些处理器抛弃了某些功能,以提高速度和能源效率。中国采用了轻量化方案来建造双威太湖光。在美国(2015年)对向中国的超级计算中心出售芯片实施贸易禁运后不久,该机器就以本土生产的处理器占据了首位。北京航空航天大学的计算机科学家钱德培说,Sunway的轻量级处理器与花园式CPU并没有根本不同,他正在帮助管理中国的百亿努力。单个内核得以简化,本地内存有限且速度较低。但是,随着许多人的共同努力,整个机器更快。

美国能源部的第一个百亿亿千瓦级电系统的目标用电量为Aurora,为40兆瓦,其回旋余量绝对最大为60兆瓦。计算巨头英特尔的任务是为机器制造芯片,而位于华盛顿州西雅图市的超级计算公司Cray已被分包以组装整个系统。关于如何实现该目标的细节尚未公开。但是,加利福尼亚州圣克拉拉市英特尔公司高性能和百亿分之一计算的首席架构师Al Gara表示,该公司正在开发一个旨在最大程度地减少功耗的新平台(包括新的芯片微体系结构)。

其他人则有更进取的目标。钱其琛说,中国的首个亿兆级系统的目标功率将仅为30兆瓦。CEA的高性能计算专家Jean-Philippe Nomin茅说,随着2022年或2023年的最后期限以及系统运行时间的延长,欧洲项目可能会降至10兆瓦。巴黎附近萨克勒的原子能委员会。但是,能源效率只是一个因素:还有性能问题。

“ xascale”的含义已经成为计算机科学家的灵魂探索问题。最简单的定义是一台计算机,它可以以1 exaflop(相当于1,000 petaflop)的速率处理一组特定的线性代数方程。自1993年以来,一组研究人员就一直使用称为LINPACK的基准对超级计算机进行排名。

LINPACK已成为超级计算机性能的简写,并且自2013年6月以来,中国制造的超级计算机已位居榜首(请参阅“玩具飞跃”)。田纳西大学诺克斯维尔分校的计算机科学家,世界500强企业的创始人杰克·东加拉(Jack Dongarra)说,但是速度并不是一切。邓加拉说:“每个人都想吹牛。”但是他将超级计算机的最高额定功率与汽车测速仪上的最高速度进行了比较。尽管每小时300公里的行驶能力似乎令人印象深刻,但真正使大多数汽车获得价值的是它们在限速行驶过程中的日常表现。

以类似的方式,计算机通过特定的线性代数运算进行压缩时的速度不一定反映其预测药物活性,训练神经网络或执行复杂模拟的能力。所有这些都对处理能力提出了不同的要求,在这些要求上可以并行处理各种计算以及必须移动多少数据。Top500“衡量”是衡量硬件在实际应用程序中的运行状况。美国能源部科学办公室高级科学计算研究副主任芭芭拉·海兰德(Barbara Helland)说。

尽管如此,当今的顶级超级计算机已经“必须提供最高的LINPACK性能”?去年从英特尔退休的计算机科学家Shekhar Borkar说。Borkar说,现实世界中的科学应用可能会使用该速度的10%,但更典型的是仅使用1.5%。他希望这种限制将持续到亿亿级。

在美国,人们越来越关注峰值速度与实用程序之间的这种脱节关系,从而得出了以应用为导向的百亿亿次计算定义。美国能源部的目标是使其第一台亿万亿次计算机的性能要比美国目前最快的系统-17.6 petaflops(由LINPACK测量)Titan好。例如,这可能意味着在给定时间内筛选50倍的潜在太阳能材料,或者以空间分辨率提高50倍来模拟全球气候。

为了追求这些成就,能源部正在与来自学术界,政府和行业的数百名研究人员合作。它已经组建了25个团队,每个团队都负责设计软件,这些软件可以利用百亿亿美元级的机器来解决特定的科学或工程问题,例如发动机设计。史蒂文斯说,美国百亿亿次超级计算机成功的主要指标将是其在这25种应用程序上的性能的“计量平均值”。

在开发此类计算机时,该机构还试图改善使用超级计算机的人员,编写软件的人员与负责构建硬件的半导体公司之间的协作。通过DOE百亿美元级项目,“可以”将这些社区聚集在一起。负责该项目的美国橡树岭国家实验室的计算机科学家道格·科特(Doug Kothe)说,我们可以迫使这种融合。称为协同设计的将用户和构建者联合在一起的策略并不是什么新鲜事物。但是,科特说,“还没有像现在这样广泛而深入地完成这一工作”?

“这已经有20年了”。华盛顿特区国家核安全局(NNSA)负责超级计算研究和运营的项目经理Thuc Hoang说,这是我第一次看到这种协调和支持。

在这些不同领域的科学家与工程师之间促进合作的并不只有美国。中国超级计算计划因在原始速度上优先于科学而受到批评,该计划还在百亿亿次努力中使用了协同设计,重点是15个软件应用程序。钱先生说:“必须将软硬件开发与领域科学家联系起来。”

未来的证明

但是,博卡(Borkar)和其他一些观察家担心,中国和美国的第一个百亿亿级系统可能是特技机器,无法在实际应用中很好地工作。博卡尔说:“提供更高的应用程序性能将意味着对机器进行不同的设计,更加切合实际。”他补充说,“肯定会损害LINPACK的性能,从[a]营销角度看,它们看起来很糟糕”?(Borkar指出,尽管他仍然为美国政府和私人公司提供咨询服务,但这些观点是他自己的观点。)

博尔卡尔说,他希望美国尤其是坚持在2008年首次制定的计划,而该计划将把百亿亿次转换作为一次从根本上重新考虑计算的机会。他说,“进化的方法将失败。”“渊源需要一种革命性的方法。”史蒂文斯说,闭门造车正在发生重大变化。他预计,美国能源部将在圣诞节前后左右完成与英特尔的正式合同。他说,在那之前,“泪可以告诉你我们在做什么,但它很有创新性”?

但是,如何积极推动超级计算存在局限性。对于新一代的超级计算机,程序员必须以他们拥有的软件为基础。Hoang说:“有遗留代码。”她在国家核安全局(NNSA)上运行的程序依靠超级计算机来维持美国军械库遵守禁止核武器试验的规定。“由于我的办公室负责,我们可以”只丢弃花了我们十年时间进行开发和验证的旧代码。

预算限制也决定了美国的百亿亿美元级计划。Aurora原本打算成为180 petaflops的机器,并于2018年在Argonne开始运营。但是该机构没有足够的资金来开始调试百亿美元的硬件。美国能源部没有公开征求建议书,而是将英特尔和Cray的Aurora合同改为了百亿亿兆赫的机器,该机器将于2021年提供。史蒂文斯(Stevens)充满信心,他们拥有正在交付的技术。

同时,其他百亿亿美元级计划正在取得进展。中国仍有望在2020年首先达到亿亿美元。该国正在评估三个原型。Dongarra说,其中两个是在容纳该国最快机器的超级计算设施上建造的,很可能是该国率先采用的轻型架构的变体。第三个是由北京的计算公司Sugon建造的,该公司与高性能芯片开发商AMD有关系,因此可以使用AMD强大的微体系结构。Dongarra认为,这台机器可能会具有新功能,并且不同于轻量化。

同时,研究人员正在考虑要在未来几十年中超越百亿亿美元并实现更快,性能更好的超级计算机。产生下一代超级计算机可能意味着采用当今仍处于最早阶段的技术:神经形态电路,也许以大脑中神经元的运行或量子计算为模型。

但是,许多研究人员主要担心的是确保他们能够交付承诺的百亿分之一系统,并且为他们开发的科学应用程序在加电后即能正常工作。Helland说,“做大量的工作”。“什么让我彻夜难眠。”?/ p>

自然551,554-556(2017)

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。