服务器 频道

SC14报道之16:超算竞赛,中国输了?赢了?

  【IT168 评论】11月20日,在SC14全球超级计算大会上,备受关注的学生集群竞赛落下帷幕,德克萨斯大学澳斯汀分校以76.49的总分成绩夺得总冠军,这已经是该校连续第3年夺冠,田纳西大学-诺克斯威尔以75.76分排名第二,中国科大以73.51分居于第三。中国台湾国立清华大学则在Linpack性能测试中获得单项冠军,并首次突破了10万亿次计算每秒的纪录,不过在总决赛中,台湾清华仅获得58分,排名第七。在之前的一篇文章《SC14报道之10:全球学生超算竞赛,比啥?》中,笔者曾对这一面向全球大学生的超级计算竞赛做过详细介绍和解读,根据赛制,总决赛包括4个应用、系统总体性能HPCC、团队面试等6个环节的总成绩,拼的是综合竞争力,有点类似于体育比赛中的“十项全能”,Linpack单项则主要是对浮点计算性能的PK,好比于比育比赛中的100米短跑或跳高等项目。此次SC14比赛中,来自中国大陆的中国科大和华中科大的主要目标是在综合竞赛中夺冠,而对Linpack单项则不看重,华中科大队在总决赛中的成绩是65.87分,排名第五。

全球大学生超算竞赛,中国输了?赢了?
▲全球大学生超级计算比赛综合结果

全球大学生超算竞赛,中国输了?赢了?
▲12支队伍,从左往右依次为:台湾清华大学、马萨诸塞州绿队、田纳西大学-诺克斯威尔、华中科大、俄克拉荷马大学、德国埃朗根-纽伦堡大学、中国科大、伊利诺伊斯理工大学、澳大利亚高校HPC联盟(iVEC)、新加坡国立大学、德克萨斯大学奥斯汀分校、普度大学/哥伦比亚EAFIT大学联盟

  那么,这次比赛,中国队是赢了,还是输了呢?如果单纯从比赛结果看,中国队的成绩可谓有喜有忧。Linpack单项虽然获得冠军,但这一项相对比较容易实现,你只要在保证不超过3000瓦特功耗的条件下,尽可能在系统中用到更多的GPU加速卡,就有很大希望获胜,事实上,台湾清华在Quanta和NVIDIA的支持下,在比赛中准备了12块GPU卡,实际只用了9块,也就是说,如果时间允许、功耗控制得更好的话,还有进一步提高成绩的可能。不过,跟Linpack相比,更加值得关注的是综合性能的比拼,笔者在大赛组委会公布的比赛成绩表(见下表)中看到,性能总得分一项,中国科大队实际是最高的,为76.51分,高于德克萨斯大学澳斯汀分校的76.49分,但为什么最终冠军却花落澳斯汀呢?就此,笔者在SC14现场采访了中国科大队的指导老师安虹教授。

  “我们在系统性能总得分上确实是最高的,但是我们最终被扣了3分,比赛过程中,我们在给机器更换刀片服务器的时候,导致系统功耗瞬间超过了大赛规定的3000瓦特限制条件,所以最终与冠军失之交臂。”安虹老师略带遗憾地向IT168记者解释道。根据比赛规则,在48小时比赛过程中,系统的功耗不得超过3000瓦特这一硬性条件,哪怕是瞬间超过也会被处罚。

  她还补充道,除了这个问题外,我们学生在面试环节的表现也不够好,这一项满分是10分,但两支来自中国大陆的参赛队都只得了4分,是12支参赛队伍中最低的,相比之下,中国台湾清华大学队和新加坡国立大学队表现较好,均得了6分,而美国队大多在8分以上。据了解,面试环节主要考察的是团队协作能力以及学生的比赛心得体会,这对于学生的口头表达与沟通能力要求较高,在这方面,四支华人参赛队的表现都不够理想,这也反映了东西方文化和教育理念上的差异。

  “总体来说,我对中国科大队的表现还是很欣慰的,如果我们在面试环节表现再好一点,没有因为超功耗被扣分,总冠军我们会拿得稳稳的。”但是安虹老师也很清楚,世界上没有那么多如果,现实就是我们没能拿到冠军。

  “我们需要反思的是,为什么中国队的技术水平很高,甚至可以说很优秀,但这能保证我们足够卓越吗?SC超算大赛设计得非常好,既测机器系统的性能和水平,也测出了学生的综合能力,但在这种场合,高手过招,细节决定成败。”对于中国队在面试环节失分的表现,安虹认为,其原因不在于学生技术水平不高,也不在于语言的问题,而是文化差异的问题,更是中国应试教育带来的学生沟通表达不好的问题,这些使得我们的学生在国际交流过程中经常吃亏,也影响到了中国学生真正从优秀迈向卓越。

  实际上,在这次比赛中,中国科大表现出了非常强的技术水平。比如在ADCIRC应用性能测试中,需要各参赛队伍模拟飓风在袭击新奥尔良时10天的变化过程,当程序运行到第7天时,中科大少年班的19岁参赛选手余家辉发现,组委会给出的算例可能存在不合理的地方,因为飓风高度超过了1000米,这跟现实是相悖的,程序也运算不下去了。在发现这一“BUG”后,安虹让其向评委会写了一封详细的说明文档,最终得到了评委的认同,在这一项测试中中科大队得到了最高分。“这说明我们的学生对于应用的理解非常好,而这也是搞高性能计算非常重要的一个素质能力。”

  据了解,SC14的全球大学生超算竞赛,来自全球的12支队伍一共在6个方面进行角逐,包括HPCC系统性能测试、ADCIRC应用性能测试、MATLAB应用性能测试、NAMD应用性能测试、ENZO应用性能测试以及团队面谈环节,同时,要求系统功耗不能超过3000瓦特。为了保证在各项应用中都有较好的表现,需要有设计平衡的系统来支撑。

  安虹告诉记者,在这次比赛过程中,可以看到不同的厂商在支持不同的队伍,充分体现了全球范围内产学研相结合的理念。此次中国科大队得到了曙光公司的大力支持,包括专门定制了最新液冷服务器,指派工程师全程培训和现场提供支持。

  曙光公司HPC产品总监戴荣在接受采访时谈到,从系统性能和4个应用性能的比赛结果来看,中国科大的单项得分基本都处于第一、第二的水平,这说明团队的技术水平很高,同时也说明曙光此次提供的液冷服务器在硬件配置上平衡得很好,毕竟不同应用对于CPU、GPU、内存、IO的敏感度是不一样的,有些要求CPU跑得快,有些要求GPU算得快,有些要求大内存,要想保证每项测试都保持领先,这非常考验厂商的系统设计水平。

  “轻Linpack,重应用”这一思维其实不仅反映在大学生超算竞赛中,在产业实践和人才培养中,也同样得到了许多业内专家的共识。毕竟,Linpack只证明系统在浮点运算能力方面的能力,在比赛、TOP500排名中是非常有效的一个指标,但在实际应用中,HPC应用五花八门,光有Linpack是远远不够的,这也是为什么这次中国科大和曙光公司笃定综合竞赛,而忽视Linpack单项比赛的根本原因。关于Linpack,推荐阅读笔者的另一篇文章《SC14报道之7:超级计算机的速度能有多快》。

  在人才培养方面,高性能计算机作为一种工具,光是计算机专业的人会用也是远远不够的,关键得学物理的、学法律的、学材料的、学金融的人也要会用,但现实情况是,在中国高校的教学中,计算机专业教育本身可能都没有把“并行计算”放到一个足够重要的位置上来。华中科技大学计算机学院院长金海教授在SC14现场接受IT168采访时谈到,并行计算已经是一种普适性的工具,而不是专用的,所有的计算机专业本科生都应该学,因为各行各业都会用到这种工具。实际上,在CS2013这样一个面向全球范围的计算机科学教学大纲中,就已经提出三个关键要求:一是把并行计算理念贯穿到所有课程,二是把安全理念贯穿到所有课程,三是加强包括软件和硬件在内的系统能力的培养。CS2013向全球推广了80门计算机教学示范课,其中“并行程序设计”这门课就是金海教授来编写和主讲的。金海谈到,华中科大对并行计算一直很重视,我们也希望国内各大高校也都能开通这门课程,让学生学会OpenMP,CUDA,MPI,Mapreduce等,加强对高性能计算人才的培养,并最终向材料、物理、法律等专业的学生普及高性能计算的应用。

  回到这次比赛来看,中国队有输有赢,赢了技术,却输了比赛,赢了单项实力,却输了综合水平,输在了我们对细节的把握不够,输在了我们的软实力不足,输在了我们的应试教育理念已经过时。奋起吧,同志们!

0
相关文章