服务器 频道

SC14报道之11:全球学生超算竞赛,比啥?

  【IT168 评论】21世纪什么最贵?人才!特别是懂高性能计算的人才(呵呵)!这几年来,每年的SC大会都有一档专门鼓励人才培养的活动:学生集群竞赛(Student Cluster Competition),SC14也不例外。

全球大学生超级计算竞赛,比出了什么?

  在今年的超算大会上,将有来自全球的12支队伍入选参加这一竞赛活动,包括:德克萨斯大学奥斯汀分校、伊利诺伊斯理工大学、澳大利亚高校HPC联盟(iVEC)、德国埃朗根-纽伦堡大学、台湾国立清华大学、田纳西大学-诺克斯威尔、普度大学/哥伦比亚EAFIT大学联盟、俄克拉荷马大学、中国科学技术大学、新加坡国立大学、华中科技大学、马萨诸塞州绿队。其中来自中国大陆的两支参赛队伍中国科大队和华中科大队均由曙光公司提供产品和技术支持。对这一赛事,IT168服务器频道将进行直播报道,请关注:http://live.it168.com/221.html

  这是一个什么样的比赛?

  根据赛制规定,每支队伍由6名大学生(或中学生)和1名指导老师组成,他们可以来自一所学校,也可以来自多所学校组成的联盟。这些学生在老师的指导和赞助商的支持下,自己组装、搭建、调试、优化一套小规模的集群系统,并在SC大会期间参与比赛。SC设立学生集群竞赛项目旨在于鼓励业界培养下一代高性能计算人才。在过去几年,澳大利亚、加拿大、中国大陆、哥斯达黎加、德国、俄罗斯和中国台湾都曾派出队伍参赛。

  为了保证比赛的公开、公平和公正,组委会对于参赛队伍资格、比赛试题、参赛过程都有着严格的限制条件,而且随着参赛高校越来越多,规则也变得越来越复杂,比如:

  1、参赛者必须是学生身份,在比赛前一刻如果你大学毕业,就不可以参加。

  1. 2、构建的集群系统中用到的必须是市场上商业化的产品。

  2. 3、比赛时间限制在48小时以内,17号晚上开始,19号晚上结束。

  3. 4、集群系统硬件(处理器、交换机、存储等)只能部署在最大不超过42U的一个机柜中,用电不得超过3120瓦(26安培,120伏特)。

  4. 5、考虑到散热的问题,所有系统要求往上排热空气。

  5. 6、比赛开始后,不允许改动系统的物理配置,除了备件之外,不允许集群连接到外部的局域网,计算硬件只能通过线缆连接,不允许用无线。

  6. 7、在正式比赛的48小时中,指导老师不得提供技术上的支持,必须靠学生团队自行完成任务。

  7. 8、比赛的试题有4个,其中3个是开源的应用(ADCIRC、NAMD和MATLAB),另一个是神秘题目,只在17号晚上比赛开始时才公布。

  8. 9、比赛过程完全公开,参会者可以围观,执行和调优程序的过程、测试分数、功耗水平在各自的42英寸显示屏上公示。

  9. 10、各队伍的比赛区域只有10*10英寸大小的一块地方,背对墙或幕布,团队的比赛活动限于在这个区域内进行。

  ......

  比赛结束后,在综合考察各支队伍完成的工作负载、LINPACK性能测试得分数据的基础上,SC大会请知名HPC专家对参赛学生进行面试,以了解学生对自身方案和HPC知识的掌握程度,最终按总成绩决定出获胜者,另外也设有LINPACK性能单项冠军。获胜结果将在20号的SC14 Awards Ceremony午餐会上宣布。

  据了解,目前业界比较知名的HPC竞赛主要有夏季在ISC上的比赛,冬季在SC上的比赛,以及面向亚洲地区的亚洲大学生超级计算机竞赛(ASC,浪潮公司支持),此外英特尔、Nvidia、Mellanox、并行科技等企业也推出一系列类似的活动。其中,ISC和SC作为全球性的赛事,本身并不以商业推广为目的,而以培养人才为宗旨,但鼓励厂商赞助支持高校学生组队参加。比如,在SC14当中,来自中国大陆的两支队伍中国科大和华中科大均由曙光公司赞助,这次就动用了曙光最新研制成功的CPU+GPU刀片服务器和液冷服务器技术。CRAY、NEC、DELL、Nvidia、英特尔、Mellanox、Quanta、Green Revolution Cooling等企业也对不同的队伍提供了相应的技术支持。

全球大学生超级计算竞赛,比出了什么?

中科大队比赛现场

全球大学生超级计算竞赛,比出了什么?

华中科大队合影

  好比于F1方程式赛车

  比赛的结果当然重要,但真正有收获的地方却是体现在过程中。

  参加ISC或SC这样的国际竞赛,从组队、设计方案到最终比赛,前后大概需要半年的时间。在这个过程中,最直接受益的当然是参赛学生了。通过参与方案设计与优化,学习并行计算和相关知识,和厂商一起动手组装一套超级计算机,然后到国际舞台上去与来自其他知名大学的高手过招,这是一段很有趣且值得骄傲的人生经历。如果把超算竞赛比作F1方程式赛车的话,既考验赛车的技术水平,更考验教练和赛车手的水准,比的都是谁算得快,不同的是,前者在虚拟的电子世界中角逐,后者在物理的现实世界中狂飙。

  “参加超算竞赛并力图取胜,这个过程对学生的综合能力提出了挑战,他们需要承受巨大的心理压力,并在半年时间内快速学习并行计算以及物理、化学应用等交叉学科知识,比赛时需要几天加班加点甚至通宵工作,这些会让学生的综合能力在短时间内快速得到提升。”安虹教授是中国科大参赛队的指导老师,她非常鼓励学生参加这类活动。从2012年就开始带队参加超算竞赛,到今年已经是第3次——SC12比赛中中科大的总分和LINPACK性能单项都位于第二,在今年的ISC 14上获得总分第二,在11月份刚刚结束的HPC China 2014上,还取得了英特尔与并行科技举办的并行优化挑战赛第一的好成绩。

  另一支参赛队的指导老师是华中科技大学的石宣化教授,他这是第一次带队参加SC竞赛,但之前也曾参加过ISC和ASC的比赛,并在去年的ISC竞赛中取得了LINPACK性能单项冠军。他谈到,参加这样的国际性比赛,需要学生建立起团队协作精神,提高自己的经验积累和对问题的应变处理能力,能学到很多课堂上学不到的东西。

  在挑选什么样的学生来组建参赛队伍上,安虹和石宣化则有着不同的选人标准。安老师更看重的是学生必须确实对HPC感兴趣,而不能只是为了功利目的来参加,基本上会从大二和大三年级学生中选。中科大在人材培养方面的原则是,基础要宽、厚、实,专业方面则要求精、新、活,这使得中科大的学生综合素质不错,但通过这几次的比赛来看,相对欠缺的是工程能力以及跨学科的知识积累——要想做好高性能计算,不光要懂HPC,还得懂应用,如分子动力学、CFD、天气预报模式、地震处理等,如果不明白应用,你可能连优化的方向都找不到。

  石老师则是通过在校内进行严格的选拔来挑人,关键看学生有没有做系统设计的潜质以及动手能力,对于学习成绩不太看重,基本上从大三和大四学生中选。华中科大历来对于并行计算就很重视,实际上,在Computer Science Curricula 2013 (CS2013)中,并行计算的课程规范就是由华中科大来设计提供的。

  准备一款最新的赛车

  俗话说,巧妇难为无米之炊,有了好的教练和赛车手,还得有好的赛车,这一任务主要由背后支持参赛队伍的厂商来完成。参加国际超算竞赛,对于背后提供产品技术支持的赞助商来说,也是一次充满挑战的压力考验。

  在方案设计时,厂商往往会考虑投入最新的产品和技术,一方面是为了获得更好的性能表现,另一方面,其实也是借助学生这样一群“极客式用户”来测试自己的产品,并加以不断完善。比如在SC14上,曙光为中科大队定制了最新的液冷刀片服务器TC6600-LP,一改过去传统的风冷方案。曙光HPC产品总监戴荣博士介绍说,通过处理过的纯净水来对服务器中的CPU、GPU进行间接式的散热,可以大大提高机器的能效水平。在赛制中,3千瓦功耗是一个硬性限制条件,由于散热效果更好,进而可以对CPU和GPU启动超频模式,让其处理频率加快。而且跟靠风扇转动来散热的风冷方式相比,液冷系统的噪音更低,也更加稳定。

全球大学生超级计算竞赛,比出了什么?

曙光的液冷刀片服务器集群系统:冷板式

  不过,比赛检测的并不只是硬件在某一方面的性能,而是在相同时间、同一功耗限制下运行多种应用、多个工作负载的综合性能水平,即便你使用了非常先进的硬件技术,也未必就能保证你会取胜。对此,安虹解释说,参加这样的比赛,参赛队伍面临的选择和考虑因素很多,需要考虑硬件、软件、库、编译、系统与应用的匹配性、临场发挥等等,不同的应用对于CPU、GPU、内存、通信带宽的要求不一样,即便是同一个软件如果使用不同的算例,其偏好的库和编程环境也不一样。正是这些不确定性,使得比赛过程充满了“纠结”,你很难说哪一种方案是最优的。

  实际上,曙光支持的另一支参赛队伍华中科大队,虽然使用的也是基于最新CPU和GPU的刀片服务器TC4600-E,但并没有采用液冷技术,而是采用了传统的风冷技术。俄克拉荷马大学则是采用了一种更激进的液冷方式,直接把戴尔的服务器全部浸泡在由Green Revolution Cooling公司提供的液冷箱里,使得整套系统看起来就象是个大冰柜。

全球大学生超级计算竞赛,比出了什么?

俄克拉荷马大学的液冷系统:全沉浸式

  石宣化教授告诉IT168记者,能否测出真正的水平,硬件是一方面,也和试题也有很大关系。以前比赛中给出的应用软件的规模都比较大,动辄上十万行的代码,参赛队能做的优化空间很小,大多只能从编译、库、向量化方面来考虑,而且代码量太大也导致学生需要很长的时间去学习,短时间内能做的事很少;但现在的试题规模开始小型化,比如这次SC14比赛中有一个应用是MATLAB,只有上千行的代码,学生发挥的空间很大,你不仅可以从并行计算方面来考虑,也可以从体系结构层面来优化,比如缓存、存储等,比赛也就越来越有趣了。

  对于曙光而言,支持参赛队伍获取更好的比赛结果是一方面,但还有重要的一点是,把最新的产品技术放到这样一帮学生手中去折腾,可以借此进一步优化产品。“对于一般的用户来说,厂商提供什么我就用什么,是比较被动的在使用产品,很少会去改动它,但学生不一样,他们会想办法地折腾你,这是一种极限式的测试,可以帮助厂商发现和优化一些技术点。”安虹教授告诉笔者,这也就不然理解这几天曙光的现场工程师和参赛队伍几乎是在通宵达旦地工作,不停地调试、优化和改装系统。

全球大学生超级计算竞赛,比出了什么?

SC14的超算竞赛将在17号下午正式启动

  总之,超算竞赛是一个值得称道的举措,可谓一举多得。主办方虽然不从比赛本身获利,但拓宽了超算大会的舞台,让学生这样一支HPC的后备力量也能参与到这么高精尖的领域中来,有助于HPC人才的培养。老师和学生则通过参加这些比赛拓宽了视野和计算机教学的思路,培养了学生的系统思维方式、快速学习能力和动手能力,让学生能够尝试象一名工程师一样去思考问题。厂商虽然付出了相当的成本,但同时也获得了在国际市场上更大的影响力,并借助于学生这样一群“极客用户”在一种颇具挑战性的测试环境中来帮助自己进一步优化产品技术。正是因为这些,ISC和SC的超算竞赛活动影响力越来越大,更多的高校开始参与进来,受此影响,更多的公司也开始直接尝试建立这样的比赛平台,如浪潮推动成立了亚洲大学生超级计算机竞赛(ASC),中国计算机学会高性能计算专业委员会(CCF TCHPC)联合英特尔、并行科技举办全国并行应用挑战赛等等。

  小知识:什么是集群?

  简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。一个理想的集群是,用户从来不会意识到集群系统底层的节点,在他们看来,集群是一个系统,而非多个计算机系统,并且集群系统的管理员可以随意增加和删改集群系统的节点。集群并不是一个全新的概念,其实早在上世纪七十年代计算机厂商和研究机构就开始了对集群系统的研究和开发。由于主要用于科学工程计算,所以这些系统并不为大家所熟知。直到Linux集群的出现,集群的概念才得以广为传播。当谈到Linux高性能集群时,许多人的第一反映就是Beowulf。在1994年夏季,Thomas Sterling和Don Becker在CESDIS(The Center of Excellence in Space Data and Information Sciences)用16个节点和以太网组成了一个计算机集群系统,并将这个系统命名为Beowulf——以史诗中的英雄名字来形容集群系统的强大能力。

  对集群的研究起源于集群系统良好的性能可扩展性(scalability)。提高CPU主频和总线带宽是最初提高计算机性能的主要手段,但是这一手段对系统性能的提供是有限的。接着人们通过增加CPU个数和内存容量来提高性能,于是出现了向量机、对称多处理机(SMP)等。但是当CPU的个数超过某一阈值,象SMP这种多处理机系统的可扩展性就变的极差,主要瓶颈在于CPU访问内存的带宽并不能随着CPU个数的增加而有效增长。与SMP相反,集群系统的性能随着CPU个数的增加几乎是线性变化的。另外,高可用性(集群中的一个节点失效,它的任务可以传递给其他节点,可以有效防止单点失效),高性能(负载平衡集群允许系统同时接入更多的用户)、高性价比(可以采用廉价的符合工业标准的硬件构造高性能的系统)都是集群的优点。一般我们把集群系统分为两类,一类是高可用(High Availability)集群,简称HA集群,这类集群致力于提供高度可靠的服务,另一类是高性能计算(High Perfermance Computing)集群,简称HPC集群,这类集群致力于提供单个计算机所不能提供的强大的计算能力。今天,全球TOP500超级计算机中80%以上都是基于集群来构建的。

0
相关文章