全线出击
2016-06-27
美国计算机天才西摩·克雷说:“可以造出一个速度快的CPU,却很难造出一个速度快的系统。”
“世界巨型机之父”这句名言,在中国第一台每秒千万亿次超级计算机研制中再一次应验了。
2009年7月,他们按照CPU+GPU体系结构技术构建了几个机柜的系统,结果试运行时发现,系统稳定运行时间很难超过半个小时。这是为什么?
通过初步分析,大家认为问题还是出在GPU身上。GPU用于科学计算,除了计算效率问题外,还有一个相关技术非常重要,那就是GPU的稳定性。GPU用于图形处理,其计算负载与通用计算存在较大差异。尤其是GPU实际性能发挥出来后,各部件进入重负载状态,功耗提高,散热要求高,各器件的稳定性下降。当系统中使用的GPU数量多了,系统平均无故障时间也会随之下降。
这个问题不解决,CPU+GPU异构融合之路同样是条“死胡同”。
提高GPU工作稳定性问题,再次成为杨灿群和他的突击队亟待解开的新“谜语”。
他们首先使用筛选法对众多GPU逐一进行压力测试,找出那些运行稳定的GPU。结果不理想,系统稳定性虽然有所提高,但与系统稳定性要求相去甚远。
他们仿佛陷入了迷魂阵,四周迷雾茫茫,不知方向在哪里、出路在哪里。但他们始终坚信,黑夜再漫长,曙光总会出现。
在艰苦探索中,“八一”节到了,单位组织会餐。杨灿群对战友们说:“走,喝两杯去,醒醒脑。”但到了餐桌上,到底喝了什么酒、吃了哪些菜,并没留下什么印象。因为在吃饭喝酒时,他们脑袋里依然转的是GPU工作稳定性问题。几个人一放下碗筷又直接回到机房,一头扎进浩如烟海的GPU技术资料里,苦苦寻找破解迷雾的那一缕曙光。又是连续几天吃住在机房……
8月4日上午,网上一个曾浏览过的有关GPU超频提高性能的帖子突然浮现在杨灿群脑海。帖子上说,GPU超频可以提高性能,但会导致GPU运行不稳定,甚至系统黑屏。
杨灿群突发奇想,按照逆向思维,如果选用的GPU具有调频功能,让GPU降频不就可以提高它的稳定性吗?
天随人意,拿过使用的那款GPU一看,恰恰具备调频功能。大家赶紧对它进行降频处理。结果GPU稳定性问题终于迎刃而解。
GPU计算效能、稳定性关键技术探索艰难曲折,其他关键技术攻坚也跌宕起伏、步步惊心。
超级计算机系统要实现每秒运算千亿次,不仅要求CPU、GPU“算得快”,而且要求有一个快捷通畅的网络系统,让各种信息“跑得快”。
2008年10月,苏金树带领大伙受领的某新型交换机项目,是每秒千万亿次超级计算机通信网络的“立交桥”,直接决定着网络通信速度。通过深入调研、严密论证,他们提出正交系统互连方案,使系统结构简洁,设计难度、制造工艺要求、研制和生产成本大幅降低。
但通过互联网将正交互连方案和芯片制造商美国技术工程师交流后,遭到坚决反对,对方在三封邮件和四次电话会议中反复强调:
一、他们也研究过正交互连,也进行过正交互连结构条件下的仿真、实验和测试,结论是:信号传输损耗大,阻抗不连续,不能满足该型交换机信号传输要求。
二、该型交换机设计非常困难,他们用了两年多时间才完成,没有他们的技术支持,不可能成功。
三、如果坚持正交互连方案,他们将不给予正确的技术支持。
四、如果坚持正交互连方案,必以失败告终。
研制工作一开始就陷入两难境地。如果坚持走自己的设计路线,需要一切从头探索,创新难度大,风险高;如果改方案,完全按美国人提供的方案搞,成功有把握,但没有自己的特色,没有创新,没有优势。
从来就不迷信和崇拜别人的银河人坚定地选择了前者。他们坚信没有美国人的技术支持,中国人照样把新型交换机搞出来。他们说,20世纪60年代,苏联撤走专家,中国照样搞出了原子弹!90年代,英国撤走汽车专家,中国照样搞出了小汽车。很多事实已经证明,死了“张屠夫”,中国人照样不吃“带毛猪”。
他们通过两个多月夜以继日的仿真和试验,发现在正交互连条件下,美国人的试验方案和设计规范,确实不能满足某新型交换机信号的传输要求。但深入研究了信号完整性方面的相关理论和技术及美国人的设计规范后,终于发现他们所使用的矩形反焊盘,是导致信号传输损耗大和传输阻抗不连续的主要原因。针对该薄弱环节,他们发明了跑道式和哑铃式反焊盘,通过三个多月反复迭代仿真,得到全面设计规范,关键的眼图技术参数达到60ps,远远大于美国人的35ps。
仅用10个月时间,他们就研制完成新型交换机。实测技术指标大大超过同类系统,而成本是同类同规模产品的80%。
高速互联网上交换芯片、接口芯片测试,也经历了一番迂回坎坷。
研制小组经过半年多连续奋战,完成逻辑设计和软硬件模拟时,离芯片最后投片期限只有3天了。
大家把最后版本的逻辑设计都综合在FPGA测试软件中,准备进行最后完全测试。这也是研制工作关键点之一,如果通过了,那就万事大吉;如果卡了壳,那就前功尽弃。
测试程序启动后,大伙都把眼睛睁得圆圆的,紧紧盯着屏幕。突然,那些欢快滚动的数据一下撞到墙上似的,一动不动了。
大伙心里一沉,这是怎么回事?
赶紧检查外围,发现光纤好好的。
检查服务器,服务器也活着。
查看交换机,交换机也有电。
又查以太网,也是工作正常。
最后,大家抱着试试看的想法,让它从头开始运行。那些数据又开始滚动起来,可几分钟后,又故态重萌,躺着不动了。
死锁!大家一下子都急出一头冷汗。要解开这把死锁,首先必须查明它“死”在哪里。
查因的突破口首先选在测试试题与测试模式结合部。负责测试操作的刘路和设计测试题的谢闵,由于年轻气盛,加之急火攻心,两人一碰头便“吵”了起来。
谢闵正忙着测试另一个驱动程序,劈头便问刘路:“我那边正忙呢,你叫我干什么?”
刘路说:“把所有测试题都加进去跑,运行一会儿就死锁了,会不会是你编的测试题不能一起跑?”
谢闵说:“不可能,单个题能跑,混合在一起跑不会有影响。”
刘路说:“那不一定吧,单个跑和混在一起跑,能一样吗?”
谢闵说:“你放心,我所有的题都内部做了流控,绝不会出现相互拥挤现象。”
刘路说:“别的题单独跑没问题,说明硬件没问题。偏偏跑你的题死锁,不是你的题有问题,是什么?”
谢闵说“我还怀疑你们的测试模式有问题呢!”
沉默一阵,两人几乎同时朝对方摆摆手说:“咱们再争是浪费时间。”两人商定按老规矩,都去自查原因,自证清白,再合作解决。
研究室领导带着大家忙了一个昼夜,结果却发现测试题和测试模式都没问题。
难道是接口芯片出问题了?大家将所有接口芯片统计计数器的值读出,结果四个接口芯片流出的数据包的个数恰好等于四个接口芯片流入的数据包的个数,这说明正常呀。
他们不得不把怀疑的目光移向交换芯片。要是在这最后时刻发现它有问题,后果不堪设想呀。就在大家都悬着一颗心,紧锣密鼓苦读代码时,却意外地从测试用的FPGA版本上发现了疑点。
把FPGA版本进行更新再运行时,那些数据终于又快乐地跳跃起来。两种芯片都按时一次投片成功。
大伙擦去额头上的汗珠,轻松地吁了口气:“要是再查不出原因,耽误了投片,拖了工程后腿,我们可没法向党和人民交代呀。”
电源系统主任设计师胡世平是一员参加过“银河—Ⅰ”“银河—Ⅱ”“银河—Ⅲ”系列巨型机研制的老将。每秒千万亿次超级计算机攻关中,他又带领大家担负起研制电源分系统的重任。
2009年7月,每秒千万亿次超级计算机机房进行配电建设。胡世平一边要进行电源系统的技术攻关,一边要与电力公司工程技术人员研究解决变压器施工中出现的问题,还要参加动力电缆施工,50多岁的他经常干最苦最累的活,不认识他的人还以为他这个大教授是一名电工。
那段日子里,胡世平忙得两头都快变成了一头,不说没有了节假日,还时常一干就是一通宵。
偏在这节骨眼上,他90高龄的母亲股颈骨骨折,生命垂危,被紧急送进了医院。胡世平听到这个消息,心头一下子揪紧了。
他的父亲,是1953年组建“哈军工”时,由陈赓院长亲自点将、经周总理批准,第一批从全国抽调到学校工作的专家教授。他出生三个月后,母亲就带着他和他的哥哥、姐姐,去了军事工程学院,在校直属医院当了一名产科医生。此后,母亲一直在校医院工作,一生中迎接的新生命数以千计。心地善良的母亲喜欢孩子,更爱自己的三个孩子,而对他这个老幺,更是百般关爱,倍加呵护。
胡世平对母亲也很爱戴和敬重。母亲住院后,他任务再重,工作再忙,也要尽到为人儿子的孝道。每天白天争分夺秒赶任务,晚上下班后,再晚也要到医院守候病中母亲,给老人家翻身擦背,洗脸梳头。
医院没有陪护床位。他每天只能趴在母亲的床沿上睡一会。后来,他去超市买了一张折叠床,睡在母亲的病床旁。每晚都要起来好几回观察母亲的病情,给她掖紧被窝。
母亲得知儿子参与研制的机器,准备拿世界冠军,说等病好些后无论如何也要去看看。儿子说,过两天就拍些照片过来,让老人家先睹为快。可他每天一进实验室忙起来,就把这事给忘了。
这天,总师组领导找到他说:“天津用户那边供电工程出问题了,自己解决不了,已经拖了工程后腿,请你赶快过去。”
胡世平领受了任务,回到医院告别母亲,当天飞到天津。
他一下飞机立刻开展工作,连续奋战两天一夜,终于解决了问题。其间,不说睡觉,连饭都没有好好吃一餐。用户非常感激他,特意为他摆了一桌酒菜。心里惦记着躺在病床上的母亲,胡世平哪有心思喝酒,他让服务员用饭盒装了几样菜便上了出租车,边吃边往机场赶。
虽然胡世平以最快速度赶回了长沙,可当他一下飞机,把手机打开时,“通话秘书”告诉他:半小时前,妻子给他打了十几个电话。
胡世平预感到出事了,立刻把电话回过去。
妻子哽咽着告诉他:“妈妈在半小时前走了——”
他奔到医院,只见母亲躺在急救室的病床上,双唇轻闭,一脸安详,只是两只眼睛微微地露着一条缝。他知道,那是老人在等着他回来,那是母亲在告诉他,她还有很多很多话,要跟他这个家里的老幺说。
胡世平双膝跪在母亲跟前,声泪俱下:“妈妈,您不是说要等我回来吗?您不是要等我们把机器搞完了,带您去参观吗?现在我们的机器还没做完,还没等我出差回来,您怎么就走了呢……”
在大家艰难曲折、锲而不舍的攻坚中,各项关键技术相继突破。
2009年国庆节来临前夕,每秒千万亿次超级计算机一期系统安装完毕。这时,从芯片市场传来一个喜讯,一款性能更高的新款GPU上市了!这对于正与世界强国决战的银河人来说,就像在国际足球赛中的前锋面前突然出现了空门,让大家兴奋到狂喜。
但这“临门一脚”并不好踢:一是离任务节点只有一个月了,而更换GPU必须先拆再装,整个系统有2560多个节点,团队完成更换GPU的工作通常需要半个月左右。而且更换了新GPU之后,就必须对原先的软件优化措施加以改进,能按时完成任务吗?
总师杨学军把一线攻关团队集合起来,大声问大家:“这新款GPU,我们上不上?”
大家异口同声:“上!上!上!”
“按时完成党和国家交给我们的任务,有没有信心!”
“保证完成任务!”
国庆节来临了,最后的突击开始了。测试筛选、拆卸安装GPU,是个体力活。团队全体人员,男女老少齐上阵,三天三夜,谁也没合过一下眼,终于完成数以千计的GPU更换工作。
任务完成后,杨学军再次把大家集合起来,看着大家一双双贴满创可贴的手,熬得通红通红的一双双眼睛,他的眼睛也红了。