编者按:在不久前闭幕的ISC12全球大学生超级计算机竞赛中,由浪潮集团组织支持的清华大学、国防科学技术大学参赛队分别勇夺竞赛总冠军和最高计算性能奖奖,优异成绩震惊国际超算界。作为此次国内外竞赛设备技术的幕后负责人,浪潮高性能计算技术专家王渭巍给我们娓娓道来中国超算大学生国家队获奖背后的故事。
2012年6月19日于德国汉堡闭幕的ISC12国际大学生超级计算竞赛中,清华大学代表队勇夺overall winner的总冠军奖,这也是中国大陆大学生在国际超级计算机竞赛中取得的第一个世界冠军。同时,国防科学技术大学代表队也获得另外一项引人注目的的“最高计算性能奖”。来自中国两支参赛队的优异表现,震惊了国际超算界。
参加本次国际大学生超级计算机竞赛的各参赛大学队实力均相当出色。美国的科罗拉多大学连续5年参加了美国的SC国际大学生超级计算机竞赛,并曾在2009夺得过Linpack冠军;纽约州立大学石溪分校从2007年就开始参加SC大学生超级计算机竞赛,曾获得过2009年SC比赛的冠军;德国卡尔斯鲁厄理工学院(KIT)计算机系在德国排名第一,号称“德国MIT”,他们的超级计算机教学和科研能力独步欧洲;国防科学技术大学设有的超级计算机教学和比赛的体系、机制,拥有良好的人才梯队和比赛经验,2011年他们曾在西雅图的SC超级计算机竞赛中仅以0.5分之差屈居亚军;清华大学则是国内的顶尖学府,设有与浪潮共建的超算中心,有丰富的超级计算机教学、应用研究沉淀。每个国家的参赛队都想为自己的祖国、母校赢得荣誉,尤其是作为东道主的德国的卡尔斯鲁厄理工学院,前期做了长时间精心的充分准备:巨资定制专用竞赛超算系统平台、开发竞赛秘密应用程序、吃透竞赛规则的前提下充分发挥天时地利人和的优势,誓要一揽所有金牌。尤其当比赛一开始德国人以3000W内13个双路CPU节点集群系统亮相时,其他所有对手都是大吃一惊感到压力巨大。
我个人觉得ISC12国际大学生超级计算机竞赛就像一个没有硝烟的战场。部分国外媒体在比赛前夕曾公布过竞赛分析和赔率表,从下表中可以看出业界专家看好的是德国卡尔斯鲁厄理工学院,认为他们会夺得本次竞赛冠军、最高计算性能奖。
那么,清华大学、国防科学技术大学在比赛过程中设计了如何厉害的竞赛方案,取得优异成绩从而震惊了国际超算界的呢?接下来的本篇内容首先与你分享清华大学的竞赛策略、方案。
此次比赛除Linpack测试外,有四个提前公布的应用(CP2K、CPMD、OpenFOAM、NEMO),此外组委会还另外设置了两个神秘应用,只在在两天的比赛赛程中每天公布一个,要求各队现场编译、优化和运行,现场才知道一个是WRF另一个是Gromacs。
清华大学代表队在权衡CPU-GPU架构、CPU集群方案以及应用算例、对手情况、自身实际情况等诸多因素后,决定采用纯CPU集群方案,把全部时间放在学习、理解应用以及在现有平台上发挥代码的最大效率上。本次为参加德国竞赛他们采用了9台浪潮NF5280M3服务器作为集群节点,采用纯CPU的架构,每台服务器配置两颗Intel E5-2650 CPU、8条8G DDR3 1333MHz内存、一块300G SAS硬盘,搭配56Gbps FDR IB网络。在前期实际测试中,9台服务器功耗略超过比赛限制的3000W功耗限制,为此清华大学代表队想了各种办法,先后去除了服务器上的DVD光驱,甚至放弃了千兆交换网络,直接采用IB网络,终于将最大功耗成功控制在2980W左右。软件方面采用了RHEL 6.1 OS搭配INTEL 编译器、MKL数学库和IMPI。
清华大学代表队在调试系统
清华大学代表队的学生们不但熟知应用特征,甚至通读了代码(开源应用代码都是公开的),我认为这是他们获胜非常关键的因素。熟悉计算机应用的人都知道,“别人的”代码很难读,缺乏适当的注释甚至无法确知作者的意图,但清华代表队选手不但理解了源程序,甚至自己动手改进了一些竞赛的应用程序——因为这些特定领域的应用常常是由自学计算机技术的专业人才编写的,代码效率通常不是很高——从而大大提高了代码效率,在该代码部分,甚至可节约高达50%的运算时间。如,在比赛现场,openfoam算例发下来之后,负责该应用的学生第一次运行时间大概是3分钟,经过代码调优,第二次运行采用了80核,运行时间在1分半左右,第三次优化减少到79核运行,运行时间又减小了十几秒。经过分析判断,他们没有用全部9台机器共144核来运算,而是根据应用特点直接采用80核左右的最佳核心数量,再以此核心数量为中心,进行上下个位数核心的验证,最终在79核心上取得了最佳成绩。这样的例子还有很多,如果对应用没有深入透彻的理解,直接采用机器的全部计算核心计算,可能反而无法取得最好的成绩。这也体现了清华大学代表队学生们的天赋以及前期他们充分准备的努力。因此组委会不仅将总冠军颁给了清华大学,还评价他们“understanding the impact of weak and strong scaling on application performance”并颁发单项奖。
高性能计算领域不但是计算技术、硬件和软件性能的竞争,更关键的是人才、应用的竞争。清华大学代表队的集群系统配置从硬件上相比东道主KIT并没有优势,但他们凭借对应用的深入理解,取得总分第一的好成绩,代表了中国高性能计算事业在应用、人才上的光明未来。在美国重领此次超级计算机TOP500排名风光时,中国大学生参赛队的优异成绩成为了中国,甚至是亚洲的亮点。
浪潮为本次参加竞赛的两支参赛队——清华大学和国防科学技术大学提供了稳定可靠的硬件设备。作为本届大赛组织方,国际高性能计算咨询委员会亚太区总监刘通先生曾说过:“本次中国的两支参赛队能获得优异的成绩,除了他们堪称天才外,还离不开浪潮高性能服务器的高性能和稳定性。在比赛过程中纽约州立大学石溪分校参赛团队的服务器就因为长距离运输造成了损坏,导致他们之前精心准备所有代码和软件工作都全部白费。所以硬件系统也是我们比赛测试的关键环节,我们要测试你的硬件够不够稳定性能高不高。” 作为此次中国队参赛队的产品技术支持负责人,我们很高兴在这个环节上表现出色做好了坚强后盾。浪潮高性能服务器的产品品质值得大家信赖。