走向产业化的国产高端计算机

走向产业化的国产高端计算机

李国杰

 

一、     前言

计算机界一般将价格在10万元人民币以上的计算机称为高性能计算机或高端计算机。高性能计算主要指科学工程计算,而高端计算包括信息服务和事务处理,不仅重视高性能,而且关注高可用性和易管理性。高端计算机对增强国家安全和企业竞争力、提高国家科研水平和政府监控能力有广泛而深远的影响,已成为世界各国特别是发达国家争夺的战略制高点。高端计算能力与水平是一个国家综合国力的重要标志之一。

今天,发动机设计、模具设计、生物新药设计、新材料的研制、风洞试验仿真、石油勘探与开采等等都离不开高端计算。利用高端计算机提高产品的创新设计能力是国有大中型企业解困、高技术企业发展壮大的根本出路。长期气候预测、高精度天气预报、海洋环流计算、空气与水污染的模拟分析、洪水与地震等灾害的预报等涉及我国可持续发展的方方面面都需要进行海量数据处理和大规模计算。信息时代的网络安全至关重要,网络攻防研究必须使用高端计算机,尖端武器的研制更是高端计算机的主要用武之地。从基本粒子到宇宙学研究都需要高端计算,计算机模拟已成为理论研究与实验以外人类认识世界的第三条途径。政府部门进行国情与民意调查、宏观经济分析和风险预警都需要大量的数据分析,应用高端计算机将大大提高政府部门的监控能力。高端服务器是国家信息基础设施的核心设备,没有高端服务器的信息高速公路如同没有大电站的供电网。总之,高端计算机与各行各业都息息相关。

我国的高端计算总体上明显落后于发达国家。自50年代末以来,我国科研单位与大学陆续研制成功几代高端计算机,在国防建设等方面发挥过重要作用,但没有面向市场形成产业。为了促进我国高端计算机的产业化,国家863计划从90年代初开始持续不断地支持曙光并行计算机与超级服务器的研制开发,在高端计算机的产业化方向上迈出了可喜的一步。曙光天演、天潮系列高端服务器已在国内市场占有一席之地,打破了西方国家对我国高端计算机的禁运封锁,并且已出口海外。本文在回顾863计划支持下我国高端计算机研制取得的重大成果基础上,将着重阐述我国发展高端计算机的技术路线,并行计算机的关键技术和曙光超级服务器的主要技术创新特色,并展望了我国高端计算机推广应用的光明前景。

 

二、     我国发展高端计算机的技术路线选择

在高技术领域特别是技术进步日新月异的计算机领域,中国这样的发展中国家想要迎头赶上西方发达国家,选择正确的技术路线十分关键。863计划刚起步时正值日本红红火火地开展智能计算机研制,受日本五代机的影响,我国863计划计算机主题原定的研究目标也是智能计算机。1990年国家智能计算机研究开发中心成立以后,我国面对的第一个选择就是要不要跟日本人走。经过对国内外计算机发展趋势的反复调研分析,我们清醒地认识到计算机产业虽然发展很快,但已相当成熟,已经形成了一系列国际工业标准。脱离工业标准与计算机主流技术的所谓智能计算机(prolog机)不可能有好的前途。我们果断地选择以并行处理技术为基础的高性能计算机为主攻方向,以共享存储多处理机为第一个目标产品。十年来,我们顶着“智能计算机”的帽子,但一直以满足市场需要的高性能计算机为目标,从未动摇。同时在应用软件和人机接口方面,特别是Internet 网络应用上加强智能化软件的研究,提高应用软件的智能化水平,力争机器“傻瓜化”。事实证明这一研究方向选择是明智的。

确定正确的科研目标后,下一个选择是如何研制高性能并行计算机。是一切从头做起,强调所谓国产化率,脱离主流技术自己另搞一套,还是“有所为有所不为”,在增值链上选择最佳创新增值环节,站在巨人肩膀上攀登。我们吸取了中科院计算所过去“八年抗战”研制一台计算机的教训,把缩短研制周期、机器推出时具有市场竞争力作为优先考虑因素,率先在国内采用微处理器芯片和UNIX操作系统研制并行机。计算机产业发展的一个重要趋势是从垂直型企业向水平型企业发展,即每一个企业以增值链上某一个或少数几个环节为主发展业务,如Intel公司侧重于CPU芯片,微软公司侧重于操作系统、Oracle公司侧重于数据库、IBM公司侧重于系统与服务等。根据自身条件,我们定位在系统与应用服务层次,主要在机器内部互连网络、机群操作系统、Internet网络应用、高可用性与系统安全等方面增值创新。几年来的实践表明,我们选择的“有所为有所不为”的技术路线为我国发展高端计算机产业开拓了新路。

1995年我们研制成功了我国第一台大规模并行机曙光1000以后又面临了一次新的选择,即863计划下一个目标产品曙光2000究竟是做超级计算机还是超级服务器?高端计算包括科学工程计算、事务处理和网络服务,分别对应计算密集、数据密集和通信密集型应用。超级计算机主要用于科学工程计算,历史上超级计算机曾经以Cray公司的向量机为代表,最近多数采用并行向量机(PVP)和大规模并行处理机(MPP)结构。研制超级计算机主要追求计算速度,从计算速度上追赶国际先进水平容易得到学术界同行认可。超级服务器是更加通用的高端计算机,除科学计算外,更多地用于事务处理与网络服务。据IDC统计,全世界的高端计算机用于科学工程计算的不到10%90%以上用于信息服务和数据处理。自90年代中期以来,以商品化的微机与工作站服务器为基本部件(称为结点)采用机群结构的超级服务器已逐渐成为高端计算机的主流产品。95年我国的Internet还刚刚起步,全世界速度最快的500台计算机中90%以上还属于超级计算机,但我们从市场和应用发展趋势中已经预测到超级服务器一定有十分光明的市场前景,我们决定不以单项指标(如计算速度)赶上世界最高水平为目标,而以争取尽可能多的用户使用国产高端计算机为目标,因而选择了研制机群结构的超级服务器为主攻方向。最近几年来以IBM SP为代表的超级服务器发展势头远远超过了超级计算机,到1999年底,全世界速度最快的500台计算机中,超级服务器已占300多台(见图1)。每秒1100亿次的曙光2000-II超级服务器刚研制成功就有不少用户要求订货,这些事实说明我们从研制超级计算机转向研制超级服务器是十分正确的选择。曙光计算机发展的历程充分说明在计算机领域正确地选择做什么比知道怎么做更重要。研制目标符合市场需求和技术发展趋势是成功的前提。反过来,只是为了证明自己会做什么,样样都想自己做,没有明显的增值特色,则不管科研人员多么努力,也难以摆脱失败的命运。


 

三、     曙光计算机的发展历程

863计划的支持下,曙光计算机的体系结构从对称式多处理机(SMP)到大规模并行机(MPP)再到机群结构(Cluster),曙光计算机产品从单一品种发展到天潮、天演、天阔三个系列20 多种型号并逐步占领市场,几年来走过了一段不平凡的历程。93年研制成功的曙光一号并行机是我国研制成功的第一台对称式多处理机。所谓对称式多处理机是指处理机没有主从之分,每个处理机有相同的能力访问共享内存和外部设备。曙光一号的操作系统在国内率先实现了多线程机制,支持细粒度并行。为了提高系统支持大量用户的作业吞吐能力,缩短中断响应时间,我们自行设计生产了中断控制器ASIC芯片。与80年代研制的大型机、巨型机相比,曙光一号研制周期从5-6年缩短为一年,投入的人力和资金也大大减少,而研制目标就有机器成本控制,使得机器研制成功就有市场竞争力。

曙光一号研制成功以后,国家智能机中心就开始研制曙光1000大规模并行机。大规模并行机的关键技术是如何把大量处理机有效连接起来的高速互连网络和每个处理单元的核心操作系统。国家智能机中心率先在国内突破了“蛀洞路由”这一关键技术,研制成功路由芯片,为我国发展大规模并行机探索了一条道路。另一方面我们把处理单元的核心操作系统做得很小巧精致,占用内存很小,为用户提供了更多存储空间,使得曙光1000能求解的问题规模大大超过相同处理单元数目的国外并行机,比如曙光1000能求解包含15000个未知数的线形方程组。曙光1000峰值速度25亿次,成为国内研制成功的第一个实际运算速度超过每秒10亿次浮点运算的并行机。

曙光100019954月研制成功以后,我们没有放掉已研制成功的成果去开始研制更高性能的机器,而是集中精力花了两年时间实现已有成果的系列化、商品化和产品增值升级。在两年时间里我们在曙光一号和曙光1000基础上先后推出高可用服务器、Internet服务器、天演、天阔系列多种型号的SMP服务器、曙光1000A机群系统,后来又推出了基于NT的机群系统。这些商品化的高端计算机在市场上打开了局面。以曙光一号2000万元知识产权为基础成立的曙光信息产业有限公司成为在国内唯一能向国外大公司叫板参与同台竞争的高端服务器生产商和供应商,为打破国外垄断,促进我国高端计算机产业发展做出了重要贡献。

90年代中期开始,以大量销售的工作站与微机服务器为结点部件的机群系统逐渐成为高端计算机的主流产品。今后几年内高端计算机的体系结构已趋向采用如图2所示的可扩展机群结构,各大公司推出的高端计算机都类似这种结构。从1997年起,我们着手研制符合这种新潮流的超级服务器,先后于1998年底与2000年初推出了曙光2000-I和曙光2000-II超级服务器,前者由32个处理机构成,峰值速度达每秒200亿次浮点运算;后者由82个结点(164个处理机)构成,峰值速度达每秒1100亿次浮点运算。曙光2000-II是以双CPU SMP多处理机为结点的超级服务器,包含4种不同结构与功能的结点,内存容量达50GB,磁盘容量可扩充到几个TB,具有很高的可扩展能力,通用性很强,既适于大规模科学工程计算,又适于数据处理和网络服务。经过测试,实际计算能力已超过每秒460亿次浮点计算。以平均每个用户读1Mb文件模拟测试,曙光2000-II中的8个高性能结点每小时能接纳200多万用户访问。这种超级服务器将对我国信息化建设与网络经济的成长产生重大而深远的影响。几十个用户已在曙光2000-II 上进行核能开发、长期气候预测、石油地震资料处理与油藏模拟、合成孔径雷达成像、药物分子设计、基础科学研究等多方面的大规模科学工程计算,试算表明曙光2000-II系统效率高(一大批运算用128个处理机得到接近线形加速比)、机器稳定可靠、用户界面友好、使用方便。鉴定委员会认为曙光2000-II 超级服务器达到了当前国际先进水平,在机群操作系统和用户并行编程环境等方面已进入国际领先行列。曙光2000-II是一个商品化程度很高的超级服务器,具有很强的市场竞争力,它的计算能力超出国外目前对我国禁运的高端计算机一个数量级,这对我国打破国外高技术封锁、提高综合国力是一重大贡献。

 

 

 

 

 

 

 

 

 

 

 

 

 

 


MB: 内存总线         P/C: 处理器和缓存     LM: 局域内存

NIC: 网络接口卡       OS: 结点操作系统

          2典型的高端计算机体系结构

 

四、     高端并行计算机的几项关键技术

90年代以前研制计算机往往从基础的元器件开始,机器中密密麻麻的连线数以万计,人们认为这是一项尖端技术。随着系统规模扩大,研制大规模并行机群系统的起点也随之水涨船高,大量采用市场上容易买到的单机服务器为基本部件。这种新的研制策略使许多人产生一种错觉:研制高性能并行计算机是件较容易的事,买几十台微机用以太网连接起来就形成一个机群系统。事实上已有一些单位采取这种办法“攒”出了以自用为主的较松散的机群系统。究竟并行计算机的技术难关在何处?国外大公司生产销售的价格昂贵的机群系统(如IBM公司的SP系列)与自己用微机“攒”的机群系统差别在哪里?笼统地讲,主要的差别在性能、通用性、可扩展性与使用方便性上。以曙光2000-II 为例,它的实际点到点通信带宽已达到每秒100 MB水平,而用100Mb交换以太网连结,点到点的实际通信带宽只有3-4MB/S,通信带宽要低一个数量级以上。因此自己攒的机群系统一般只能用于通信量少的计算,难以放在计算中心或网络中心提供给各种不同用户共享,而且由于通信能力差,当规模扩大到32个处理机以上,对于大多数应用就不再有加速功能。另一方面由于缺乏具有单一映象的机群操作系统,可管理性与通用性都很差。实际上,在高性能的并行机体系结构、操作系统和编译系统等方面还有许多挑战性问题没有解决。992月美国总统信息领域顾问委员会提出一份建议书,明确呼吁要加强高端计算机的基础研究,解决体系结构、算法等方面的关键技术突破,下面以我们的实践经验为基础介绍几项高端并行计算的关键技术。

1、 并行机的互连通信技术

连接一台并行计算机内部各结点的高速通信网络叫并行计算机互连网络(Interconnection Network)。随着机群系统的兴起,最近常称为系统域网络(System Area Network, SAN)。系统域网络与局域网的主要区别是低延迟、高带宽。所谓传输延迟是指从一个结点开始发送n字节消息到此消息被另一个结点完全接受的时间。在并行计算机中,结点之间不仅要像局域网上一样传递大量数据文件,要求很宽的传输带宽(即每秒钟能传送多少字节信息的能力),而且经常传送一些控制信息或需要立即响应的短信息,因此传输延迟时间与系统性能有很密切的关系。一般来讲,传输延迟由结点开销(Overhead)、路由延迟、通道占用和冲突延迟四部分组成。在无冲突情况下,传输延迟主要取决于发送结点准备发送与接受结点完成接收过程中处理机执行软件的开销。网络中的数据传送与日常生活中常遇到的公路交通情况类似。乘汽车从北京市中心到天津市中心,高速公路上只要半个多小时(相当于网络通道占用时间),但出北京城和进天津市可能要一个多小时(相当于网络结点开销)。一般在广域网或局域网上采用的数据传送协议,如TCP/IP,考虑到长途线路可靠性不高,七层协议之间都有保证传输正确的检查协议。协议十分复杂,开销很大,一般在毫秒数量级。另一方面,把数据从存储器传送到网络接口的发送队列,或者反过来,从目的结点的网络接口接收队列将数据送到它的存储器,一般需要进入操作系统控制,如DMA 方式。执行操作系统至少几千条指令,软件开销很大。通过曙光系列并行计算机的研制,我们发现:(1)存储器拷贝数据的速度对开销的影响很大,应力争实现存储器零拷贝传输。(2)互联网络的带宽必须与处理机的能力同步提高,由于处理机速度成倍增长,执行软件的速度大大加快,处理机的开销(即执行软件的时间)也会大大缩短,如果通信带宽不相应成倍增加,通信带宽将成为制约性能的主要因素。

路由延迟与路由机制密切相关。传统的通信采用存储转发(store-and-forward)机制,消息先全部送到中途结点再向前传送。采用这种路由机制路由延迟与消息包长度成正比。对于大规模并行系统,这种路由机制效率低。90年代初国外开始采用像流水线一样的蛀洞路由(Wormhole Routing)机制。它采用一种先进的蛀洞路由芯片构成机内互连网络。蛀洞路由方法的好处是长的信号包分成许多小信息片,像一条虫子一样在网上传送。遇到堵塞时不必将整个信息包暂存在被堵塞的处理单元,而是以小信息片(几个字节)方式暂存在所经过的各个路由芯片中,既提高了通信效率,又简化了路由芯片。当时国际上采用的都是通过时钟信息控制的同步路由芯片,当机器规模做大传输线路长时需要考虑时钟延迟问题,不利于机器的可扩展性。国家智能机中心大胆地采用同步与用异步控制相结合方式研制蛀洞路由芯片并且一次研制成功,得到国外同行的赞赏。所谓异步控制是指芯片不用统一时钟实现同步而是通过接送双方“握手”协议控制。这种异步控制芯片调试难度很大,我们通过精心设计,攻克了研制大规模并行机的一项关键技术。

当两个以上消息包同时送到一个结点,或同时要占用一条通信线路时,就会发生传输冲突。在实际应用中常要求所有结点的有关信息汇集到一个结点,即所谓all-to-oneall-to-all通信,由于接收带宽远小于聚合的发送带宽,信息将堵塞在线路上,影响其他的通信,整个系统性能将大受影响。因此,如同交通管制一样,并行机系统必须有多个层次的流量控制(flow control)。一般来讲,不仅在底层而且在并行程序、算法和作业调度层次都要考虑通信的负载平衡。

并行计算机内部通信的性能不仅与通信硬件性能有关,如结点到网络的接口板(NIC),路由芯片、处理机存储总线与I/O总线带宽等,而且与通信软件(协议结构与算法)及用户环境有密切关系,设计支持多用户、多进程和多道程序的超级服务器的通信系统比只支持单进程科学计算的通信系统要困难得多。

曙光2000-II超级服务器为了支持多种编程方式(数据并行、消息传递、共享存储)、支持多线程SMP并行、支持多用户和多任务方式,为了缩小传输延迟和提高带宽,在通信核心层、基本通信库(BCL)等方面下了大功夫。在消息的分类处理、多进程共享网络资源、流量控制、SMP核心程序设计、内存零拷贝、页表管理优化、消息接收的重定向等一系列技术上做出了创新成果。各种应用程序对通信的要求不同,主要体现在消息长度上。事务处理应用大量使用小消息通信,主要要求很低的通信延迟;而科学计算类应用常有大批量数据交换,要求较高的带宽。我们设计的基本通信库进行了仔细的分类处理,实现了降低短消息延迟和增加大消息通信带宽的目标。为了支持多进程多任务运行,对进程间通信提供了各种保护手段,引入通信端口概念实现了多进程对网络资源的共享。曙光2000-II每个结点都是双CPU SMP处理机,我们设计的接口驱动程序实现了系统调用和中断处理的并行,充分利用SMP资源。在改进的基本通信库BCL-2中,实现了内存零拷贝,即整个消息传送过程中,数据从用户的源缓冲区到目的缓冲区无需经过任何内存拷贝操作。通过这些创新,通信系统在满足多用户、多进程、多种应用要求的前提下,曙光2000-II的实际点到点通信带宽高达每秒105M字节,比100Mb以太网的实际带宽要高几十倍。

2、具有单一系统映象的机群操作系统

操作系统是一台计算机最核心的系统管理软件,微机与工作站的操作系统,如NTUNIX,有效地管理一台微机和工作站的硬件软件资源。对于由几十台甚至几百台微机或工作站组成的机群系统,如何使用户面对的不是几十个以上独立的 IP地址、文件系统,而真正是协调工作的一台大计算机,就需要管理系统全部资源的机群操作系统,即在NTUNIX之上再增加一层系统软件。目前国外也正在开发这一类系统软件,没有一家能像Windows一样垄断市场。机群操作系统的关键技术是实现单一系统映象。

所谓单一系统映象(Single System Image)并不是像共享存储多处理机一样有一个集中的操作系统在共享存储器中,而是通过机群管理软件使用户感觉到在使用一台大机器,其主要特点包括以下几点:单一控制、对称性与位置透明性。所谓单一控制是指用户或系统管理员从单一用户界面或单一控制点得到系统服务。对称性是指系统所有文件服务与功能对用户和所有结点是对称的。位置透明性是指用户不必知道设备具体连在哪个结点。要实现单一映象,机群系统必须提供单一登陆点、单一文件系统、单一I/O、网络和存储空间、单一作业管理系统、单一用户界面等等。下面以曙光2000-II超级服务器的单一文件系统(COSMOS)和单一IP软件PowerRouter的实现为例,简单地说明这些关键技术。

COSMOS是基于分布式磁盘的可扩展文件系统,支持文件数据的分布存放、I/O的并行执行和文件系统的分布式控制。在中国开发系统软件有一道难关目前我们还不掌握结点操作系统源码,我们必须十分巧妙地通过核心扩展保持与主流操作系统(曙光2000-II结点采用IBM AIX操作系统)完全二进制兼容。COSMOS文件系统包括超级块文件、目录文件和数据文件等,用户可以使用大多数UNIX 文件命令和函数操作COSMOS文件。用户的I/O请求被分解对多个磁盘文件并行读写,提高I/O性能。设计既要保证单个用户I/O请求的分布执行,又要保证多用户I/O请求的并发性。总之,将存储在各个结点局部外存的文件组织成单一的可扩展的文件系统是一项十分困难而复杂的技术,我们还在进一步努力提高文件系统的可靠性与效率。

信息服务是超级服务器的主要用途之一。如果要求用户采用不同的域名实现不同的服务,如email, web, FTP, BBS等,那是很不方便的事。曙光2000-II通过一个软件PowerRouter实现了单一登陆点,即整个机群系统在网络上对客户只有唯一的系统名,客户用此系统名登陆到机群,而不需要登陆到特定的结点机。实现单一登陆点需要达到多项目标,包括可扩展性、负载平衡、对称性、透明性、一致性、高效与通用性。当系统资源扩充时(增加结点等),单一登陆点系统及用户无须任何改动,新的用户登陆到负载最轻的结点机,登陆到任意结点看到的系统是一样的,系统内部的实现细节用户看不到。当一个用户多次登陆时,不会引起系统不一致。单一登陆点可支持所有流行的标准网络协议。为达到这些目地,必须突破一系列关键技术,如将单一域名解析成不同的IP地址,网络地址转换路由器和IP包分发等。

除了单一文件系统和单一IP软件外,曙光2000-II的机群操作系统还包括系统管理子系统、资源管理子系统、作业管理子系统、单一用户界面等。专家鉴定认为曙光2000-II在机群操作系统等方面已进入国际领先行列。

3、分布式共享存储技术和Cluster-NUMA体系结构

提高并行计算机性能的途径主要是两条:一是提高并行性,二是提高数据的局域性。第一条很容易理解,系统规模扩大,采用更多的结点并行工作,至少理论上应获得更高性能。但当处理机数量超过一定限度(目前64个),以集中在一起的共享存储方式实现并行很困难,存储器冲突将使整个系统性能明显下降。因此大规模的并行机系统只能采用每个处理机带局部存储器的方式扩大存储器带宽。分布式内存导致数据远离处理器,因此,上述两条途径有相互冲突的要求,设计大规模并行计算机的奥妙之一就在于如何实现这两条对立途径的统一。由片内缓冲存储器、片外缓冲存储器、结点内局部存储器、结点外局部存储器最后到磁盘阵列外存储器,构成一个完整的存储器层次系统,每降低一个层次,存取数据时间差不多要增加一个数量级。因此,如何保证最常用的数据尽量靠近CPU,已成为计算机系统提高性能的关键技术。对于机群结构的并行系统而言,如果将分布在不同结点的局部存储器组成一个统一的大内存空间,不仅简化了编程,省去了数据分配的麻烦,而且对一些需要几个GB以上内存的应用问题,这也是程序可以有效执行的必要前提。

将各结点的局部存储器组织成具有统一地址空间的分布式共享存储器(DSM)是近十几年来计算机体系结构领域最热门的研究方向之一,其困难主要在于如何保持同一数据在不同结点局部存储器和缓冲存储器中各个拷贝的一致性,即任何一个处理机的读操作都应保证返回最新写的值。为了保证这种一致性,斯坦福等大学和SGI等公司研制了十分复杂的目录管理芯片,其芯片复杂性与CPU差不多。国外也有一些采取软件方法实现具有一致性的DSM ,或称虚拟共享存储系统。软件DSM系统虽然实现简单、成本低,但系统的性能较低。近年来围绕提高软件DSM系统的性能,国际上开展了大量研制工作。中国科学院计算所由夏培肃院士领导的课题组多年来从事这一方向研究,已取得进入国际领先行列的成果。他们研制开发的JIAJIA软件,采用基于锁机制的高速缓存一致性协议和一种有效的存储组织方式,已被世界20多个国家80多个研究机构与大学安装使用,在国际上产生了一定影响。基于JIAJIA 系统研制成果的博士论文已被选为全国百篇优秀博士论文之一。(计算机领域只有两篇论文入选,另一篇是有关计算机应用的论文)。

DSM 具有较好的单一系统映象,特别突出的是具有像SMP一样的单一地址空间,简化了大型并行程序移植与编程的工作量,国际上一般称为cc-NUMA,即Cache Coherent-Non Uniform Memory Access并行机。另一方面,机群(Cluster)系统具有非常高的可用性(下一节论述)。国家智能计算机研究开发中心提出了一种新的体系结构,叫 Cluster-NUMA,或简称C-NUMA,已在曙光2000-II上初步实现。C-NUMA结合了机群结构和cc-NUMA 结构两方面的优点,在未来几年内,将成为超级服务器的发展方向。 C-NUMA支持根据用户需求对机群实现动态分割。比如可将一台超级服务器分成分别进行科学计算、事务处理和信息服务三个子系统,每个子系统有相对独立的资源和单一存储空间、单一网络与I/O空间。在用户看来,每一个子系统就如同专门做自己应用的虚拟的超级服务器。在机群操作系统统一管理下,整个系统可以充分优化配置,可以做到处理机在一个子系统,而该结点的一部分存储器或磁盘属于另一个子系统。这种Cluster-NUMA结构非常适合做Internet 上应用服务提供商的主服务器。

4、高可用服务器技术

一个系统的可靠性一般以平均无故障时间来衡量,即MTTF。系统的可维护性一般用平均维护时间衡量,即MTTR。而所谓可用性(Availability)反映了系统可靠性和可维护性两方面特征,即

Availability=MTTF/(MTTF+MTTR)

通俗地讲,可用性反映一个系统一年内有多长时间正常工作。高可用系统要求一年内停机时间不超过3分钟,即高可用性>99.999%。传统的容错机以提高可靠性为目标,采用大量冗余部分,价格昂贵。一般来讲,这种高可靠的容错机更适用于短时期内(如一段飞行时间)尽量保证不出错。而银行证券商场等大多数服务部门需要服务器长时间不停机工作,真正需要的是高可用服务器而不是传统的容错机。近年来推向市场的高可用服务器以尽量缩短停机维修时间为目标,采用高可用软件控制出错时切换到备机运行,一次故障切换短则几秒钟,长则一分钟左右,可保证很高的可用性。机群结构由于影响全局的单一故障点少,其可用性大大高于共享存储多处理机。实际上许多用户采用机群并行系统主要是为了提高可用性而不是提高性能。

国家智能机中心与曙光公司十分重视高可用服务器研制开发,1996年就推出了双机高可用服务器系统,在曙光2000的研制中又将这一技术推广到多机系统。基于国情的考虑,我们要在不修改主流操作系统的前提下研制高可用核心软件,突出在故障检测和故障恢复技术上创新,其关键技术是系统侦测智能代理(Agent)、核心重构和进程迁移技术。双机高可用服务器采用共享磁盘阵列并用心跳(Heartbeat)网络连接。每台计算机上运行监控软件,完成错误检测、替代与恢复功能。不同于传统的容错计算机,高可用服务器不仅有硬件与系统软件容错能力,而且能检测应用软件的错误。曙光高可用服务器的故障切换时间比国外同类型机器短,而且可以由用户自行设置切换时间。国外的高可用软件管理和使用十分复杂,中国的用户使用水平低,常常有误操作。根据这一国情,曙光高可用服务器在不减少功能的前提下尽量简化系统配置程序,防止误操作造成人为故障,并设计了方便管理的全中文图形界面。

在曙光2000的研制中,我们以双机高可用软件为基础设计实现了多机高可用系统,当一个结点中失效后,在备用结点中立即选择一个最闲的结点加入到服务结点集中。系统通过控制结点上运行的监督软件收集各结点状态信息,进行负载平衡。对于像曙光2000―Ⅱ这样的超级服务器,由于结点数量大,对系统易损部件的电源、风扇等进行监控,及时发现与预测故障十分必要。曙光2000-Ⅱ的硬件监控系统能从近百个结点中及时发现风扇转数变慢导致的CPU温度改变,避免CPU过热出现计算错误,大大提高了系统的可用性。

 

五、曙光超级服务器的SUMA技术特色

高端计算机的一个重要发展趋势是从片面追求性能或购机时的性能价格比发展到注意整个机器生命周期内的总拥有性能(TPO)和总拥有成本(TCO),即总拥有性能价格比(TPO/TCO)。根据最近统计,服务器的总拥有价格是购进价格的23倍,额外花费用于安装、培训、系统管理、用户支持和升级维护。目前世界上高端计算机的利用率普遍很低,未经优化的应用通常只有峰值速度的5%甚至1%。为了提高总拥有性能价格比,越来越多的厂商开始关注那些似乎与性能无关的因素,主要是可扩展性(Scalability)、好用性(Usability)、易管理性(Manageability)和高可用性(Availability)。对使用水平较低的中国用户,满足这些需求尤为重要。曙光计算机的研制以改善这些特性为主要目标,我们归结为曙光机的SUMA特色,将SUMA做机器的标志贴在每一机柜上面的显著位置。

(1)   可扩展性(Scalability

可扩展性是对高端计算机的基本要求,也是曙光计算机追求的主要目标。可扩展性不仅注重系统规模扩大时性能,同时也注意系统规模缩小时的成本,即所谓Scale-upScale-down,因此,有些人将Scalable翻译成可伸缩性(尽管对计算机谈伸缩有些牵强)。可扩展性要贯彻到设计的所有层次,从存储带宽到通信带宽以至各种协议都要考虑可扩展性。SMP是扩张性差的一端而局域网连接的分布式系统是扩张性好的另一端。在这两端之间有宽阔的设计空间供设计者权衡折衷。设计可扩展系统的目标是通过增加资源(同时增加成本)要导致相应地增加性能。在可扩展体系结构中,处理机增加要伴随通信带宽和吞吐量线性增加而延迟只应常数增加。结点越多,对all-to-oneall-to-all通信的控制越困难,因此实现可扩展性的关键技术是设计高带宽低延迟的网络接口插件及基本通信软件库(BCL),此外,I/O能力和应用聚合(Consolidation)能力也是决定系统可扩展性的主要因素。在曙光2000―Ⅱ的设计中,我们采用二维网格的拓朴结构、无死锁的通信软件、精细的动态流量控制和用户层的消息传递保证了通信的可扩展性,使系统规模扩大引起的通信拥塞不会导致系统崩溃,大部分应用程序的性能达到接近线性的加速。COSMOS文件系统通过无中央服务的体系结构(用户数据和系统服务都分布的)、数据以条块化方式支持并行读写以及支持分布式全局系统缓存管理等技术实现了可扩展的I/O能力,服务器聚集软件聚合了更多的应用服务器,实现了应用的可扩展性。

提高可扩展性的另一途径是设计适合并行的问题物理模型和并行算法以及通过编绎优化数据分布。有些对并行处理不大熟悉的用户往往将一些微机上处理的小问题放在大规模并行机上求解,Amdahl定律决定了这样做不会得到大的加速比。并行计算的一条基本原则是“杀鸡不用牛刀”,只有对相对大的问题规模,才能发挥大规模并行机的作用。某应用物理研究所过去总是用小的测试程序做并行,得出物理研究只宜采用48个处理机的多处理机的错误结论,影响了我国一大批物理学科研人员。最近该所一批在国外使用过大规模并行机的科研人员在曙光2000―Ⅱ的64128个处理机上进行流体力学计算,得到接近线性的加速比,说明他们已经掌握了机器的扩展与求解问题相应扩展的基本规律。

(2)   好用性Usability

并行系统难用是长期以来用户普通的抱怨。曙光2000―Ⅱ从三方面入手方便用户使用,即单一系统映象、集成化的并行编程环境和Web帮助界面。单一系统映象使得用户使用机器如同使用一台单机工作站一样方便。用户登录后看到的是一个熟悉的UNIX平台,包括主流的编绎器、调试器、编辑器和其他十分熟悉的工具。集成化并行编程环境支持用户开发使用的全过程,将分散的工具集成在一个图形界面内,包括环境设置、编绎、进程与任务监控、性能分析、批作业提交和各种并行工具,大大增强了好用性与互操作性。曙光2000―Ⅱ的Web帮助界面通过用户熟悉的Web方式提供用户学习、培训、手册查找功能。遵循简单性与可扩展性原则,使对并行机不熟悉的用户很快学会使用,这对于大多数中国用户十分必要。

(3)   易管理性(Manageability

易管理性是所有服务器,尤其是并行超级服务器系统软件的一个难点。曙光2000―Ⅱ提供单一控制点支持,允许系统管理员从一个地方对整个系统进行全面管理,就像管理一台单机服务器一样。易管理软件由全局资源配置管理、用户任务和通信管理、批处理作业管理、机群管理、硬件监控管理和非计算类应用管理六大子系统组成。管理软件越智能化,管理机器和使用机器就越“傻瓜”化,这是我们追求的目标。

(4)   高可用性(Availability

     曙光2000―Ⅱ的高可用性主要通过低成本但高技术的方式降低修复时间实现,同时通过采用商品化部件、避免单一故障点和系统管理自动化等手段提高机器可靠性。关于高可用性上节已做说明,不再赘述。

SUMA特色为主要创新目标反映了我国计算机科技人员已经逐步纠正片面追求单项性能的倾向,开始走上以高端计算机产业化为努力方向的发展道路。

 

六、建立国家高端计算环境,努力开拓高端计算机应用

经过863计划与其他国家项目的多年支持,我国高端计算机的研制与产业化已有一定基础。神威计算机、银河计算机和曙光计算机是具有代表性的三种系列高端计算机与高端服务器。神威机与银河机主要面向军事应用,曙光机是面向市场的商品化通用服务品。自1996年以来,国家先后在北京、合肥、武汉、上海、成都等地建立了以曙光计算机为基础的国家高性能计算中心并设立了国家高性能计算基金,已支持100多个单位、250多个课题应用国产高端计算机与服务器进行各方面的科学研究,取得了一批有影响的成果,培养了一批人才。全国已凝聚了上千名使用过超级计算机的科技人员,为推广我国高端计算机应用奠定了基础。

我国的高端计算总体上远远落后于发达国家,在应用和教育方面的差距更大。应用落后并不是由于没有需求,而是一方面由于各单位缺乏足够的财力单独购买高端计算机,另一方面缺乏相应的人才使用与管理高端计算机。如果我国各关键部门继续长期只在微机水平上工作,我国21世纪的竞争力和经济发展的主权将受到极大影响。我国信息化建设也不能一步一步爬行,必须采取跨越的战略迎头赶上,尽快采用高端计算机构筑我国的信息基础设施,实现这一目标的有效途径是各用户单位共享高端计算设备与信息资源。在国家支持下,通过高速互连网络连接数十个不同规模的国家高端计算、数据处理和信息中心,以行业应用为基础形成国家高端计算环境(或称为国家信息网格,即Grid),把高端计算能力送到每一个有需求的用户的办公桌上,国家少量的投入将迅速改变我国高端计算应用落后的严重局面。

建立国家高端计算环境需要做以下几项工作。首先是建立国家高端计算网格。网格是因特网应用的新发展,又称为虚拟计算环境。网格把分布在全国各地的高端计算机连接起来,用户共享网络上资源,感觉如同个人使用一台超级计算机一样。另一项工作是开发高端计算网格系统软件与应用软件,形成生物、环保、防灾、工业设计等子网格系统,建立各行业共享的海量数据库与知识库。更为重要的任务是培养高端计算人才,五年内要培养出上万名熟悉高端计算和本行业应用的人才。只要我们做好顶层设计、周密筹划、认真组织,一定能在五年内初步建成国家高端计算环境,大幅度地提高我国的综合国力和国际竞争力。

 

 

作者简介

 

李国杰,中国工程院院士,中国科学院计算技术研究所研究员。

 

 

参考文献

1. Kai Hwang, Zhiwei Xu, Scalable Parallel Computing,

2. David E. Ciller, Jaswinder Pal Singh, Anoop Gupta, Parallel Computer Architecture,

 

HIGH END COMPUTERS AND ITS INDUSTRIALIZATION
Li Guojie

 

Abstract

 

In this article, we first introduced the technology strategies of development and industrialization of high end computers (HEC) in China. Then, we summarized the achievements of research and development on HEC supported by national high-tech R&D programme (863 programme). The major part of this article is concerned with the key technologies of parallel computers, included efficient inter-node communication, cluster operating system with single system image, distributed shared memory and cluster-NUMA computer architecture, and high availability, We also discussed the distinguishing features of Dawning 2000-II superserver, which is built by the National Research Center on Intelligent Computing Systems (NCIC). Finally, we prospected the bright future of HEC applications in China, that is, we will establish the National High End Computing Environment, or called National Information Grid, in the next five years.

 

(此文发表在   中国工程院主编的“中国科学技术前沿1999/2000pp105-125