当前位置: 首页 > news >正文

亲历北京Top 500

[原文发表地址] 亲历北京Top500

[原文发表时间] Tuesday, December 30, 2008 7:33 AM

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

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

a data center build within 7 days in ChinaWelding the waterpipe for cooling case

作为微软高性能计算中国开发团队的一员,我也有幸加入到这次影响中国高性能计算历史的努力中!曙光,是中国高性能计算的代表企业,与微软公司的结缘始于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个计算节点的强大的管理能力,深得同行的赞誉,我们也终于舒了口气。

Renqi (Dev on the left) & Qiufang (Test on the right) CRD engineers

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

Temp Bed harsh living condition

我们感激曙光公司在如此大规模的计算集群上率先采用刚刚发布的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自豪地说:“我们创造了中国高性能计算的历史,我很高兴成为其中的一员”!

Kernel debugging at its finestLinpack guru working hard

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

top 500 journey top 500 ceremony

 

丛兰兰
HPC中国研发团队 项目经理

相关文章:

  • 【翻译】使用IIS 7.0 PowerShell 创建web站点,Web应用,虚拟路径和应用程序池
  • @ModelAttribute使用详解
  • 在园子里吵架属正常
  • Java socket(三)使用TCP传输文件
  • [独库骑行之我们穿过草原]巴音布鲁克大草原
  • angular-ui-bootstrap (1)
  • firefox播放mms流媒体(网络电视)
  • 学习Oracle的好地方
  • easyui datagrid 行右键生成 动态获取(toolbar) 按钮
  • SQL中 对逻辑值取反赋值的语句
  • 验证码的前世今生(前世篇)
  • PHP课程总结20161228
  • 公司地址变更:工商、税务变更流程(转)
  • js 获取 url 中的参数, 并保证获取到的参数不乱码
  • sqlserver2005此数据库没有有效所有者,因此无法安装数据库关系图支持对象的解决方法...
  • [译]CSS 居中(Center)方法大合集
  • classpath对获取配置文件的影响
  • Cumulo 的 ClojureScript 模块已经成型
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • Flex布局到底解决了什么问题
  • Intervention/image 图片处理扩展包的安装和使用
  • js
  • k8s 面向应用开发者的基础命令
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • React-redux的原理以及使用
  • windows下使用nginx调试简介
  • 包装类对象
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 搞机器学习要哪些技能
  • 简单数学运算程序(不定期更新)
  • 前端设计模式
  • 人脸识别最新开发经验demo
  • 数据仓库的几种建模方法
  • 协程
  • 学习HTTP相关知识笔记
  • 一起参Ember.js讨论、问答社区。
  • 移动端解决方案学习记录
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • Python 之网络式编程
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • #{}和${}的区别?
  • #NOIP 2014# day.2 T2 寻找道路
  • $.proxy和$.extend
  • ${ }的特别功能
  • ( 10 )MySQL中的外键
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (function(){})()的分步解析
  • (rabbitmq的高级特性)消息可靠性
  • (动态规划)5. 最长回文子串 java解决
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (六)Hibernate的二级缓存
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos