HPC中国研发团队

微软亚太研发集团服务器与开发工具事业部高性能开发团队的中文博客。

December, 2008

  • 亲历北京Top 500

    金秋的北京,一年中难得的好天气,人们还沉浸在08年奥运会的喜悦中,而一项影响中国高性能计算发展的大事,也正在紧锣密鼓地进行 – 近两千台新研制开发的曙光5000A机器已从天津工厂运抵北京!这么多的机器太沉,一楼的地面无法承重,找不到合适的数据中心,造价两亿元的这两千台高性能计算服务器暂时落户在中科院计算所的地下车库里。

    中国人的力量和速度再一次让世人惊叹:地下车库的改建,制冷水管的铺设,整个临时数据中心的建成一共只用了十天时间,夜以继日的努力只为了一个共同的目标 – 那就是11月中旬即将在美国奥斯汀举办的第21届超级计算机大会。世界权威的Top 500超级计算机排名将在这次大会上正式公布,跻身前列是每一个中国高性能计算工作者的梦想!

    image clip_image004

    作为微软高性能计算中国开发团队的一员,我也有幸加入到这次影响中国高性能计算历史的努力中!曙光,是中国高性能计算的代表企业,与微软公司的结缘始于2007年底。一向依托于UNIX/LINUX高性能操作系统环境的曙光公司,对刚刚踏入高性能计算领域并于2006年发布第一版高性能计算产品Windows Compute Cluster Server 2003的微软公司,产生了浓厚的兴趣。这一过程是艰难的,压力与希望同在,挑战与机遇并存。

    9月15日刚刚成功发布微软高性能计算的第二个版本Windows HPC Server 2008,我们来不及任何的休整,一行四人立刻踏上了北京的征程。清楚地记得第一次踏进中科院的地下车库,憋闷的环境,数千台机器共响的轰鸣声立刻让我觉得透不过气来。简易的工作台,没有任何的噪音隔离和防护措施,这就是我们接下来一个多月里需要战斗的地方。来不及多想,放下简单的行囊,立刻加入到这1920个节点部署Windows HPC Server 2008系统的工作中。这是第一次Windows HPC Server 2008产品在这么大规模的计算集群上部署和应用,我们的心情真是既兴奋又紧张。旁边来自曙光,AMD等各家高性能计算领域的同行们也都看着我们,想看一看初出茅庐的Windows HPC Server 2008到底表现如何。在基于Windows部署服务(Windows Deployment Service)的裸机部署模式的强大支持下,部署工作进行得异常顺利。部署完成后Windows HPC Server 2008简单易用的管理操作平台显示出了对近2000个计算节点的强大的管理能力,深得同行的赞誉,我们也终于舒了口气。

    clip_image006 clip_image008

    然而接下来的工作远没有期待中的这般顺利。一个刚刚搭建的数据中心,全新的硬件,全新的软件,对于一个至少需要连续运算7-8个小时才能取得较理想计算结果的基准测试来说,任何一个环节的细微差错,例如网络连接的松动,电源过热,15360条内存中任何一条内存的故障都会导致整个测试运行的失败。我们甚至发现,在如此大规模尚未经过时间考验的计算集群上,取得一个有效的测试结果都是相当的困难。当有节点发生故障时,我们需要和曙光的硬件工程师,来自Mellanox/Voltaire的网络工程师一起,登录到故障节点,查找可能的软件、硬件或者网络的问题,并对问题进行记录和总结。曙光也设立了简单的工作台,进行现场的故障硬件修复。如果用四个字来形容当时的工作状况,那真是“没日没夜”。从数据中心的搭建到最终Top 500的提交期限,一共只有不到一个半月的时间,每个人都不愿浪费一点点可以进行故障排查或者运行测试的时间,所以常常忘了外面是白天还是黑夜。经常拖着疲惫的身体走出计算所的大门,才意识到,早起的人们已经开始了晨跑,原来熬夜也是这么容易习惯的。更多的时候,我们也只是在车库角落里搭建的临时床,甚至机柜旁伴随着近2000台计算节点的轰鸣声席地而睡。

    clip_image010 clip_image012

    我们感激曙光公司在如此大规模的计算集群上率先采用刚刚发布的Windows HPC Server 2008产品的信任,但作为Windows HPC Server 2008在如此大规模的计算集群上的首次尝试,大家也曾犹豫和怀疑过。继9月29日取得116.3TFlops的运算结果之后,我们在将近10天的时间里一直无法取得任何的突破,眼看着提交结果的期限一天一天接近,怀疑的声音也开始出现。Windows HPC Server 2008真的是如此大规模计算集群的正确选择吗?在这样的质疑声中,顶住压力,永不放弃是我们的唯一选择。记得当时美国总部团队的老板们正在上海访问,和上海的团队讨论下一个版本的计划,但是在Top 500项目的巨大压力下,上海开发团队的主管严治庆于当晚就飞回了北京,还记得他那个时候诙谐地说:“不是天不助我,而是时机未到”。越是这样紧张的时候,越是要镇定,我们总结了前段时间屡屡失败的教训,为每次基准测试程序的运行制定了详细的准备步骤:包括各个节点的排查,网络状况的检查,小规模测试等等。虽然每次这些准备工作都需要花费2个小时左右的时间,但我们发现这对确保测试运行的成功率发挥了至关重要的作用。在10月9号的早晨,顶着巨大的压力,我们终于突破了140T的大关,我们终于证明了自己,证明了Windows HPC Server 2008对于大规模集群计算的能力,我想这是我们在Top 500道路上最艰难也是最重要的一个结果,连曙光的同行都表示没想到你们真的能跑出这个结果!

    在整个Top 500的项目中,和我们一起并肩作战在中科院计算所地下车库里的还有一位法国朋友,他就是来自微软法国团队的Xavier Pillons。Xavier有着丰富的Top 500基准测试的经验,但是他表示像这次如此大规模的集群以及如此艰难的测试他还是第一次遇到。虽然作为他的第一次中国之行,Xavier在29天的时间里只得空休息了2天,但是他对此次的中国之行非常兴奋,记得在10月13号167.4TFlops之后的庆功宴上,Xavier自豪地说:“我们创造了中国高性能计算的历史,我很高兴成为其中的一员”!

    clip_image014clip_image016

    在临近提交结果期限的两天,经过一次次地改进和测试,我们又取得了新的突破,180.6TFlops的结果,78%的效率对于Windows HPC Server的历史,对于中国高性能计算的历史都是划时代的,也为我们一个多月的辛勤工作,无数的不眠之夜交上了一份满意的答卷!在11月中旬召开的世界超级计算机大会上,我们非常荣幸地跻身全球超级计算机前十的行列,并成为在美国之外唯一一个进入前十的超级计算机集群!当怀抱奖状的时候,成绩的取得已经成为了过去,我们会怀抱更大的热情和理想做好Windows HPC Server的下一个版本,也祝愿中国高性能计算行业的发展越来越红火!

    clip_image018 clip_image020

  • Windows HPC Server 2008 下围棋得了世界冠军!

    今年10月在北京举行第13届国际计算机棋类奥林匹克大赛上,经过激烈的角逐,程序Many Faces of Go以全胜战绩囊括了围棋项目19×19和9×9两个棋盘规模级别的冠军!而为这一世界冠军围棋程序提供超强马力的,正是运行在四台八核计算机上的Windows HPC Server 2008系统。这配备了高性能武器的32个核,果然不负众望,打败了拥有更多核的法国劲敌MoGo。

    13th Computer Olympiad, Go Results

    (本图片来自http://www.grappa.univ-lille3.fr/icga/tournament.php?id=181 屏幕截图)

    故事是怎么开始的呢?话说我们组美国的两位工程师在公司走廊里侃大山,聊到国际象棋问题现在已经差不多解决了,一台笔记本电脑都可以“欺负”世界冠军卡斯帕罗夫了。但是围棋却要复杂得多(棋盘更大,可行的着法更多,局势判断更复杂),要很强的计算能力才能勉强跟一个业余选手抗衡。要是能用我们的产品帮助开发人员写游戏程序去冲击计算机围棋届的奥林匹克大赛,想必相当好玩。光说不练假把式,我们的工程师随即联系了Many Faces of Go程序的作者David Fotland,稍加讨论,双方一拍即合。经过移植、调试和优化,一个基于MSMPI的集群版Many Faces of Go诞生了,一个新的计算机围棋程序世界冠军诞生了。

    更精彩的是,我们为这个围棋程序开发了Surface版本!(什么?你还不知道Surface?赶快看看这张神奇的桌子吧,无数人,包括我,都梦想把它摆在自己家的客厅呢,虽然可能会超出装潢预算)在刚刚过去的微软专业开发者大会PDC和超级计算大会SC08上,这一Surface围棋程序演示都吸引了好多好多的眼球,好多好多的WoW,不信?看看这段超酷的视频http://www.youtube.com/watch?v=Qe0o-IvHOa0 吧。

    Go on Surface

    下图为超级计算大会SC08的微软展台,我们组的一位法国工程师正在做一件我们都很喜欢做的事情——跟四台机器下围棋。每落一子,就看看我们自己开发的Heat Map(即Windows HPC Server 2008中的热图功能,参见下图Surface上的显示器)显示这些机器的CPU都biu的一下上去了,集群吭哧吭哧地开始算起来,后台程序还能告诉我们它尝试思考了下一步走哪些地方,几秒之后它选出觉得胜率最大的一招后再得意地落下棋子,CPU就又biu地一下凉快下来。联想到我见过的随温度变化而变色的茶杯,如果用茶杯来反映CPU的忙碌情况,当两台计算机纹枰论道,只见两个茶杯涨红了脸冥思苦想,应该相当有趣:)

    Heat Map for Go on Surface

  • Blog搬家了

    为了更好地整合资源,我们最近把Blog从http://www.windowshpc.net/Blogs/China 搬到了这里,非常遗憾以前的评论不能也搬过来。希望大家喜欢我们的新窝。