千万亿次:标杆已被越过 时代还未到来

DoSERV服务器在线 3月27日原创报道:千万亿次计算的标杆已经被越过,就像跳高名将,有着“女布勃卡”之称的伊辛巴耶娃所做的那样,Roadrunner自去年12月,就已经以世界上第一台“混合”超级计算机的身份触摸并越过了千万亿次计算的标杆,10的15次方,这个看似曾经几乎不可能的性能极限在2008年被打破,而在Roadrunner诞生的十年前,这一计算能力还被大多数人认为是望尘莫及并且是几乎在未来“二十年内无法到达的”——但正像珠穆朗玛峰一样,千万亿次计算的高峰已经被智慧的人类所登顶了。

在过去的十年中,超级计算机的计算能力增加了大约1000倍。今天,仅仅3个Roadrunner 3-刀片处理单元就可与1998年速度最快的计算机相匹敌。一项复杂的物理学计算,在1998年,计算机需要花费20年的时间才能够完成(到如今才刚刚完成了一半),而如今Roadrunner仅在一周之内便能完成。如果汽车油耗在过去十年中的改进速度能够赶上超级计算机成本和效率的提升速度,那么如今一加仑汽油将可以行驶20万英里。

但是,就像伊辛巴耶娃虽然跳过五米大关,但整个女子撑杆跳的水平仍然徘徊在五米之下一样,Roadrunner的出现真的意味着千万亿次时代的到来么?2008年之后,我们真的可以说:“高性能计算已经迈过千万亿次计算门槛。”这样的话么?顾凡认为,说这样话还为时过早。

Linpack:一场堆积的繁荣

正如我开头所言,顾凡在一开始便同意了我所谈到的“仅仅是Linpack值的到达不能够代表时代到来”的说法,而在之后接受采访时,他谈到的内容则一直围绕着他在对于Linpack堆积所带来的千万亿次计算的看法:“我并不认为简单的Linpack的千万亿次的堆积就可以被称为千万亿次计算。”

作为英特尔(中国)有限公司服务器产品事业部服务器平台市场经理,顾凡在每年两次TOP500榜单发布之后都会出现在媒体面前,并一直在不厌其烦的谈着一个问题:什么是千万亿次计算的既定目标?他认为,千万亿次计算的既定目标或者说必须要考虑的关键点包括三点:多大的空间密度、耗费多少的能耗以及明确的应用目标——千万亿次计算应该是在一个合理的空间/密度下,能耗在可承受范围内,应用目标和建设目的明确的前提下,所构建的性能达到千万亿次的超级计算机,而不是Linpack值堆积后高高的,但是无用或是普罗大众所能消耗的起的金字塔尖上的“尖端科技”。

“简单的堆积很容易,尤其是现在这种集群架构,其实并不存在不断增加节点的挑战,但关键是,增加了节点,要用来干什么怎么干。”顾凡坦露,性能、能耗和高密度现在甚至在国内的百万亿次计算上都还存在着问题,何谈千万亿次计算?而且,即使当下像Roadrunner这样的系统真的层出不穷,却又有什么用呢?

仅仅从性能,或者说Linpack值上来看,Roadrunner所堆积出来的确实是一个性能超群的超级计算机,但如果你亲临Roadrunner的现场,你会看到什么?6562个双核AMD处理器和12240个Cell芯片,98TB的内存被安装在占地5200平方英尺的相当于278个冰箱大小的机架之中,而10000个连接点耗费了55公里长的光纤电缆,而最夸张的是,Roadrunner的总重量达到了500000磅,而运行起来所需要的电力更是大的吓人——于是,你会发现,你心中Roadrunner的形象正在改变,它更像是一个必胜客里堆叠出来的沙拉塔,大的恐怖,但真正能够消化得了人其实寥寥无几。

而最关键的就是:又有几个人能够消化得了这么庞大的一个沙拉塔呢?

恐怖的Flops:吃不掉的沙拉塔

顾凡认为,现在高性能计算系统,最大的问题与几年前要到的问题其实差别并不是太大:“你很难找到应用,能够把处理器充分调动起来,应用程序遇到大的集群时,系统资源的调度仍然有极大的问题。”作为全球最主要的服务器处理器的提供商,英特尔除了单纯的提供处理器之外,一直在做的一件事情就是构建基于其产品的生态环境,对于安腾来说如此,对于高性能计算来说也即是如此,但是,现在在顾凡看来,这个生态环境最重要的一环——应用,缺失的实在是有些太过令人遗憾,他甚至颇感可惜的表示,现在国内高性能计算的挑战,其实是将更多的应用扩展到百万亿次上,因为中国应用程序仅仅能调度1000个处理器而已。

显然,堆积出来的百万亿次高性能计算机已经让国产的应用程序挠头了,这个一百层的沙拉已经难以被消化了,甚至搞得有些人已经开始消化不良了,千万亿次从何谈起呢?那岂不是要搞得需要去医院做胃镜了?

顾凡所言“国内现状”看起来说的是百万亿次应用的情况,但实则所折射的正是全球千万亿次计算所面临的问题(很明显的,无论百万亿次,遑论千万亿次?)。“从百万亿次到千万亿次,再到未来的XScale,甚至是更加长远的未来,我们现在做的应该是搭建一个可以从百万亿次到千万亿次的桥梁,要顺利的跨越过去。”——不需要重新设计应用程序,不需要重新的架构应用,更不需要将一切推倒重来,这才是我们迈向千万亿次计算的关键,否则,当我们一次又一次在时代的门槛上重新穿戴整齐时,时代早以远去。

“软件要解决的问题有两点,第一,充分利用现有的应用程序,并让他们能够更加充分的调度处理器;第二,保证现有的应用程序在千万亿次之后不仅要跑的起来还要跑得好。”顾凡所言其实正是点中了“高性能计算的生态环境”的要害——现在的应用跑不好,未来的系统跑不上,Roadrunner其上的应用并非复杂,而除了Linpack之外,现在Roadrunner又有什么能够实实在在的跑起来的复杂应用?

毕竟,高性能计算将要服务的更多是金字塔塔尖之外的部分,而这一部分,就是关乎我们生活的与我们最接近的高性能计算,恰恰需要迈过“应用程序与千万亿次磨合”关的,也便是这一与我们休戚相关却如顾凡所言“有问题”的部分——于是,我们的千万亿次计算,恐怖的Flops,就像是一大盘吃不掉的沙拉塔,丰美的沙拉却只是必胜客浪费最多的食品。

千万亿次:没什么硬件挑战 架构需有延续性

如果说顾凡认为虚拟化对千万亿次计算没有什么太大作用并不出乎我的意料的话,那么,他所言“千万亿次计算对硬件没有太大挑战”则让我有些咋舌,在他眼里,既然Roadrunner已经出现,那么至少而言,在2008或者2009年,单从处理器而言千万亿次就已经能够满足了——只是他后面话其实真正说明了一个更深层次的道理。

“从业界来看,2018年就能够到达100PFlops,但是今天的问题不仅仅是PFlops,我们不能只看千万亿次这个数值,而是要考虑架构的问题,架构能否继承,能否延展。”对于这个问题,顾凡提到了著名的“英特尔金箍棒”。

在2008年的IDF上,英特尔公司高级副总裁兼数字企业事业部总经理帕特•基辛格曾引用了老幼皆知的《西游记》,他讲到,《西游记》中,最著名的美猴王孙悟空可以根据自己的愿望把自己的金箍棒放大或缩小,大到可以撑天,小到可以像绣花针一样藏进耳朵。而英特尔架构(IA, Intel Architecture),就像金箍棒。当时,基辛格对与会听众讲到,“我们希望用英特尔的架构在IDF上把你们变成美猴王。从手持的设备到超级计算机,都可以充分的利用英特尔架构的兼容性和扩充性,可以使合作伙伴不断地伸缩,充分利用这一架构,也就是在每一个平台上都利用这个架构。很难想象今天的生活或者今后的生活,如果没有IA为大家提供服务,我们的生活会是怎样?”

高性能计算不仅具有强大的性能,不仅与处理器、编译器和软件等多方面综合因素密不可分,更重要的是,要由小变大的能力。“金箍棒是一个扩展的概念,可以由小变大,能够应对未来很多年的应用。”顾凡谈到,从业界的看法来说,单处理器的浮点计算能力要超过10TFlops,甚至达到20TFlops才能够让业界的高性能计算机达到一个超高密度超低能耗的100PFlops的阶段,这是金字塔的尖端部分,而对于一般的千万亿次来说,处理器事实上已经就绪了,但是高性能计算要有一个长期的发展,这也就对处理器的架构提出了挑战。

随着应对未来计算而出现的处理器发展分支化,超高密度超低能耗的100PFlops的高性能计算需要的是远超过180核处理器构想的产品——180核的处理器也不过1TFlops的浮点性能,而商品化的高性能计算,也就是那些与你我休戚相关的高性能计算,则需要的是一种从百万亿次到千万亿次甚至到XScale都能给通用的架构,而功耗要随着目前的1TFlops 6000瓦降低到200瓦之下,这就要有“金箍棒”,或者说,能够在一个趋同、平滑移植、可以随时扩展的架构下,由小变大,由百万到千万,构造商业性的、金字塔最大的部分的高性能计算。

顾凡对于这个问题有一句十分精辟的话值得我们分享:千万亿次计算对处理器的宏观上没什么区别,时代的来临需要业界的一个共识:合理不合理——如果允许我补充的话,我会对所谓的合理不合理在功耗、密度和体积之外再补充一点:是否是可以扩展伸缩的。

架构的延续性对商业性的、那些我们身边的高性能计算来说,显得重要且必然,而从这个角度来说,对英特尔来说,或许真的不是什么太大的挑战:Flops已经就绪,架构仍能够延续。

安腾:拥有自己一片天

顾凡很明确的表示:“对于安腾来说,其并不会出现在千万亿次计算的发展里面。”

去年年底,在TOP500榜单发布后,我曾两次撰文,为安腾在高性能计算上的落寞而“鸣冤”,而对于顾凡来说,这或许是一件正常的现象。顾凡认为,安腾在TOP500这样一个追求Linpack的排行榜上的落寞是正常的,因为安腾确实已经在Linpack层面与至强处理器出现了差距,而安腾,仍然拥有自己的一片天空。

“我们都知道,安腾是面向企业级高端应用的,是一种面向未来的架构,我们一直希望更好的配合OEM厂商的发展。”如果让顾凡选择,相信他对于那些需要稳定的高性能计算系统的企业一定会大力的建议他们采用安腾,不过,对于安腾来说,虽然从处理器扩展内存和高可靠性的要求方面,着实棋先一招,但可惜的是,安腾仍然不是普罗大众的珍馐美味。

“安腾的价格成本还是很高的,这就像金字塔尖上的部分,可以用钱换来技术,但是如果像高性能计算这样的超大规模的应用,成本还是有问题的。”于是也就出现了我们今天看到的TOP500,至强正在这样一个“努力用低成本来堆积高Linpack值”的市场上逐步发展,用顾凡的话说就是“扮演普及化的角色”。

但对于安腾来说,仍然有一片自己的天空。

在短短的三十分钟访谈中,顾凡为我们说明白了三个问题:什么才是真正的千万亿次计算、千万亿次计算需要注意的地方、千万亿次计算对现有的处理器架构所带来的挑战和要求,以及他对于安腾未来在高性能计算方面发展的看法,而在这其中最引起我注意的,绝对是有关应用程序与微处理器架构的话题,毕竟,在这样一个临近英特尔Nehalem-EP处理器发布的日子里,我们来谈千万亿次计算,更多的不仅仅是来谈一个TFlops还是PFlops的数学问题,而是希望找到未来高性能计算的发展方向——在应用程序和微处理器架构两个关键点中,显然,Nehalem的出现会带来不小的改变。

而这些改变,我们现在已经能够发现,能够预知,但这个话题,在Nehalem-EP发布之前的今日,也只好暂且按下不表,等到其正式出现在我们面前之后,我们能说的话题将更多。