高性能计算机发展与政策
2019-07-05孙凝晖谭光明
孙凝晖 谭光明
中国科学院计算技术研究所 北京 100190
1 超算发展的趋势是既要“顶天”又要“立地”
1964 年,有“超算之父”之称的 Seymour Cray[1]研制的 CDC 6600 问世,并安装到美国 Livermore 和Los Alamos 国家实验室,开启了高性能计算技术和产业 60 年的持续发展与繁荣。超算的宏观发展趋势是既要“顶天”,又要“立地”。“顶天”的含义是性能高、算得快,人类对计算速度的需求是永无止境的,所以追求性能的巅峰是第一动力。“立地”的含义是应用广、台数多,超算的本质还是一台高端的计算装备,是装备就要被用得越多、越广,越能体现出它的价值,所以进入各行各业、形成产业规模是超算发展双轮驱动的另一个轮子。
高性能计算 60 年的演变路线可简单地分为 2 个阶段[2]:Cray 时代和多计算机时代(表 1)。① Cray 时代。从 20 世纪 60——90 年代初期的 30 年被称为“Cray时代”,以单一内存向量机的技术革新为主导,Cray定义和引领了前 30 年的高性能计算市场。第一个 30 年研制以“顶天”为主,仅服务于国家战略部门。② 多计算机时代。从 20 世纪 90 年代迄今的后 30 年被称为“多计算机时代”,由于微处理器的出现,以及大量工业标准硬件的普及,以大规模互连多个通用乃至商用的计算部件的可扩展系统结构的技术创新主导了迄今为止的高性能计算发展。后 30 年的高性能计算机在满足国家战略应用对性能巅峰需求的同时,“立地”成为发展的主要目标,市场驱动、高性能计算应用普及成为第二阶段的显著特点。
表 1 高性能计算 60 年演变的 2 个阶段
美国的 Jack Dongrra 教授等于 1993 年发起了全球超级计算机排名 TOP500,其成为高性能计算机发展的风向标。世界上浮点运算速度最快的机器从 1988 年的 2 Gflops 增长到 2018 年 11 月份 143 Pflops,提高了760 亿倍。高性能计算机被视为世界各国竞相争夺的科技战略制高点,是国之重器。西方国家对中国实施了长期的技术封锁和市场垄断,历史上巴统①正式名称是“输出管制统筹委员会”(Coordinating Committee for Multilateral Export Controls),是对社会主义国家实行禁运和贸易限制的国际组织。1949年11月在美国的提议下秘密成立,因其总部设在巴黎,通常被称为“巴黎统筹委员会”(简称“巴统”)。对中国进口计算机在性能指标上的限制、进口的计算机要关在玻璃房子里被外国员工监管使用,都是曾经发生过的事件。
目前,中国高性能计算机领域存在的没得用、不适用、用不起的严重问题制约着国家的可持续发展。① 没得用。正如李国杰院士当年在给国家科委的报告中指出,“尽管我国也研制了一两台上亿次的计算机,但从总体来看,我国的计算机水平比国外落后十几年”。在计算资源严重不足的形势下,国家全力研制的有限的几台高性能计算机系统仅能满足少数国家重要战略部门的需求,其他用户能得到的机器的性能与国外相比差 10 年以上。② 不适用。可用的系统主要是大型机和大规模并行计算机(MPP)等“专用”系统。这里的专用并不是说它们只能运行某种应用,而是指组成部件是专门设计的,如 CPU 板、内存板、I/O 板和操作系统,都是不能在其他系统中使用的。因而导致用户群窄小,只应用在科学计算类的“象牙塔”中,对各行各业的迫切需求的适配性很差,计算效率很差。③ 用不起。由于高性能计算机一直被视为国之重器,国内市场被 IBM 等国外企业垄断,价格昂贵,国产品牌的市场基本为零。国内科研单位研制的有限的几台高性能计算机系统由于技术架构的原因价格性能比很高,没法大面积推广,更没法形成产业。
作为中国高性能计算机研制的重要力量,中国科学院计算技术研究所、国防科技大学和江南计算所等国内企事业单位从 20 世纪 90 年代开始,坚持不懈地开展了追赶与超越美、日等西方国家高性能计算机的研制工作。中国科学院计算技术研究所在“863”计划 306 主题支持下成立了国家智能计算机研究开发中心(以下简称“智能中心”),着力发展既要“顶天”更要“立地”的高性能计算机。尤其要攻克应用广、台数多,以及形成高性能计算机产业的难点。重点发展低费效比的架构与并行处理技术,从共享存储对称多处理器结构(SMP)开始,到海量并行处理结构(MPP),最后发展机群系统(Cluster)架构,有效践行了“863”计划提出的“顶天立地”战略。在基础理论创新、关键技术突破、应用推广和产业化推进上作出系统性的贡献。
2 “曙光”之路的“三叉戟”
智能中心启动研制“曙光”高性能计算机(以下简称“曙光机”)时,正赶上国际高性能计算发展的技术转折时期。智能中心经过深入反复调研确立了 2 个基本点:① 计算机技术发展虽然日新月异,但已经形成了一系列的国际工业标准,要研制满足市场需要能“顶天立地”的高性能计算机,绝不能脱离工业标准;② 计算机产业发展趋势是从垂直型到水平型,要在增值链上选择对中国来说最佳的创新增值环节,把低费效比、缩短研制周期、机器推出时具有市场竞争力,作为优先考虑因素。
在统一认识的基础上,智能中心明确提出坚定不移地按照“863”计划“发展高技术、实现产业化”的宗旨来发展曙光机,其内涵是:系统地发展机群架构技术体系,使得曙光机的计算速度不断提高、适用的应用领域不断扩大、机器台数不断增多,即“曙光”之路的“三叉戟”——性能、应用和产业。“曙光”团队的科研人员,历经 30 年始终坚持这一发展战略,成功研制了一代又一代曙光高性能计算机[3,4]:计算速度提升了 1.2 亿倍,赶上国际最高水平;应用领域覆盖 46 个行业,在石油勘探等国家关键行业打破国外厂商垄断;国产品牌高性能计算机由市场占有率为 0 到实现领先。中国品牌在 TOP100 排名②由中国全国高性能计算学术年会每年发布,为部署在中国的高性能计算机的性能排名。2018年的TOP100榜单首次实现“全国产”。中,连续 8 年份额第一,超过 IBM 和 HP 等国际巨头;中国在 TOP500 排名中的台数份额也超过了美国。曙光机作为大国重器,部署在国家互联网应急中心,以及上海、深圳、中国科学院 3 个国家级超算中心。
曙光机通过突破低费效比的机群架构的关键技术,发展了机群访存技术体系,同时兼顾了计算速度、应用广度和产业规模。
(1)速度提升 1.2 亿倍。曙光机计算速度赶上并超过国际最高水平的道路具有自己的特色。一方面,发展国际主流技术,果断选择并行处理技术为基础研制对称多处理器结构、海量并行处理结构,再转化到采用通用处理部件的机群,以国际主流技术赶上世界最高水平。另一方面,在增值链上发展自己的“撒手锏”核心技术,如高速互连网络、机群操作系统等,解决了高性能计算机用低成本的通用部件来构建高性能整机的世界难题。支持可扩展设计的机群访存技术体系,成功将机群规模从数十台扩展到千、万级别(图 1)。这一体系不断丰富,沿用至今,为我国高性能计算机研制开辟了机群架构这一新的技术道路。
图 1 曙光机群规模的发展
(2)应用覆盖 46 个行业(图 2)。和历代国产系统一样,曙光机的研制过程中也遇到了应用推广上的难关:国外购买的应用软件不能在曙光机上运行。本着“有所为,有所不为”的原则,曙光机在国际上机群操作系统尚未形成工业标准的时候,率先实现出微内核单一映像机制的机群操作系统,一举突破在用户空间实现操作系统核心功能的关键技术,让跑在国外高性能机上的行业应用很容易迁移到国产机上,从而成功移植大量石油勘探行业的核心软件。同时,以网络、生物数据为代表的行业应用,大多属于数据密集型,数据量大,应用之间计算特征差异大,要求算得快且功耗低。因此,光靠扩展系统的规模效率很低,将遇到功耗天花板。智能中心通过突破基于计算-访存模式的负载加速技术,研制的高效能机群加快了曙光机进入众多行业的进程,使曙光机成为国家互联网应急中心等国家战略部门的核心装备,并部署到了 20 多个国内和海外的城市云计算中心,成为我国公共计算基础设施的主力机型。
(3)中国 TOP100 排名份额第一(图3)。曙光机坚持不盲目攀比计算速度,始终以既要“顶天”更要“立地”。以占领市场为目标,曙光团队提出了SUMA[5]的系统设计理念,即可扩展性(Scalability)、好用性(Usability)、可管理性(Manageability)和可用性(Availability);坚持聚焦机群系统中增值最高的技术,如在不知道节点操作系统源码的约束条件下开发与其密切联系的可扩展文件系统、零拷贝用户空间消息传递、单一 IP 登陆点等关键技术,实现对整个机群几百个处理单元的单一映像的系统管理、资源管理、作业管理和文件管理等。曙光机既能向上扩展规模,保证性能接近线性增长;同时又保证向下缩小规模时,成本上有竞争力,将机群的 6 个主要子系统实现了工作标准化,支撑了规模产业化。除了曙光公司成为国内第一个以高性能计算机为主业的上市公司外,通过人员转移、技术辐射也帮助到联想、华为等公司,支撑了中国高性能计算机产业的形成和壮大。
3 翻越中国高性能计算发展道路上的“三座大山”
图2 曙光机群应用行业展示
图 3 曙光机在 2018年中国 TOP100 排名中的份额
纵观中国高性能计算的发展,是中国科研人员艰苦奋斗、开拓进取的历程,翻越了打破封锁(1956——1995 年)、打破垄断(1996——2015 年)和引领创新(2016 年至今)的“三座大山”(表 2),逐步缩小了与国外研制水平的差距,并最终在整机系统设计和关键技术上取得了世界领先的成就。
3.1 打破封锁
这一阶段,我国在国外封锁的条件下,研制专门的高性能计算机为“两弹一星”等国家重大战略需求提供支撑。研制机器的主要应用在国防军事领域,以及传统科学计算领域。代表性的系统包括电子管计算机(如 103 机、104 机、119 机)、晶体管计算机(如 109 乙机、109 丙机)、基于中小规模集成电路的计算机(如 DJS 系列、757 机、“银河-I”),以及基于超大规模集成电路的计算机(如“银河-II”“曙光一号”“曙光 1000”)。由于国内发展电子计算机技术本身起步比国际上晚,再加上西方国家的封锁和禁运,这些机器的研制只能采取“全部采用国产器材,依靠自己的技术力量”的技术路线,大都耗费了较长的研制周期,研制成果也不可能实现商品化、产业化,但对打破国外的封锁都具有里程碑式的意义。“曙光一号”诞生后仅 3 天,西方国家便宣布解除 10 亿次计算机对中国的禁运。
表 2 中国高性能计算的发展历史
3.2 打破垄断
随着国内各行各业对高性能计算的需求急剧增加并呈多样化,以及改革开放的浪潮,很多国外高性能计算机品牌(如 IBM、HP、SGI、SUN 等)涌入中国市场,这些国际巨头在民用市场形成了垄断地位。根据国家“863”计划的部署,智能中心承担起探索在改革开放条件下研制高性能计算机的新路的重任,做到“既要顶天,又要立地”。曙光机群高性能计算机在市场上的强力竞争,彻底改变了由国际大厂商制定的游戏规则,迫使国外大公司采取“跳楼价”。曾经在一段时间内,IBM 服务器在中国市场上的平均折扣已大到不可思议的 94%,即标价 100 万美元的服务器平均只卖 6 万美元。正是因为在技术和市场两方面都具备了能与国际巨头媲美的实力,对很多行业应用性能更高、价格更便宜、功耗更低,中科曙光成为国内第一家以高性能计算机为主业的上市公司。“神威”“天河”系列超级计算机通过建设国家超算中心,也服务了大量的高性能计算的用户。目前,高性能计算在我国科研单位、大学基本实现了普及。
3.3 引领创新
由于高性能计算机的“国之重器”的特殊属性,当中国的高性能计算机技术和产业水平发展起来后,西方国家开始从产业链条和技术层面进行遏制。一方面,在核心部件上“卡脖子”,如高性能处理器、高性能加速器、高性能互联芯片;另一方面,加快发展颠覆性的架构与核心技术。我国高性能计算的科技人员已经意识到这一严峻局势,决心走上引领创新之路。“曙光”“神威”“天河”都开始自主研制高性能处理器和加速器,用自己的核心部件构建世界上最快的计算机。2010 年 6 月,“曙光 6000”系统排名世界第二,从此开启中国高性能计算机持续占据超算排名前三甲的序幕。基于 Intel MIC 异构众核的“天河一”“天河二”系统和申威片内异构众核处理器的“神威·太湖之光”系统分别排名世界第一。基于“神威·太湖之光”超算系统上的应用获得了 Gordon Bell 奖。基于海光处理芯片的“曙光 7000”(Nebula-AI)的多个负载的实测性能也超过了排名世界第一的Summit。
在面向数据密集、人工智能、生物基因测序等新型应用上,智能中心发展了突破性的架构和关键技术。智能中心早在研制“曙光 4000”系统的时候就开始把数据密集型应用作为重要的负载,针对应用负载呈现的访存空间不规则、访存时间也不规则、计算-访存比低的科学问题,发展了高通量计算的基础理论、关键技术、核心芯片与整机系统。针对人工智能应用,发展了基于“寒武纪”[6]神经网络处理器的智能超算系统,性能预计将冲击世界最高指标。
4 挑战
高性能计算机发展的挑战可以分为在摩尔定律失效前如何可持续地构建E级系统,和后摩尔定律时代的革命性技术。
(1)可持续地构建 E 级系统。高性能计算正处于向 E 级(1018)迈进的时代,中美两国都相继宣布了 E 级超级计算机的研制计划。尽管突破E级计算关口的相关技术路线基本明确,但如何构建可持续的E级超算系统,如数百 Eflops 系统的技术路线尚不明确。在未来新型器件真正成熟之前,最大的挑战是如何在高性能计算机体系结构和系统技术上的创新,应对整个系统的部件复杂度和能耗难以承受的问题,持续发展数百 Eflops 的系统。
(2)后摩尔定律时代的超算系统。随着集成电路的发展进入后摩尔时代,器件特征尺寸已趋于物理极限,当前器件的原理和结构已经难以满足未来 Z 级(1021)乃至更高性能 Y 级(1024)超级计算机的要求。如何利用新型器件是构建后 E 级时代超算系统的首要挑战,包括:基于光学计算原理和超导计算原理的新型器件、基于硅光技术的新型互连和量子计算机等。
5 政策建议
作为科技战略的制高点,高性能计算机是“三个面向”的典型代表。因此,以下围绕“面向世界科技前沿,面向国家重大需求,面向国民经济主战场”[7]阐述关于我国高性能计算机发展的政策建议。
(1)面向世界科技前沿。高性能计算机的研制代表了电子信息技术的发展前沿,建议在面向 Z 级计算的光学计算机、超导计算机、硅光集成技术、存算一体器件等,在面向 Y 级计算的量子计算机、非图灵计算模型等方面加强基础前沿技术的颠覆性突破。
(2)面向国家重大需求。高性能计算机始终在服务国家重大需求,如核武器、航空航天、高能物理和气候模拟等应用,高性能计算机已经成为这些战略部门的基础设施。除了这些以科学计算为核心的应用,当前,围绕数据科学和智能计算发展起来的应用已经成为新的国家重大需求,对高性能计算提出了更高、更新的挑战。特别地,急需建设面向大数据科学和面向人工智能的高性能计算基础设施。同时,需要在高性能计算机系统的评价指标上做出相应调整,不能单纯以 Linpack 指标作为衡量高性能计算机的唯一指标,而是既要算得快又要算得多,要研究出多维度衡量体系,以引导高性能计算机健康、全面发展。
(3)面向国民经济主战场。回顾中国高性能计算发展历史,相比计算机的研制,高性能计算机推广应用的历程更加艰辛。20 世纪 80 年代,钱学森就指出研制巨型机首先要解决并行计算问题,包括机器软件和算题软件等。他严肃批评过去忙于制造机器,至于怎么用不大重视,他曾在署名文章中大声疾呼:“这个问题必须提到议事日程上来,这样才能充分发挥巨型机的作用。”本文认为,要解决这一严峻问题,一方面要充分重视应用软件的攻关,另一方面要重视促使高性能计算普及的技术,如云超算、云化并行编程等。