自2004年研制成功曙光4000A高性能计算机以后,中科院计算所没有承担新的计算机研制任务。在这两年多时间里,科学院、自然科学基金和计算所投入了2000多万元,做高效能计算机的基础性、前瞻性研究,计算所已在技术上为下一代的曙光5000的研制做了充分准备,与过去研制曙光3000/曙光4000时的技术贮备相比,现在已经大不一样了。曙光公司2006年也实现了脱胎换骨,在天津建立了一流的生产线,同时公司还构建了国内唯一的高性能计算机用户体验中心和可靠性测试中心,技术实力今非昔比,为曙光5000的研制提供了强有力的工程技术和产品技术支撑。曙光5000不是从市场上采购上万个PC服务器节点加商品化互连网络组成的普通机群系统,而是要从体系结构、处理器及互连芯片到组装工艺都有重大创新的超级计算机。通过研制百万亿次计算机,要证明采用我们提出的创新技术研制千万亿次计算机是可行的。计算所和曙光公司已完全有能力抓住国外大公司在处理器技术上调船头的难得机遇,实现千万亿次计算机研制和产业辐射的跨越发展。
曙光5000方案中的创新点很多,现简要描述以下三点。
1、在世界上首次提出既能应对千万亿次科学计算又能十分有效地支持能力计算(utility computing)、应用面广的HPP体系结构(Hyper Parallel Processing)。
高效能超级计算机的主要用途有两种,一种是以最快的计算速度解决某个领域的科学问题,如IBM的BlueGene主要适用于解决蛋白质折叠计算;另一种是用于计算中心或数据中心的能力服务,即能有效地提供大量用户需要的计算、存储和I/O能力。迄今为止,全世界还没有一种高效能超级计算机能较好地满足这两方面的要求。这是因为不同的应用需要不同的体系结构。国外已有和正在研制的高效能超级计算机的体系结构的基本思路主要是大规模并行机(MPP)、机群(Cluster & Constellation)和分布式共享存储(NUMA)三种,不管采用哪一种都有局限性。曙光5000准备采用的HPP体系结构是计算所、曙光公司和多位国外著名学者反复研讨后提出的一种标新立异的结构。HPP是具有全局地址空间和三级并行的分布式系统,即片内是可扩展通用多处理器核并具有寄存器传输级通信机制;通过三层高速互联实现片内、节点内、系统三级并行;具有全局共享地址空间,通过节点内和节点间两级互连构成分布式系统;支持多通道并发的核到核通信;节点操作系统具有单一系统映像,并保持节点独立性;有效支持“多线程分割全局地址空间”编程模型。
通过实现以上独创技术,可以得到以下前所未有的好处:(1)基于HPP体系结构,可通过虚拟化技术使曙光5000体现不同体系结构的优点,从应用的角度看,它既可以是MPP,也可以是Cluster或NUMA结构的计算机系统,显著地扩大了应用范围;(2)曙光5000能有效地支持能力计算这一计算中心和大企业需要的新型计算模式,能根据用户的需求动态地调度和优化利用计算机资源;(3)曙光5000缓解了大规模可扩展和编程困难的矛盾,既增强了高效能计算机的可扩展性,又实现了全局共享地址空间,一定程度上克服了目前的分布式机群系统编程难的瓶颈,而且使目前商用机群上的大量应用软件可以兼容运行;(4)目前IBM BlueGene、Cray XT4、NEC ES等高端计算机技术下移至中低端系统时缺乏竞争力,而通过采用HPP体系结构,不但千万亿次计算机具有极高的性能价格比和性能功耗比,而且向下辐射做百万亿次甚至几万亿次计算机时都有很强的竞争力,十分有利于产业化。以上这些创新点国际上千万亿次计算机研制中还没有看到,如果这些设计都能得到有效实现,曙光5000很有可能在一些方面处于世界领先水平。
2、创新的设计主要体现在三款核心芯片上,曙光5000具有(百)千万亿次计算机的实实在在的自主知识产权。
从曙光一号到曙光4000,计算所和曙光公司在高效能超级计算机的研制过程中,曾设计、流片过Wormhole Routing 等关键芯片,但基本上没有量产。目前大量销售的曙光高性能计算机的各种芯片几乎都是进口的,CPU等芯片占到高端计算机成本的80%以上。曙光5000与过去我们研制的高端计算机的重要区别是,(百)千万亿次计算机的三款核心芯片都将由计算所和曙光公司自己设计。这三款核心芯片是:龙芯多核CPU,连接一块板上多个CPU的系统控制器(System Controller),和连接各节点的交换芯片(Switch)。这三款核心芯片难度都很大。如果能按计划如期完成,我们可以十分自信地宣布,中国已完全掌握了高效能超级计算机设计的核心技术。在我们的研制计划中,这些芯片不是仿制国外的芯片,必须要按照HPP体系结构的要求独立设计,包含许多原始创新:例如:我们争取在世界上首次实现CPU内多核之间的寄存器级(RTL)数据传输机制,使得CPU内通信速度有可能超过计算速度,从根本上消除通信瓶颈;系统控制器和交换芯片中内置可直接寻址的Test & Set硬件锁,可显著提高进程间同步的效率,硬件“同步”也会大大提高并行应用同步的效率;利用全局地址空间实现“赋值”式通信,降低CPU中核与核之间的通信延迟;利用多层网络提高了多核与多核之间并发数据交换的聚合带宽和吞吐率,打破通信壁垒等等。
必须指出,研制( 百)千万亿次计算机在工程实现上难度很大,不同于一般的科研课题。曙光5000必须解决一系列世界性难题:如千万亿次计算机的全系统模拟器;高频数字模拟混合、光电混合信号;多核心(Kernel) 操作系统容忍单个处理器故障,能够支持节点之间的隔离性;对消息传递机制和全局地址空间两种并行计算模式同时提供有效支持;上千个客户端在多用户并发访问模式下保持稳定的I/O性能;改造现有算法并利用并行编译技术使应用与千万亿次计算机的体系结构相适应,以达到数万个处理器的可扩展性等等。这些都是国际学术界和企业共同面对的难点。我国在工程技术上与国外还有较大的差距,掌握这些技术还需要我们付出艰苦的努力。
3、曙光5000创新技术还体现在低成本、低功耗和低占地面积方面,曙光5000在单位性能的成本、功耗和占地面积上的目标是瞄准世界领先水平。
龙芯多核CPU在可扩展多核结构、多指令集支持以及在低成本和低功耗的基础上获得高效能等方面有独特的优势。如果全部采用龙芯多核CPU,曙光5000在成本上将有极大的优势。即使只采用一半龙芯多核CPU,另一半用国外CPU芯片(曙光5000的体系结构具有很大的灵活性,也可以支持其他主流CPU,不限于龙芯CPU),成本上也有较大优势,比国外正在研制的千万亿次计算机成本要低得多。
曙光5000计划分两期进行,在2008年通过一台百万亿次曙光5000A系统、一台数万亿次原型机、一个模拟器分别验证曙光5000在软件、硬件、体系结构上的创新,在2010年推出千万亿次曙光5000L系统。
曙光5000在满足国家千万亿次高效能计算机的战略需求的同时,还要将关键技术辐射到企业服务器、个人高效能计算机(万亿次)、箱式高效能计算机(十万亿次)、可扩展高效能计算机(百万亿次)等多种产品形态,到“十一五”末高效能计算机平均每万亿次的硬件成本要比曙光4000A时降低30倍,使得国产品牌高效能计算机的销售量增加8-10倍,达到每年4000台以上,大大提高国内品牌高效能计算机的市场竞争力,有力地促进高效能计算机在中国的普及。