寻找高性能计算新动力 聚焦HPC用户真正需求行业资讯

2010-08-09    来源:比特网    编辑:丁震
每年六月和十一月,都会有一份全球超级计算机排名榜单在众多业界人士和媒体的期盼之下轰轰烈烈登场。半年评选一次的高性能计算500强榜单上,计算速度一次又一次被刷新。人们在

  每年六月和十一月,都会有一份全球超级计算机排名榜单在众多业界人士和媒体的期盼之下轰轰烈烈登场。半年评选一次的高性能计算500强榜单上,计算速度一次又一次被刷新。人们在惊叹,计算能力似乎永无止境。但是,在这看似令人振奋的消息背后,那些惊人的速度是否可信并且具备实际意义呢?

  性能为王的日子还有多久?

  厂商依然在卖力地宣传超级计算机有多快,性能有多高:用一部手提电脑花上一千年才能算出来的结果,超级计算机只要用一秒钟就能完成!没错,超级计算机的速度确实没有任何设备可以企及,一直苦于没找到可满足速度要求的超级计算机的用户们,千万亿次每秒的速度――是不是听起来都如此美好?但也许事情并非如此。

  目前,已经有一些冷静的业界人士在探讨Linpack值的实际意义到底有多大,用户到底需要什么样的HPC?

  持这一观点最著名的专家就是美国田纳西大学计算机科学教授Jack Dongarra,这位仁兄不仅是Linpack基准的开发者之一,同时也是全球Top500的发布者之一。他曾经表示, Linkpack告诉人们的只是计算机速度的绝对峰值或最大极限,而非它们在实际高性能计算中表现出的真实速度和效能。

  同时,随着系统的复杂度不断提升,HPC应用程序的复杂度也正在不断飙升,这些都严重阻碍了高性能计算的普及。例如,像Roadrunner这样的超级计算机,采用三种不同的处理器,必须得针对三种不同的处理器编写各自的程序,其难度可想而知。

  Dongarra表示:对于HPC厂商来说,只注重峰值性能的旧观念已经不再适合于HPC的进一步推广,而应该更多地从系统整体性能和功效方面来考量一套HPC的优劣,为用户提供更具能效和应用广度的产品。针对处理器技术,他认为,最新趋势应该是一个芯片上拥有多种不同种类的内核,这些内核当中有一部分专注于浮点运算,一部分专注于其他程序处理。未来的芯片会更具灵活性,可调整用于特定的应用领域(如气候研究模型),到时候还会需要特定的软件工具来管理这些芯片。

  HPC用户真正的困扰时什么?

  每秒千万亿次的峰值性能测试结果是每个人都会玩的小把戏,而HPC用户真正关心的又是什么呢?以气象科学为例,美国国家大气研究中心(NCAR)超级计算机研究主任Richard Loft表示,从技术上讲,要让高性能计算更加普及,一些技术瓶颈必须解决,最大的问题就是内存和处理器互联。

  举例来说,如果处理器的运行速度非常快当然很好,但是,当试验进行到结束近100年的气候模拟阶段时,处理器需要进行大量的内存访问,这时处理器就会变得慢得多。此外,有些应用需要处理器之间进行信息传递,这种情况下处理器速度也会相对下降。这些问题都需要新的处理器架构和创新技术。

  另外,性能并不代表一切,如何发挥一套HPC的实际效能才是关键。目前千万亿次的HPC系统在实际操作中能发挥出的速度其实只有峰值速度的2%多一点――在每秒20万亿次到30万亿次之间。而对于气象用户来说,他们更在乎能用一天的时间在电脑里模拟出多少年的气候?这关系到科学家可以做什么类型的实验。目前,美国最先进的系统一天可以模拟近5年来每天的气候情况,但一些气象学家渴望模拟100年的。

  更大的问题在于目前所有程序一般都是串行指令,很难改成统一的并行指令。因此,如果一个处理器的工作量超标了,那么所有其他访问只能在一旁等待,从而降低了机器的整体性能。Linpack是以矩阵为最小单元,通过将每个矩阵都划成合适的大小,每个处理器都可以均衡的工作,从而得出超高整体性能的假象。

  Loft认为,如果继续把重点放在峰值浮点运算性能上,那么实际应用当中的诸多问题仍将继续困扰用户。

  寻找新动力

  目前,这些问题已经引起计算机和芯片制造厂商的重视。以英特尔为例,该公司正在致力于提升其处理器HPC领域的领先性,通过其创新的Nehalem架构,能够使高性能计算在内存和互联方面达到了前所未有的高度。

  英特尔最新的Nehalem架构处理器,集成了内存控制器,并用QPI总线替代了过时的FSB总线,获得了非常明显的性能提升。

  QPI最大的特点就是是采用点对点连接,其传输能力非常惊人,在4.8至6.4GT/s之间。一个连接的每个方向的位宽可以是5、10、20bit。因此每一个方向的QPI全宽度链接可以提供12至16BG/s的带宽,那么每一个QPI链接的带宽为24至32GB/s。可以为iHPC提供超高的互联能力。

  此外,QPI可以根据系统各个子系统对数据吞吐量的需求,每条系统总线连接的速度也可不同,这种特性无疑高性能计算带来更大的弹性。

  Nehalem每个内存控制器提供一个SMI(Scalable Memory Interface),它们可以运行于Lockstep模式(普通的Nehalem处理器也提供了这种模式)以提升性能和增强RAS。

  SMI接口是一个串行界面,因此它需要连接到一个叫做Scalable Memory Buffer(SMB)的芯片才能联接到并行的DIMM上,这个芯片就和以前FBD内存上的AMB芯片一样,用来将串行界面转换为并行界面。

  资料显示,每个SMB芯片支持两个DDR3通道,每个通道最多支持2个DIMM,这样一个Nehalem-EX处理器就能提供最多8个内存通道、16个DIMM、256GB的容量,可以为高性能计算提供强大的内存支持。

  如何让HPC发挥其最大的效能也是英特尔关注的重点。该公司新任高性能计算业务总经理Rajeeb Hazra表示,客户需要的不光是性能,更关心应用的兼容和效能。而在这方面,x86系统跨多个系统应用程序的能力非常强。以5500和5400对比,5500的核心数并没有增加,然而运行应用程序的性能却提升了3倍。有了这样的处理器支持,就可以为HPC用户提供更加多元化的服务,应该说,这是x86给高性能计算带来的最深刻变化。

  同时,英特尔正在也在努力打造完整的高性能计算平台,以方便HPC软件编程,这就是Knights Ferry。

  据英特尔公司前任高性能计算业务总经理 Richard Dracott介绍,英特尔集成众核架构的Knights Ferry产品是软件开发平台,已经提供给少量客户,今年到明年会有一些种子计划给核心客户。Knights的家族起始的形态都是PCIE卡,定位是协处理器。其中所有小核仍然是I/A核,除了这个硬件本身的32个核、1.2G对高度并行的应用程序适合之外,最关键在于软件,英特尔的高性能计算工具跟这个卡一起交回客户。高性能计算工具无论对至强还是集成众核的架构都是统一的一套工具,协调多核以及众核的任务。软件部分是英特尔的核心价值,能够帮助客户用集成众核的产品去适应高度并行的应用,而只付出极少的代价。

  Dracott表示,无论对于多核的I/A还是众核的I/A,都可以用一套工具把异构架构整合起来,目标是提供领先的性能以及效率。英特尔天生的优势在于不论是多核还是众核,都是x86的指令集,同时可以采用x86共同的指令集和共同的编程模式,最终把两个架构整合起来交付最佳的性能,以及每个单位下最佳的性能和效率。

  正是凭借处理器技术的领先性,IA架构在近年来的Top500中表现优异。以最新一期TOP500为例,基于英特尔架构的上榜系统已经达到406套,其中基于至强5500的上榜系统为184套,排名前十的上榜系统中有4套是基于英特尔处理器。显而易见,x86处理器对于应用程序的兼容性,以及在程序运行的效能方面,优势明显大于RISC架构。

1
3