服务器 频道

SC14报道之7:超级计算机的速度能有多快

  【IT168 评论】谈到超级计算机,性能是一个永远聊不完的话题,过去我们已经比了几十年了,未来还会继续比下去,每次TOP500或TOP100发布时,就象《射雕英雄传》里的华山论剑一样,“天下武功唯快不破”嘛,八仙过海,各显其能,比的就是看谁算得快。

  根据今年6月的TOP500榜单,性能最高的是来自中国的天河2号超级计算机,其峰值计算速度是每秒5.49亿亿次(54.9PFLOPS),比每二名的美国“泰坦”快了近一倍,这也是中国连续第3次获得冠军。有专家说了,天河2号运算1个小时,可以让全中国13亿人同时用计算器算上1000年。11月份最新的TOP500会是个什么结果,需要等11月18号(美国时间)发布,着急想知道的朋友可以关注这里:http://www.top500.org/lists/

  华山论剑,到底比啥?

  问题来了,你说你快,具体指的是哪方面快?用什么样的指标来衡量?这里就得提到这样一个概念:FLOPS,即“floating point operations per second,每秒所执行的浮点运算次数”,用它来衡量一个电脑计算能力,具体到TOP500和TOP100,指的是在跑Linpack这个基准测试软件时的浮点计算速度。而Linpack是线性系统软件包(Linear system package) 的缩写,其原理是用高斯消元法求解N元一次稠密线性代数方程组(笔者不是搞技术的,这么专业的东西俺不懂,大学里最头疼的一门课就是数学),以评价高性能计算机的浮点性能。Linpack不同于测试数据库性能的TPC-C、测试硬盘吞吐能力的Iometer或测试内存带宽的stream,跟你笔记本电脑在开机速度上打败全国多少多少台电脑的概念更不是一回事了。具体来说:

  一个MFLOPS (megaFLOPS) 等于每秒1百万 (=10^6) 次的浮点运算;

  一个GFLOPS (gigaFLOPS) 等于每秒10亿 (=10^9) 次的浮点运算;

  一个TFLOPS (teraFLOPS) 等于每秒1万亿 (=10^12) 次的浮点运算;

  一个PFLOPS (petaFLOPS) 等于每秒1千万亿 (=10^15) 次的浮点运算(现在的水平);

  一个EFLOPS (exaFLOPS) 等于每秒1百亿亿(=10^18)次的浮点运算(专家说2020年才能实现)。

  目前,能达到千万亿次每秒(PFLOPS)的机器早已经不算稀奇了,按今年6月份那期TOP500榜单(这里下载:http://www.top500.org/lists/2014/06 )来看,峰值性能,也可以说是理论性能,能达到PLOPS的机器已经有55台了。不过到现在,还没有百亿亿次每秒即EFLOPS的机器出现,根据TOP500的历史数据趋势来预测,这个“怪物”大概需要等到2020年左右才会出现。

  这么比有人不服

  每当榜单发布之后,政府、厂商、媒体跟着一起忽悠,那NO.1、TOP10可谓风光无限,中外皆是如此,堪比古代的状元及第。不过,也有人不服这个排行。不服的理由归纳起来大概有这么几点:

  第一种说法是:你比峰值速度有什么意思,要看你大多数情况下能达到的最大速度,要看Linpac实际效率,按这个比,6月份TOP500中就只有37台可以达到PFLOPS以上,天河2号也从54.9PFLOPS降到了33.8PFLOPS。

  第二种说法是:不能光比Linpack总体计算性能,我要看你用了多少度电,占了多少空间,要比就比每度电你能达到什么样的性能,每英寸的占地空间你能产生多少性能,因为现在的能源太紧缺了,房价又那么高,也不是每个用户都跟美国政府或中国政府那样不差钱等等,于是又有人搞出了个GREEN500,美其名曰:绿色超级计算机排行榜,有兴趣的看这里看这里:http://www.green500.org/。

  第三种说法是:比Linpack有什么意思,这东西也就是科学计算中用用,平常实际工作中又用不上,比它没劲,现在大数据很火,我们要比你处理大数据问题、图形问题时的性能,不能只比Linpack,于是又有人搞出来个Graph500,感兴趣的看这里看这里:http://www.graph500.org/。

  第四种说法是:Linpack有什么好比的,不能当饭吃,要比就比在行业应用中的性能,砍柴刀、杀猪刀、手术刀、水果刀虽然都是刀,可用处不一样,不能只比谁快。超级计算机作为一种工具也一样,有用来做石油勘探的,有用来做气象预报的,有用来做工程或产品设计模拟的,有用来搞动漫渲染的,有用来做科研发论文的,用到的应用软件那可是五花八门,你得针对应用来优化你的性能,因为有的应用是计算密集型,有的是内存密集型,有的是数据密集型,有的对IO吞吐有更高要求等等。这算是正解,只可惜应用差异太大,没法比,所以虽然很多厂商或用户都不满意TOP500,但至今也没有产生一个在具体HPC选型时可以针对自身应用的一个参考排行,而且具体到某个行业或领域来说,用户少,就哥几个,比起来也没啥劲,喝酒吃饭的时候交流交流,切磋一下,互换点经验就得了。

  看来TOP500、TOP100还是无法取代的,我们还得接着比下去。那下一步最大的看点就是谁能最先做成EFLOPS级别(每秒算百亿亿次)的机器出来——PFLOPS(每秒算千万亿次)已经是小儿科了。

  从P级到E级,没那么容易

  对于HPC下一步性能和产业发展的问题,我这里再借花献佛一下——曙光公司董事长、中国工程院院士李国杰最近在HPC China 2014上做了一个报告,他把中国高性能计算的发展总结成两个阶段:

  一是上世纪90年代中期以前的“性能优先”阶段,那时HPC基本上就是以追求性能为主,应用面也只局限在科学与工程计算领域,只有极少数的企业参与其中,代表性的技术是向量机和MPP;

  二是当下所处的“市场优先”阶段,参与的厂商很多,主要是通过低成本、短时间的方式来提升性能,如构建大规模的Cluster集群,而且应用面也开始扩大到互联网、企业数据中心领域,产业链基本成熟。

  但是,李院士也提到了,面对E级系统,现有的P级技术方案已经难以为继,主要是受到功耗、占地面积、系统可靠性方面的限制。如果按照现在的方案来构建EFLOPS的计算机系统,需要占地1.3万平方米(将近两个足球场,天河2号是720平方米,有统计说2013年全中国数据中心保有量约为4.5万个,总面积为1000万平米,这个值可以参考一下),需要320MW的电(相当于一个大中型城市的用电量,天河2号是17.8MW,光每天的电费就得好几十万,有几个土豪能用得起),系统平均无故障时间小于1小时,这不足以完成检查点的保存。

  总之,你用现在主流Cluster集群来搭E级系统,根本没戏,咋整?

  从P级到E级,这将不只是一个简单的谁快谁慢的问题,而是一种平台的突破:需要新的芯片设计和材料技术来突破摩尔定律,需要用新的思维和架构来突破已经在TOP500中占据了80以上份额的Cluster系统,需要人类共同的智慧与努力来解决机器规模增长带来的一系列烦恼与挑战:

  怎么降低功耗,节省能源?

  怎么提高密度,节省机房空间?

  怎么控制成本,提高ROI?

  怎么突破内存和网络I/O的瓶颈,补足系统的短板?

  怎么增强可靠性,让系统达到更高的高可用水平?

  怎么优化并行软件的开发,提高效率,保证数据一致性?

  ......

  这些话题也是这几年无论是国内的HPC China(全国高性能计算学术年会),还是国际性的ISC、SC等大会上,业界讨论和分享的诸多重要话题,它们代表了HPC未来的技术方向。

  我们期待着质变、突破的那一天!也希望这次在SC14大会上我们可以看到更多的进展,更多报道请关注SC14直播专题:http://live.it168.com/221.html。

2
相关文章