曙光在前,胜利在望
国家智能计算机研究开发中心
李 国 杰
863计划306主题八五期间的关键目标产品阶段性成果——曙光1000号大规模并行机将于95年2月份鉴定。这项成果标志着我国已突破90年代大规模并行机的关键技术,进入国际大规模并行机研制“俱乐部”。曙光1000号研制成功将我国并行处理技术大大推进了一步,继曙光一号之后,我国在并行处理技术方面又上了一个新台阶。
曙光1000号(内部型号为东方一号)采用6*6的二维网格结构,共采用36台处理机,其中32台为计算结点,另外四台是I/O结点和服务结点。系统扩展十分容易,只要增加一点经费(200万元左右),两个月内就能在原机柜内将结点数增加一倍,性能翻一番。I/O结点也可以根据用户需要增加,不受总线带宽限制。
计算结点采用Intel 80860芯片,单机峰值速度为80Mflops,32个计算结点,峰值速度达256Gflops,即每秒25亿次浮点运算,根据目前试算,有些题目实际运算速度可超过每秒10亿次。曙光1000号采用工业标准机柜,内装两个插件箱,每箱插有18块板(16个计算结点板,1块I/O接口板,1块服务结点接口板),结点之间的连接全部在插件箱底板上用印制板布线实现,插件箱外看不到杂乱无章的线,组装工艺水平已达到国际上同类机型的水平。
在硬件实现上,其关键是如何将众多处理机有效地连接起来。国外厂家无不把互连技术做为其核心技术,市场上买不到互连芯片。我们花了三万美元,不到半年时间,独立自主地研制开发了一种先进的互连芯片—WRC 1,即Wormhole Routing Chip。Wormhole Routing是目前商用大规模并行机中主要采用的互连技术。Intel公司的Paragon并行机,MIT的J Machine都采用此技术。我们采用1μ ASIC工艺,在国外研制生产了一批Wormhole Routing芯片,可实现5个方向10条通道同时通讯,最大通信能力达400MB/s。为了便于扩展到多个机柜,克服时钟延迟带来的同步困难,我们大胆采用了异步控制设计,芯片上不用时钟控制同步,而是用Self timing控制,其设计难度大大超过同步互连芯片,MIT、Intel等设计异步Wormhole芯片时曾失败过几次。我们一次试制成功,经过一年多考验证明我们研制开发的这一关键芯片稳定可靠。
曙光1000号的硬件达到九十年代前期水平,而其编程环境与使用方便性达到了当前国际先进水平,某些并行编译程序的水平已超过目前市场上出售国外公司产品。92年10月我们启动这一项目时,巴统尚未解散,芯片进口有限制,根据当时条件,我们选用了i860XR,时钟40MHz。
Intel公司虽已决定不再升级i860,但由于基于i860的Paragon并行机占MPP市场1/3以上,未来五年内Intel公司还要生产Paragon的升级产品并开发软件,我国大庆油田等单位打算购买Paragon并行机,联想集团等公司也已决定与Intel公司合作,在Paragon并行机上开发事务处理应用软件,试图打开财税市场。因此曙光1000号有可能在石油、财税等部门推广。
曙光1000号的一个重要特点是系统命令,用户界面完全与Paragon并行机兼容,在Paragon上运行的各种应用软件不做任何改动就能在曙光1000号上运行。这一设计策略大大降低了我们重新开发大量应用软件的负担,使用户放心购买曙光1000号。一种用户容易采纳的方案是先购买一台最小配置Paragon并行机,再买大配置的曙光1000号,增强性能,应用软件只需购一套。我们研制的并行编程环境大多数基于从Internet网上能取到的免费软件,如PVM等,有些商用软件如Parasoft公司的Express,我们已购买了源程序并在其基础上做了较大修改,因此在软件版权上不存在问题。
曙光1000号的并行程序环境在中心原有成果基础上进行开发的,改进了曙光一号上的并行优化重构工具PORT,又开发了一个新工具叫PORTGraph,以图形方式提供编程与调试界面,不但能提供静态数据相关性分析结果,而且能提供程序执行时的动态信息,如死锁现象等。IBM、MIT等公司和大学的权威学者参观了我们的并行编程环境后,大为赞赏,一致认为已达到世界上一流水平。我们购买的自动并行软件ASPAR有不少错误,经过一翻努力,我们纠正了所有发现的错误,并大大提高了ASPAR的功能,改名为Autopar。通过与北京大学等单位合作,我们研制了一套Fortran程序的预编译系统,自动产生最适合i860执行的优化代码,对矩阵乘法等运算,性能提高10~20倍,使得单机浮点计算能力实测达到每秒4000万次以上。
石油部物探局的领导与科研人员参观中心以后对曙光1000号的并行程序环境极感兴趣,他们将做为用户单位试用曙光1000号,向鉴定会提供实际运行的真实数据,而且他们希望下一台曙光2000号的研制时从开始设计就介入。
曙光1000号的并行文件系统也有特色,大的文件可分布在几个磁盘内同时存取,磁盘的存取缓冲很大(可利用每结点32MB内存),而且尽量利用预取后存技术,I/O速度很快。由于I/O结点可任意增加,避免了I/O瓶子口。在下一台曙光2000号设计中,我们将采用更先进的Hippi总线,以适应石油物探大量磁带输入的要求。
要完成863计划的关键技术攻关任务,一是要遵循一条符合计算机发展规律又适应国情的技术路线,另一条是必须有一支能打硬仗的科技队伍。在306专家组领导下,智能机中心在研制大规模并行机时采取既要攻克90年代高技术,又要求研制成果可产品化,使用户真正好用的技术路线,即将“顶天”与“立地”的要求结合起来的技术路线。做一台用户能真正使用起来的高性能MPP已成为每一位研制人员的追求目标。
智能机中心90年才成立,研制人员大多数是刚从学校毕业的硕士、博士,缺乏工程经验,也不习惯工程管理。如何带领这支队伍打硬仗是我们面对的一大难题。在两年多的研制过程中,我们也走过弯路,耽误了一些时间,其主要原因是年青人过于自信,对工程实现上的难度估计不足。我们重视了发挥青年科技人员作用,给年青人压担子,但在一段时间内对年青科技人员的管理教育没有跟上,直到调机遇到麻烦时年青科技人员才对工艺规范、软件工程管理的作用有亲身体会。94年我们调进几位有经验的老同志,言传身教,确实对工程质量起到保证作用。第二个插件箱18块板上电后一次成功,几乎不需要调试。没有严格的硬件工程管理,绝对达不到如此高的研制效率。软件上我们也基本上执行国外大公司一整套软件工程管理制度,对程序说明、文档、测试以及人员业绩考核都有一套规矩,这套办法今后还要进一步完善。我们吃过的苦头表明,做大机器工程管理不严就不能达到预期目的。由于新手太多,这台机器已比预定完成时间推迟了几个月才完成,损失的时间我们力争在下一台曙光2000号研制时争回来。
智能机中心正在申办中外合资曙光公司,办公司无疑会引起曙光1000号科研人员的心情波动。生产公司产品的人与研制MPP的人在一个楼里上班,天天见面,如果两方面利益处理不当,必然导致队伍不稳。我们花了大量的精力协调中心与公司的关系,试图找到一种合理的机制使两方面的人都安心工作,即强调公司与事业单位在待遇与风险上的区别,又强调相互依存的整体观念。有些集体活动,两方面的人一起参加,增强相互理解。目前研制MPP的队伍基本稳定,但仍有不少矛盾。今后在公司与中心的管理机制上还要探索新的路子。
306主题八五期间的关键目标产品—曙光2000号(内部称东方2号)已经启动。我们追求的目标是96年3月(863计划10周年)以前完成100台Power PC 604的MPP。运算速度达到每秒200亿次以上(合同规定指标是100亿次)。要在一年多一点时间里完成这一艰巨任务确实不容易。尤其是设计Power PC机器的EDA环境我们还没有,需要添置最必要的设备与软件,但目前的800万研制经费仅够买元器件,设计工具升级费用有待落实。曙光1000号的研制经费不到500万元(另有300万元设备费),我们用较少的投入办成一件大事,这是863计划的优势所在。下一台MPP研制更要突出863计划研制成果花钱少、研制周期短、技术水平高、对技术发展有引导作用等突出特点,为促进我国计算机高技术发展做出新贡献。