若进展顺利,可能到2023年实现;若进展疯狂,明天就可以。
为建造更加强大的超级计算机所进行的全球竞赛如今关注的焦点是每秒1百亿亿次的浮点运算(百亿亿次级)。这样的系统需要对机器的计算方法以及数据的移动和编程方式进行大规模革新。这个过程或许经过8年也无法实现目标。但现在人们正在两台机器上设计未来成功的种子,或许仅2年就能达到目的。
中国和日本似乎都很关注如何在2020年前建造出一台百亿亿次级的超级计算机。但专家称,美国可能最早也要到2023年才能建造出首个实用型百亿亿次级超级计算机。为实现目标,工程师们需要做3件事。首先,他们需要建造出能将几万个CPU和基于图形处理器的加速器结合起来的新型计算机架构;工程师们还需要解决从超级计算机的存储器将数据移动到处理器所带来的能源成本增加的问题;最后,软件开发人员需要找出能够使用新型架构的程序设计方法。
克雷公司高级副总裁兼首席技术官史蒂夫•斯科特(Steve Scott)称:“某种程度上,这取决于一个国家愿意投入多少钱。你可以明天就建一个百亿亿次级的计算机,但那么做是很疯狂的,因为要运行它需要大量的费用和能源。”
诺特丹大学的计算机科学家和工程师彼得•蔻格(Peter Kogge)曾在2011年1月的IEEE Spectrum上写道,若仅靠提升今天的超级计算机架构来打造百亿亿次级超级计算机,那么打造出的机器将需要相当于千兆瓦规模的核电厂供能。然而,位于加利福尼亚州的劳伦斯•伯克利国家实验室的副主任霍斯特•西蒙(Horst Simon)称,美国政府希望在2020年之后的10年里,以2亿美元的造价和20到30兆瓦的功率实现实用型百亿亿次级的超级计算能力。(1兆瓦的功率每年要花掉100万美元。)
美国能源部最近宣布将对IBM、迈络思、英伟达及其他公司正在开发的、计划在2017年进行首秀的一对超级计算机(性能达到百亿亿次的十分之一或更多)投资3.25亿美元。规划中的叫做“Summit和Sierra”的超级计算机基于新型的计算机架构,可累积的内存几乎相当于英伟达的GPU加速器和IBM的CPU的总和。专家称,这一架构可以将数据在存储器和处理器间移动的能耗最小化,这是向百亿亿次级超级计算机迈进的一大步。
西蒙解释道,实用的百亿亿次级计算还需另行开发堆栈存储以及更快、更节能的互联来提高密集充填的超级计算机芯片的性能。但他预计,还需要其他的技术技巧。其中一项技术——硅光子学——就需要利用低功率的激光来提供系统内部的数据连接。
位于加利福尼亚州的劳伦斯•利弗莫尔国家实验室利弗莫尔计算的首席技术官伯若尼斯•德•塞平斯基(Bronis de Supinski)称,电能和成本还不是阻碍百亿亿次级实用系统实现的唯一因素。由于超级计算机要容纳非常多的元件,因此硬件故障的风险也会增加。他所在的实验室中一台叫做“红杉”的IBM蓝色基因/Q超级计算机现在平均每3.5~7天发生一次故障。而对于百亿亿次级的系统,这一时间间隔可能会缩短至仅30分钟。
对研究人员来说,要运行复杂的仿真或其他应用,这个时间段根本不够用。但能自动重启程序的软件有助于超级计算系统从某些硬件错误中恢复。德•塞平斯基称:“这就是硬件……带来的挑战最终不得不在软件中寻求解决方法的一个实例。”
专家还指出一个挑战,就是要为同时运行的几万个或几十万个CPU编写软件应用程序。编程对于较新的且包含GPU加速器的超级计算架构来说变得更加复杂。这就是为什么致力于研究规划中的Summit和Sierra机器的英伟达(总部位于加州圣克拉拉)及其合作公司已联系全球数千名大学里的软件开发人员,并开始传授他们有关加速器的知识。
除了Summit和Sierra,美国能源部还另投资了1亿美元来为百亿亿次级超级计算铺路。但这笔投资并不是为了使少数几个能负担得起这种设备的美国政府实验室受益。英伟达公司负责特斯拉加速计算业务的总经理苏米特•古皮塔(Sumit Gupta)称,制造百亿亿次级的超级计算机所需的新型计算机架构还会使超级计算变得更加容易广泛获取。
他说:“我一直好奇的是,一旦我们拥有了百亿亿次级的计算机,那么千万亿次级的机器将变成多小呢?它是能装进双肩包里还是能放在我桌子下面呢?普通大学生今天还做不了的那些研究,到时候他们能做到什么水平了呢?我总觉得这方面的问题更加有趣。”
作者:Jeremy Hsu