2017年7月初,美国田纳西州橡树岭国家实验室的工作人员开始用一台计算机“巨兽”的组件填充一个巨大的房间:一排排整齐堆放的计算单元、约290公里长的纤维光缆以及能承载一个泳池水量的冷却系统。能源部(DOE)希望,当这台耗资2.8亿美元、被称为“顶点”的机器在明年上线时,它将使美国重新获得自2012年起便丢失的称号:全球最快超级计算机的所在地。 按照设计,“顶点”将以200千万亿次的峰值速度运行,即每秒钟实现200千万亿次的浮点运算。这将使“顶点”比位于中国的现有世界纪录保持者快60%。 不过,对于很多计算机科学家来说,“顶点”的完工只是相当于在一场漫长的比赛中跑完了第一圈。在全世界,由工程师和科学家组成的团队正在瞄准处理能力的下一个飞跃:百亿亿次级计算机,即以令人震惊的1000千万亿次或者更快速度运行的计算机。目前,已有来自4个国家或地区的团队同本地区计算机行业合作,朝这一雄心勃勃的目标迈进。中国计划在2020年运行第一台百亿亿次级机器;美国计划通过DOE的“百亿亿次级计算项目”,到2021年至少建成一台机器;欧盟和日本也将紧随其后。
速度并非一切 对于计算机科学家来说,“百亿亿次级”的含义成为一个需要深思的问题。最简单的定义是能以1百亿亿次(相当于1000千万亿次)的速度处理一组特定线性代数方程组的计算机。自1993年起,一群研究人员利用这个被称为LINPACK的基准推出超级计算机500强排行榜(Top500)。
于是,LINPACK成为超级计算机的代名词。自2013年6月起,中国建造的超级计算机一直名列榜首。不过,田纳西州大学计算机科学家、Top500榜单创始人Jack Dongarra认为,速度并非一切。他将超级计算机峰值比作汽车速度计上的最高速度。尽管拥有每小时达到300公里的能力可能令人印象深刻,但真正赋予大多数汽车价值的是它们在日常驾驶时的表现如何。 同样地,计算机在进行特定线性代数操作时的速度并不一定反映其在预测药物活性、训练大脑神经网络或者执行复杂模拟时的能力。所有操作均对处理能力、可并行处理哪类种类的操作以及移动多少数据提出了不同需求。DOE科学办公室负责先进科学计算研究的副主任Barbara Helland认为,Top500“并未衡量硬件在真实的应用程序中表现如何”。 去年从英特尔公司退休的计算机科学家Shekhar Borkar表示,真实世界的科学应用可能利用了这一速度的10%,但更常见的是仅利用了1.5%~3%。据Borkar预测,这种限制在百亿亿次超计算机上仍将存在。
峰值速度和实用性脱节的担忧 在美国,日益增加的关于峰值速度和实用性之间脱节的担忧,促成了一种针对百亿亿次级计算的不同定义,即由应用驱动。DOE的目标是让首台百亿亿次级计算机的性能比该国目前最快的系统——17.6千万亿次的“泰坦”高出约50倍。举个例子来说,这可能意味着在既定时间内筛选出的潜在太阳能材料比之前多出50倍,或者对全球气候进行建模时空间分辨率提高了50倍。 为追寻这些目标,DOE正在同来自学术界、政府和业界的上百名研究人员展开合作。它成立了25个小组,每个均肩负着设计软件的任务。这些软件能利用百亿亿次级机器,解决特定科学或工程问题,比如引擎设计。阿贡国家实验室负责计算、环境和生命科学的副主任Rick Stevens介绍说,美国百亿亿次级超级计算机成功的主要标准将是“其运行25种应用程序的性能得分的几何平均值”。 在开发此类计算机的同时,该机构还试图改善利用超计算机的人、编写软件的人以及负责建造硬件的半导体公司之间的合作。正在领导该项目的橡树岭国家实验室计算机科学家Doug Kothe表示,通过DOE的百亿亿次级项目,“我们正在将不同圈子的人集合在一起”。这种将用户和建造者联合起来的策略(所谓的协同设计)并非新鲜事。但Kothe表示,“它从未像现在这样被如此广泛地应用”。 “我从事这行有20年了,第一次看见这种类型的合作和支持。”在华盛顿国家核安全管理局(NNSA)负责超级计算研究和运行的项目经理Thuc Hoang表示。
避免成为“噱头”机器 不过,Borkar和一些其他的观察者担心,这些正在建造的百亿亿次级系统可能会变成在实际应用中表现并不怎么好的“噱头”机器。“具备更高的应用性能意味着以一种不同的、更加现实的方式设计机器。”Borkar认为,“这显然会损害LINPACK表现,使机器从营销的角度看上去很糟糕。” 他同时表示,希望美国能坚持最早在2008年形成的计划,即将百亿亿次级变革视为更加激进地重新思考计算行业发展的机会。“演化性质的方法将会失败。”Borkar表示,“你需要革命性的方法”。Stevens则认为,巨大的变化正在悄悄进行。据他预测,DOE将在圣诞节附近或者之后完成同英特尔的正式合同。不到那是,“我无法透露我们正在做什么,但它非常具有创新性”。 不过,仍有一些因素限制了推动超级计算发展的激进程度。对于每一代新的超级计算机来说,程序员必须以他们拥有的软件为基础。“我们有一些遗留代码。”Hoang介绍说,她在NNSA运行的项目依靠超级计算机维持美国的军火库遵从关于测试核武器的禁令。“考虑到我所在办公室负责的工作,我们无法丢掉花费10年时间开发和验证的旧代码。” 与此同时,预算限制对美国的百亿亿次级计划有决定性影响。按照计划,“极光”将是一台180千万亿次的机器,并且于2018年在阿贡开始运行。然而,DOE并没有足够的经费委托外部公司生产百亿亿次级超级计算机的硬件。为此,该机构没有发布公开招标公告,而是改变了同英特尔和克雷公司签署的关于“极光”的合约,要求后者到2021年供应一台百亿亿次级机器。 与此同时,其他百亿亿次级项目正在取得进展。中国仍打算最先在2020年建成百亿亿次级超级计算机,并且正在权衡3个样机。Dongarra介绍说,其中两个被建在已拥有该国最快机器的超级计算设施内,并且可能在该国开创的轻量级结构上有所改变。第三个正在由“曙光”公司建造。该公司同高性能芯片开发商AMD建立了良好的关系,因此可能获取到后者的主力微体系结构。Dongarra认为,这台机器可能拥有新的特征,并且同轻量级结构不同。 研究人员还在考虑未来几十年内超越百亿亿次级并且打造更快和性能更好的超级计算机需要什么。建造这样的超级计算机可能意味着采用一些目前仍处于初步发展阶段的技术:根据大脑中神经元运行建模的神经形态电路或者量子计算。 不过,很多研究人员的主要担心是确保当百亿亿次级系统启动时,系统以及为其开发的科学应用程序能正常运行。“让百亿亿次级系统运行起来。”Helland说,“这就是让我晚上辗转难眠的事情。”
相关主题 |