1、前言
如果我们对高性能计算TOP500榜单进行预测一下会发现,速度突破100 Petaflops的系统最有可能在2016年出现。在过去的11年内,计算机系统的性能从Gigaflops(1986年推出的Cray 2)、到Teraflops(1997年推出的Intel ASCI Red)、再到Petaflops(2008年推出的IBM Roadrunner),性能增长了1000倍!虽然性能提升速度迅猛,但是高性能计算领域将越来越多地被高度计算密集型应用刷新纪录。这些应用来自不同的领域,例如量子物理学、气象预报、气候研究、分子模拟(计算化学元素的结构和组成、生物大分子、聚合体和结晶体)、物理模拟(例如飞机在风道中的飞行模拟以及核子融合研究)、密码分析学、以及针对石油开采的地震处理。对于以上大多数应用来说,只有Petaflops级的计算系统才能得出详细的计算结果。Exascale级系统有望在2019年出现。
那么在不久的将来会有怎样的发展趋势呢?现在和未来所有高性能计算系统的处理器需求带来的最大挑战就是:低成本、低能耗、并行程序支持的可用性以及对现有代码的有效运用。
2、大型集群中的多核系统
最近高性能计算系统方面的发展趋势表明了未来性能的增长将只通过增加系统规模来实现,例如使用大量组件,而不是提高单处理器的性能。
未来单CPU芯片将需要更高的主频,这就导致CPU能耗增加,产生更多热量和单CPU芯片的物理瓶颈,这些因素成为推动多核处理器技术的真正动力。从Terascale发展到Petascale级甚至更高的高性能计算系统意味着系统内的组件(内核、互连、存储等)数量也在迅猛增加。在不久的将来我们看到内核数在10万~100万甚至更多的多核集群系统。显然,这种高度并行的系统将带来并行软件开发、硬件容错和可靠性等诸多问题。
但是多核系统面对的真正难题是内存访问的带宽限制,因为一个多核芯片上的所有内核都在争夺内存访问路径。说到内存访问,一个很好的解决方案就是每个Flop和每个内核一个字节。如果这个解决方案可以实现的话,一个芯片有上百个内核都不成问题。Intel的Nehalem就是朝着这个方向,从每个Flop和每个内核半个字节。Intel最近展示了他们尚在实验室开发阶段、以未来为主导的原生80核芯片,预计计算性能将达到1 Teraflops。
未来的开发工作将主要集中在针对硬件架构满足并行程序的动态多核芯片,甚至未来还将开发具有矢量扩展的多核芯片。
有了所有这些多核技术,最终并行计算将普及开来。并行计算可以大幅提升高性能计算系统的速度、效率和性能,但是从1个发展到更多个中央处理单元(或者内核)并不是一件容易的事。
3、并行计算成为必需技术
硬件架构内计算组件的增加意味着我们要在应用程序的并行化上投入更多精力。向并行模式的转变并非易事,因为目前已经有很多项目是在单核技术基础上实施的。
并行计算机程序比连续计算程序更难编写,因为同步问题将带来不少潜在的软件漏洞,其中竞态条件是最常见的问题。在不同子任务之间的通信和同步往往是保持并行程序性能的最大挑战。众所周知,并行化工具的开发远远落后于高性能计算硬件。现在我们使用了很多不同的编程技术,例如将数据分区到CPU本地内存块中的数据定位技术。并行化将是每个基于多核系统的新程序开发的重中之重。嵌入现有的连续代码仍然是一个未解决的问题。
在一个芯片上增加更多内核的想法只有确保在并行编程上投入大量资金和精力的情况下才可能实现,否则超级计算机无法让应用运行得越来越快。正如我们在上面第2点中所说,未来性能增长的一个限制因素将是内存带宽。
4、GPU:既是多核的竞争对手,也是增值所在
GPU是多核CPU一个主要的竞争对手,它是一种用于科学计算的图形卡。关于GPU主要有四点:它的速度很快,而且会越来越快;它的价格很低;它的能耗更低,但是第四点也是它的瓶颈所在。
GPU仅适用于那些运行某种数值运算的任务。GPU是专门针对流程图、也就是处理数据流设计的。图形芯片可以被视作大量多核,在高端方面甚至有多达800个单元在同时运行,一个GPU集群内可能就有超过3000个。
以下的数字说明了GPU的巨大潜力。AMD和Nvidia最快的图形芯片已经达到了Teraflops层级,在这个范围内,普通的多核芯片的速度就显得相形见绌了。
GPU真正的问题在于,它不能像普通的x86、Sparc或者Power CPU那样进行编程。这就是为什么Nvidia GPU提供了CUDA技术的支持,CUDA提供了一系列用户层级的子路径,允许GPU利用标准C语言或者Fortran进行编程,无需使用专门针对图形的API。
东京技术研究所所使用的“Tsubame”超级计算机是TOP500榜单中第一个采用Nvidia Tesla图形芯片的系统。该系统集群有170个Tesla-S1070系统组成,理论性能可以达到170 Teraflops,实际系统可以达到7748 Teraflops,这在TOP500榜单(2008年11月发布的)上可以排到第29位。
未来的高性能计算系统中,硬件架构将成为一个由专门CPU和GPU类型内核所组成的系统。
但是就现在来说,高性能计算最具挑战性的问题就是能耗。未来,芯片制造商和数据中心经理必须解决能源效率和能耗的问题。
5、绿色IT和能耗
性能在Teraflops甚至更高的计算系统的能耗是非常惊人的。你可能还记得,曾经有一年美国经历了持续高温的天气,由于供电不足,很多超级计算机中心不得不关闭了他们的高性能计算设备。如果这种情况持续下去的话,未来4~5年内高性能计算数据中心的能耗将翻一番。据直接推断,Exaflops级系统的耗电量在兆瓦级。这就是为什么超级计算机中心经理尤其关注超级计算机开发的未来趋势,特别是能源供应方面。
惠普公司的Frank Baetke表示:“过去,传统的超级计算机中心在设计的时候并不考虑能耗问题。如果多核CPU的时钟频率只减少20%的话,那么其能耗相比以全时钟频率运行的系统减少了50%。”
高性能计算制造商和数据中心将更多地关注能源效率问题。因为,开发降低了能耗的高性能计算系统是很有必要的。
但是也许是我们已经在高性能计算领域划定了能耗的临界线,未来能耗增长将成为高性能计算应用的一个限制因素。现在,如何解决未来性能需求的同时不增加二氧化碳排放量、放缓全球温室效应仍然是一个亟待解决的问题。
一个解决办法就是不再将处理器生成的热量排放到空气中,而是通过液体进行冷却。这样,液体的温度升高,然后被输送到热量交换装置中,用于为办公室和房间供暖。现在,这方面的环境测试正在进行中。
绿色IT也和数据存储系统有着某些联系。
6、数据量将迅猛增长
数据量的增长将是惊人的,每几个小时产生一个Terabytes的速度已经不足为奇了。
尤其是在绿色IT的影响下,显著降低主存储组件的能耗是很有必要的。未来几年我们将看到在固态硬盘领域有新的开发成果出现。与传统硬盘驱动器相比,固态硬盘没有活动部件,他们的处理速度更快更稳定,可以切换到低能耗模式,而且固态硬盘的每瓦性能效率更高,这也是固态硬盘一个最大的优点。如果固态硬盘的价格可以降到足够低,那么它将成为取代传统硬盘驱动器安装在高性能计算系统中的最佳选择。
如果能够实现这一点,高性能计算必将步入主流趋势。
7、高性能计算将渗透到中小企业领域
集群多核系统的灵活结构——尤其是基于刀片技术——帮助高性能计算系统更广泛地渗透到中小企业领域。显然,数据中心会从低价位的小型高性能计算系统起步,然后根据他们的预算和应用需求逐渐扩展至更大型的系统。而且,越来越多的独立软件提供商也加入其中,通过他们的软件封装帮助企业更轻松地将高性能计算系统集成到他们的环境中。微软推出了可以取代Linux的Windows HPC Server,从而推动了高性能计算的采用率,为那些因为操作系统问题迟迟没有采用的用户提供超级计算机层级的性能水平。
最近出现的一个新名词——“集装箱”进一步丰富了高性能计算系统理念。这种解决方案的设计理念是根据需要精确地提供计算能力和存储空间。显然最终这将成为一种模块化统一解决方案,以“即插即用”的形式在短时间内增加超级计算机性能。唯一的问题是,如果集装箱是由卡车运输的话用户怎么办?
8、未来的发展趋势?
到2011年,劳伦斯利弗莫尔光电科学国家实验室(Lawrence Livermore National Laboratory)将采用IBM开发的Sequoia系统,并从2012年开始运行这一系统。Sequoia配置了160万个Power处理器和1.6 PB的主内存容量,性能最高可以超过20 Pflops,将登上TOP500的榜首。从技术角度来看,这款系统是IBM BlueGene/P架构的进一步开发,将16核45纳米芯片技术与最新基于光纤通信的交换技术结合起来。BlueGene/P系统的耗电量为6 MW,能效为3000 MFflops/Watt,相当于BlueGene/P的7倍,基于Cell处理器的Roadrunner的5倍。
9、云计算
25年来Sun一直秉承“网络就是计算机”的原则。2009年云计算将让这一口号真正变成现实。6月23日即将在德国汉堡召开的International Supercomputing Conference ISC’09上,来自Googel、Amazon、Yahoo、微软、IBM、惠普和Sun的演讲者将共同探讨一个重要话题:“高性能计算&云计算——伙伴还是竞争对手?”在4个多小时的演讲中,这些专家将展示和探讨云计算是否将继续影响着IT基础架构设计和交付满足网络、业务、也别是高性能计算用户不同需求的方式。
【编辑推荐】