HPC优化难题如何解之曙光篇

关于HPC优化的问题,我们在上一期的采访中访问了AMD的技术总监刘文卓先生,这一期我们请到了曙光的产品经理王?先生,针对HPC优化王?为我们带来了曙光的看法。

今年,众所周知曙光"星云"成功的拿下了TOP500第二名的好成绩,为我国在IT顶级领域一扬之前的土气。然而,也许很多人不知道,曙光5000A也曾有过一段跌宕起伏的系统优化过程,正是这段传奇般的优化过程,让曙光5000A实现了对前者的超越,无独有偶,曾经屈居第二的Cray Jaguar,如今成为了TOP500的状元,靠的也是大量的优化工作,因此HPC优化在超级计算的应用中显得尤为重要。

到底曙光在星云系统中做了什么样的优化,而这些优化措施又为什么能够在TOP500中有如此巨大的影响呢?王?先生给出了他的答案。

他认为,HPC系统的优化最重要的是体现HPC建设方对应用系统、硬件系统、操作系统的全方位掌控程度,top500的应用程序是linpack,那么事实上就是对linpack这个应用程序在硬件系统和操作系统甚至软件系统层面的各种优化。针对单独的应用程序的优化有时往往不同的人结果会差距很大,这就体现了优化的价值。由于linpack是一个标准,因此对linpack系统的优化空间往往已经触及极限,可以发挥的余地并不是很大,当然这也是把Linpack作为标准的一个重要原因。如果在实际的应用中,充分发挥优化手段,则可能带来数量级的性能提升。

也就是说曙光通过在硬件系统和操作系统甚至软件系统层面的各种优化,将曙光5000A提升到了如今的高度。作为世界NO.2的星云超级计算机到底又用了怎样具体的手段,从众多的超算中脱颖而出的呢?

王?先生指出,曙光只是将一切的优化步骤做到精确,并且很精准的掌控着每个计划的完成。他认为做HPC优化主要需要从以下几个方面入手:

1.系统稳定性优化,像星云这样规模的超级计算系统,稳定性是必须要保证的。

2.系统均衡性优化,将超级计算机内所有能够利用的资源充分利用,并保证各个部分的平衡性。

3.硬件和网络优化,特别是架构层优化,需要做到尽量没有瓶颈产生。

4.操作系统层优化,曙光通过对不同的函数库以及系统核心进行优化,以达到充分利用系统资源的目的。

5.应用层优化,在最终的应用层上将超级计算的性能充分发挥。

在之前对AMD的专访中,我们就已经针对CPU+GPU的混合模式为何能够成为HPC优化的一股东风进行过探讨,这一次针对曙光我们再次抛出了GPU+CPU混合模式对HPC优化的影响问题,王?表示无论是AMD和Nvidia提出的GPU+CPU模式的协处理器还是英特尔提出的众核MIC协处理器模式,都的确能够为HPC带来切实的好处,但是最重要的是要在协处理器内部进行优化,而曙光拥有一个完整的针对混合架构优化的团队,这个团队是曙光的最精英技术团队,通过这个团队的努力才为曙光的超级计算机以及用户提供了更加高速的HPC系统。而在HPC广泛的应用领域中,石油行业是其中一个很有代表性的行业,在最近的一次会议上,东方物探的赖能和老师提到,如果做对了HPC的优化,系统性能有时候会呈现成倍的增长。曙光在这方面也有很多经验可以跟我们的广大用户进行分享,王?针对在行业应用上HPC所能够提升的幅度问题谈到:"这个真的是不同的行业空间不同。优化主要在几个层面:硬件层(处理器、内存、网络、架构)、操作系统层和应用层三个层面进行。不同的行业应用可作的空间各有不同。少则30%~50%,多则可能提升几倍甚至几十倍"。

同样还是在石油行业,国产应用程序还不是太普及。最近英特尔、AMD的一些话题中,面向应用程序的优化和测试被反复提及,而很多的行业软件,都是国外设计和交付的,曙光方面也一直在力促国内行业软件应用程序的发展,像在石油行业就采用了Geoeast软件、气象方面则采用了Grapes等国内的应用程序。

在TOP500发布后的大约一个月后,Green 500榜单揭晓,曙光的星云超级计算机位列第四名的好位置,其主计算节点为Intel X5650,加速节点为NVIDIA Tesla C2050架构,能效比为492.64MFLOPS/W。而曙光在对星云进行优化的时候也利用到了例如基于处理器控制的能耗降低技术以及基于水冷的制冷技术等针对不同方面的能效节能优化措施。

王?先生介绍曙光水冷技术时说道:"曙光水冷机柜系统(水冷方案)采用水作为冷媒,由外部水冷机组提供冷却水经由管道输送到机柜内的热交换设备,冷却水在热交换设备内与服务器产生的热空气进行高效率的热交换,可以有效解决大功率高密度服务器所产生的热量。这一次,我们的星云超级计算机是国内大规模机群系统首次采用水冷系统,通过使用水冷系统的方式,降低了高性能计算系统对客户机房的要求,同时提高了冷却效率。水冷系统的设计实现了水电分离,保证了系统的安全性。同时水冷系统还包括备份的被动散热系统,可以在水冷失效的情况下保证系统的正常运行,提高了系统的稳定性"。