正在阅读:千万亿次背后 GPU加速成就中国第一超算千万亿次背后 GPU加速成就中国第一超算

2009-11-05 02:33 出处:PConline原创 作者:勤行 责任编辑:wenzhicheng
1天河一号配置情况详解回顶部

  中国的千万亿次计算机来的稍显突然,当众人还在纷纷猜测未来的曙光6000是否会有超过千万亿次的运算能力的时候,在上个月举行的HPCChina大会上,一款来自国防科技大学的“天河一号”超级计算机以1206万亿次每秒的系统峰值、560.3万亿次每秒的Linpack测试性能依据夺得2009年中国TOP100排行榜第一位,这也是中国首款运算性能超过千万亿次的超算系统。

  “天河一号”使得中国成为了继美国之后世界上第二个能够研制千万亿次超级计算机的国家,根据09年6月份的TOP500参数,“天河一号”峰值性能可以排在世界前三位,实测性能可以排在第四。而除了超高的运算性能之外,其CPU+GPU异构设计也是引起业界众多兴趣的原因之一,在当今的高性能计算领域,CPU+GPU的设计被普遍认为是未来发展的方向。

配置情况详解

  从官方公布的资料来看,“天河一号”在结构上包括了的硬件系统包括计算阵列、加速阵列、服务阵列,以及互连通信子系统、I/O存储子系统和监控诊断子系统等。

  而在具体参数上,这款超算计算阵列有2560个计算结点,每个计算结点集成2个Intel CPU,配32GB内存;服务阵列配备了512个服务结点,每个服务结点含2个Intel EP CPU、32GB内存;加速阵列使用了2560个加速结点,每个加速结点含2个AMD GPU、 2GB显存。

天河一号

  而除此之外,“天河一号”采用两级Infiniband QDR互,单个通信链路的通信带宽为40Gbps、延迟1.2μs的互联通信子系统,磁盘容量1PB的I/O存储子系统,另外其好配备有采用分布式集中管理结构,实现全系统的实时安全监测、系统控制和调试诊断等功能的监控系统

  除了硬件之外,作为一款超级计算机,没有软件系统的支撑其很难发挥自身的潜力,因此“天河一号”也配备了功能完善的软件系统。“天河一号”的软件系统包括操作系统、编译系统、资源管理系统和并行程序开发环境等四部分组成。

天河一号

  操作系统:操作系统采用64位Linux,面向高性能并行计算、支持能耗管理、虚拟化和安全隔离等进行了针对性设计。

  编译系统:支持C、C++、Fortran77/90/95、Java语言,支持OpenMP、MPI并行编程,提供异构协同编程框架,高效发挥CPU和GPU的协同计算能力。

  资源管理:提供全系统资源统一视图,实现多策略资源分配与作业调度,有效提高资源利用率和系统吞吐率并行程序开发环境并行程序开发环境提供一体化图形用户界面,支持应用程序的调试和性能分析。>>

2异构设计成就高性能回顶部

异构设计成就高性能

  在“天河一号”的身上,我们可以找到不少的兴奋点,不仅仅是高达千万亿次的峰值运算性能,更有CPU+GPU的异构设计,近年来,GPU 得到了高速的发展,其适合于并行数值计算的特性使得高性能计算领域对其一直看好,而在此基础上发展起来的GPGPU (General-purpose computing on graphics processing units) 更是由于强大的并行处理能力和可编程流水线使得其在面对单指令流多数据流(SIMD)且数据处理的运算量远大于数据调度和传输的需要时能够取得远超传统CPU的性能,这一点在“天河一号”上就体现的非常明显。

天河一号
2009中国超算排行榜TOP10

  从上面的配置图中我们可以看到,“天河一号”的加速系统使用了2560块AMD Radeon HD4870X2显卡,5120颗运行在575MHz的RV770 GPU,每颗GPU拥有1GB GDDR5内存。

  575Mhz下的4870X2理论双精度浮点能力为0.575*2*800/5*2=368Gflops,2560片能提供942.08TF的理论双精度运算能力,而根据官方提供的46.7%的系统效率以及563100.00Gflops的Linpack值,我们不难得出“天河一号”的理论运算值为563100.00/0.467≈1205781.58Gflops,这也基本就是官方公布的系统峰值,两者相除我们不难看出GPU在整个系统中提供了78%的运算能力。而剩下的5120颗至强E5540与1024颗至强E5450所提供的理论运算能力仅为2.53*4*4*5120+3.0*4*4*1024=255680.96Gflops。

  GPU强大的并行运算能力从这里可以看的一清二楚,而这一点也完全可以从GPU与CPU的对比中看得非常清楚,CPU由于架构的原因以往一直都通过提升制程工艺和主频上来下手,但这迟早会遇到壁垒,而于此同时GPU却的性能以每年2.8倍的速度增长。

  而在CPU与GPU的性能比较方面,如果说CPU一条单车道公路,一次只能走一辆车的话,GPU就是拥有多个车道的高速公路,正式大量并行的结构使得其在浮点运算方面拥有了非常块的速度,而在GPU基础上发展起来的GPGPU(通用图形处理器)很好地继承了这一优点,其具有比CPU高一个数量级的浮点性能,因此在注重运算速度高性能领域被格外看好。

  而事实上,“天河一号”只不过是GPU强大运算性能的又一次体现而已,实际上,在“天河一号”之前,就有东京工业大学打造的一款基于CPU+GPU异构计算架构的超级计算机,并率先挤入世界500强,其通过170台Tesla S1070 1U系统,理论峰值性能为170TFLOP,2008年11月实测的Linpack性能达到了77.48 TFLOP,排名世界第29位,其后经过不断调试与优化,Linpack成绩提高至87.01TFlops,2009年6月排名第41位。只不过那一台所使用是NVida的Tesla GPU。

  而实际上,在GPGPU领域,NVida与AMD/ATI正代表了目前最强的两方势力,作为通用图形处理器的先行者,NVida早在两年前发布了第一代通用并行计算架构CUDA(Compute Unified Device Architecture),它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎, 开发人员可以使用C语言来为CUDA架构编写程序,使得所编写出的程序可以在支持CUDA的处理器上以超高性能运行。

  而看到其中巨大商机的AMD自然不甘示弱,在苹果公司推出开放API的OpenCL规范之后,AMD选择了大力支持,而实际上,于OpenCL并不是一个仅仅局限于GPU通用计算的统一标准,将提供一个通用编程环境,支持多核心处理器(CPU)、图形处理器(GPU)、Cell架构以及数字信号处理器(DSP)等其他并行处理器。也就是说,OpenCL不仅针对GPU,依靠通用标准充分利用CPU、GPU及其他各类处理器产品的运算能力才是它的最终目标。

  而这对于既拥有CPU设计能力,又拥有GPU设计能力的AMD无疑非常合适,因此业绩普遍认为虽然Intel与NVIDIA也宣布支持OpenCL,但前者在GPU领域显然与另外两者不在一个数量级,而后者在通用CPU领域也无甚建树,因此AMD与二者相比将会具有难得的先发优势。>>

3GPU加速所面临的挑战回顶部

GPU加速所面临的挑战

  虽然GPU在并行处理方面的优势获得了普遍承认,但其未来发展的道路上还有不少的挑战,这其中一部分是由于历史原因造成的,而另一部分却也有其自身架构的原因。

  从自身来说,GPU卡法的初衷是面向像素、光影处理、3D坐标变换等相关的运算环境,其实际上是一组由硬件实现的图形函数的集合,GPU的微架构就是面向适合于矩阵类型的数值计算而设计的,大量重复设计的计算单元,这类计算可以分成众多独立的数值计算——大量数值运算的线程,而且数据之间没有像程序执行的那种逻辑关联性。这注定了其不适合完成操作系统,系统软件,应用程序等需要大量逻辑判断的的环境,再加上其主频与CPU相比还差距不小,因此在上述方面,CPU仍然是王者。

  而从外部环境来说,软件应用问题是GPU要发展亟需解决的问题。CPU经过多年的发展自然根深蒂固,目前绝大多数应用程序都是按照CPU环境来开发的,这一来应用如果要移植到GPU环境必然面临重写的问题,这也就是为什么有的应用可以很好地在GPU上运行,而有的却并没有多大效果的原因。

  这一点在今年的HPCChina大会上TOP100排行榜创始人、中科院软件所张云泉博士谈的很清楚,他说“目前来看,GPGPU的应用对于普通用户而言确实比较难,但是“天河一号”在体系结构设计上也已经考虑到这一点,其CPU与GPU的比例是1:1,这样,即便只使用CPU,也可以实现200万亿次的计算性能,与上海超算的曙光5000A相当。”不过如果真是这样,无疑是计算资源的极大浪费。

  除此之外,高性能计算的效率问题也是GPU的一大软肋。今年的中国超算排行榜上,高居榜首的“天河一号”在效率一栏却仅有尴尬的46.7%,这样的数值在排行榜上是倒数的,与排名第七的南京大学IBM系统相比甚至只有后者的一半,而从国外的案例来看,全部采用至强5500+Infiniband的组合,其效率甚至能够达到0.9,而这在很大程度上就是由于采用了GPU作为加速单元造成的。而且目前的GPU普遍存在单精度运算性能强而双精度运算性能弱的问题,大多数情况下其双精度运算能力仅为双精度的1/8-1/10,而高性能计算在多数环境下确实需要双精度运算能力的。

  另外,可靠性也是高性能计算领域少见GPU的原因之一。目前的GPU并不支持ECC闪存,GPU由于一开始是面向图形渲染开发的,在游戏等应用中即使有一些渲染出现误差也无伤大雅,而在高性能计算领域,一点点差错都可能带来毁灭性的后果。这也是一些厂商会选择其他处理器作为协处理器的原因,比如IBM走鹃上的CELL处理器,而另外一家国产厂商曙光则表示未来更倾向于使用国产通用处理器龙芯。

总结

  “天河一号”的出现使得我们中国拥有了自己的千万亿次超级计算机,这不能不说是过人的一大骄傲,而且其创新的GPU加速设计也为未来超算的发展做了非常好的尝试,但是我们在欣喜成绩的时候也应该清楚地看到不足,虽然“天河一号”有千万亿次的运算分值,但Linpak值却仅有500万亿次左右,低效率是其一大软肋,而相比国际上排名前列的超级计算机入IBM的“走鹃”,其上千万亿次的Linpack值显然更加优秀。

  鲁迅先生说过“世上本没有路,走的人多了便成了路。”现在“天河一号”已经为中国的千万亿次迈出了第一步,相信未来会有更多、更好的国产超算出现,中国的千万亿次已经迈开第一步,长征很长,这仅仅是个开始。[返回频道首页]  

为您推荐

加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多

服务器论坛帖子排行

最高点击 最高回复 最新
最新资讯离线随时看 聊天吐槽赢奖品