如何从东数西算构建国家计算基础设施

通信网络

647人已加入

描述

当前超级计算机主要通过LINPACK测试性能并形成TOP500排行榜,随着人工智能等应用的流行,新的基准测试正显得愈发重要。未来,数据移动将成为越来越重要的因素。

计算应用模式的变迁

计算机是人类历史上最伟大的发明之一,自20世纪出现以来,彻底改变了人类社会的面貌。计算机的诞生虽然仅有70多年,但已成为人类历史上发展速度最快的技术领域。从第一台电子计算机埃尼阿克(ENIAC)到最新的E级机Frontier(前沿),计算机的峰值速度增长已经超过300万亿倍,远远超过了汽车、飞机、火车等其他一众重要工业产品的发展速度。更重要的是,计算机技术仍在不断发展,需要人们不断探索并与时俱进,参与并推动其发展。

让计算机更容易使用,让算力更方便获取,是人们持续追求的目标。早期计算机非常昂贵,用户要到专门的机房以独占主机的方式使用计算机。后来出现了多道程序批处理模式,多个用户的多道程序可以在同一台机器上运行,用户提交作业后按优先级依次处理完成。20世纪70年代,计算机大量进入教育行业,此时出现了分时交互模式,众多用户通过输入输出终端同时使用一台计算机。每个用户在自己的时间片内使用计算机资源,在体验上接近于独占处理系统。到了80年代,个人计算机逐步进入千家万户,但是孤立的计算机性能有限,难以胜任大型计算任务。

网络的出现推动了计算机使用模式的演变。“网络就是计算机”这句流传甚广的口号源自国防用途的阿帕网(ARPANET)进入商用并诞生了因特网(Internet)这个事件。通过Internet连接计算机,人们可以实现计算能力、数据和软件的广泛共享。一个典型的例子是20世纪80年代美国国家科学基金会建设的国家科学基金网(NSFNET),它的主干网带宽仅有56 kbps,并使用TCP/IP协议,连接了美国的6个大型超算中心,向全美的大学和研究机构提供可远程使用的计算资源。

90年代中期,网格计算(grid computing)的概念在美国兴起。网格最初是指电力网(power grid),网格计算借用电力网的概念,用高速互联网把分布于不同地理位置的计算、数据、存储和软件等资源连为一体。通过调度、管理和安全保障机制,建立一个像电网一样的计算网格,把算力输送给终端,支持用户进行共享使用和协同工作。IBM公司曾宣传网络计算的使用愿景:通过网格把全球的资源连接在一起后,用户可以像上网一样“即插即用”地获取任何地方的算力。2006年我在中国工程院论坛上提出的网格基础设施概念(见表1)在如今东数西算的背景下已经变得更为实际。

东数西算

2006年兴起的云计算是网络计算技术和应用模式的一次大变革。和以前的变革不同,云计算是由企业界而非学术界牵头的。在云中,资源被虚拟化,可以动态升级,方便所有云计算用户通过网络使用。云计算最大的贡献是改变了IT系统部署运行的方式:用户过去需要自行采购计算机获取算力,现在只需要付费租赁云上的计算资源,然后部署软件即可自主运行IT应用系统。

近年来,物联网(IoT)、移动互联网(5G)应用的蓬勃发展催生了另一种计算形态——边缘计算。边缘计算的出发点是让应用程序、数据和计算能力更靠近端用户而不是中心的云,其效果是减少数据移动、降低数据传输延迟、降低端系统和数据中心之间的网络带宽需求,使得IT应用的成本更低、用户体验更好。随着边缘计算技术的进步,云边端协调融合的IT应用模式逐渐成为主流。

国家高性能计算环境的实践

国家科技计划在高性能计算方面一直不断投入。从20世纪末到今天,我们连续执行了多个国家重大项目(见表2)。在这些项目的支持下,我们研制了一批高性能计算机,建立了我国的高性能计算环境,并发展了一系列网格和高性能计算应用。

东数西算

过去20多年来的主要经验之一是始终坚持“机器、环境、应用”的协调平衡发展:第一,通过建造世界一流的机器,提供强大算力;第二,通过建设网络计算环境,让算力随处可得;第三,发展大规模并行计算技术,使算力发挥最大应用效益。这20多年来,中国的高性能计算实现了超常发展:在计算机性能方面,从过去的百亿次到今天的百亿亿次,实现了从跟踪到世界交替领先的跨越;在应用的并行性方面,从过去的百核并行快速进步到当下数千万核并行;在算力的使用方式方面,从过去单机转变成为现在的网络计算环境。

要构建国家高性能计算环境,面临三个关键问题:(1)如何以网上分散、异构、动态、自治的资源构建国家高性能计算环境?(2)建立起这样的环境后,如何以公共计算设施支持个性化的领域应用?(3)如何在分布异构环境下开发大规模并行应用程序?解决这几个问题的总体思路是把分散在各地的计算资源当作一台超级计算机,通过研发系统软件,实现资源聚合、统一管理调度和有效使用。首先要开发环境“操作系统”,解决分散、异构、动态资源的聚合、调度、管理和共享问题;其次要发展网络计算应用新模式,解决以公共计算平台承载个性化应用的问题;最后要建立超算应用集成开发环境,解决分布异构环境下应用软件的开发问题。

环境操作系统:非集中虚拟层级式的软件体系结构

“非集中”指采取地理分布的部署方式,即分散在全国各地的超算中心都有该操作系统的服务器,通过层迭网灵活连接这些服务器,从而实现超算中心资源的互联。“虚拟层级式”是指系统功能从上往下逐层抽象,最终映射到异构的物理资源上,从而实现资源去耦和异构屏蔽。基于这些体系结构和核心抽象,我们成功研发了完全自主知识产权的国家高性能计算环境操作系统CNGrid Suite(见图1)。该套件是世界三大同类系统软件之一,它基于核心系统抽象的层级式实现,比国外基于功能集成的同类软件系统更为简洁高效。在性能方面,CNGrid Suite的内核基准延迟与美欧的同类系统相当,并发服务调用的成功率优于美国的Globus。基于CNGrid Suite,我们成功研发了世界上资源领先的国家级高性能计算环境CNGrid。CNGrid支持了我国3000多项重大科技与工程项目,如全球气候变化谈判等国家重大需求,运20、C919、高铁“和谐号”“复兴号”等国家重大专项和重大装备的研发,新药研发等惠及百姓的行业应用。

东数西算

应用新模式:领域应用社区

资源“批发”供给与“零售”使用相结合的网络计算应用新模式开拓了按领域特点和需求构建应用社区的创新思路。包括资源需求精确适配、应用快速封装与动态部署以及运行环境按需定制等在内的一系列关键技术为快速开发个性化易用的应用提供了解决方案。在此基础上,由上海超算中心牵头,我们成功研发了超算领域应用中间件Xfinity(见图2)。在Xfinity的支持下,依托CNGrid,构建了一批领域应用社区,包括工业创新设计、生物信息和新药研发、数字媒体渲染等。以工业创新设计为例,应用社区把计算送到企业内部,推动了企业的创新发展,其用户涵盖了中国商飞、中航工业、上海宝钢、上汽集团、国家核电等。

东数西算

分布异构环境下超算应用开发

超算应用开发主要关注分布并行程序开发问题和并行程序性能优化问题。在开发方面,我们提出了构件与流程结合的低代码开发方法,实现了流程的在线组装与即时协作、即插即用的构件适配、底层分布资源的动态绑定以及基于算法映射的流程跨域执行模型等,从而有效地将流程部署到分布的计算资源上。在性能方面,我们提出了异构感知的程序性能优化方法,有针对性地突破国产异构架构超算不同的性能约束。例如,针对天河系统的异构加速结构,提出了CPU和加速器并行协同的区域分解和动态负载平衡方法,隐藏了异构部件间的通信开销;针对神威系统的异构众核结构,提出了缓存和直接存储器访问(DMA)定制机制,实现数据最佳重用和计算访存重叠,缓解了内存容量和访存带宽瓶颈,大幅提高程序性能。基于这些技术,我们研发了超算应用的集成开发环境SCIDE(见图3)。该软件开发环境包含基础算法库、应用模块库、程序模块库、优化工具库、工作流编排器以及跨异构节点的编译等。开发人员能够基于模板库的开发向导,自动生成程序代码框架,重用基本算法和模板库中的代码,快速构建应用程序。

东数西算

东数西算背景下的任务

东数西算是国家的战略工程,其背后的概念十分朴素:2021年全国仅数据中心的能源消耗就达到了全国社会用电量的2.6%,二氧化碳的排放量也占到了全国的1.14%,数字不容小觑,故而国家双碳指标要求约束数据中心的能耗。目前东部电能紧张,而西部的水电、太阳能、风能等新能源多,但新能源入网困难,西电东送的投资和损耗不可忽视,权衡之下输送数据相较于输电是更为经济的做法。

在东数西算背景下,我国超算领域的发展呈现以下几个趋势:第一,当前我国对算力的需求不断上升。随着数字孪生、人工智能、云计算、大数据等技术不断涌现,科学研究、产业升级转型对算力的需求越来越大。第二,超级计算机以异构架构为主。在超级计算机TOP500排行榜的前十名中,仅有一台采用同构架构,其余均为异构架构。其中我国的神威太湖之光是片内异构众核,天河二号是CPU加国产加速器,另外,面向人工智能应用的异构架构也不断发展。第三,为应对多样化应用,算力中心本身也存在多样化。传统的超算中心主要面向科学与工程计算,支持以双精度浮点运算为核心的计算密集型应用。而新型的智算中心主要面向人工智能应用,计算类型主要是单精度/半精度浮点和定点运算,配置深度学习处理器/加速器。云算中心则以数据密集型应用为主,配置大容量内存和网络虚拟化设备。多样化算力中心的业务相互交叉产生了一系列新的问题。主要技术问题包括以下六点:

一是异构算力中心之间的透明调度,即多种体系结构、多种算力形态、不同部门算力的互联、集成与统一调度。针对这一问题,需要根据任务的类型确定所需资源,并根据各算力中心的硬件、软件配置及可用资源数量进行任务分配和调度。

二是异构并行编程。异构增加了并行编程的复杂性,在多样化算力中心场景下更加突出。为一种平台编写的程序如果不加修改通常难以在另一种平台上编译和运行,所以在屏蔽异构的编程模型/语言和程序自动编译方面要做更多工作,支持并行程序在多样化算力中心的透明调度和运行。

三是数据在分布算力中心的合理放置。多数计算应用的数据规模都较大,在分布算力中心环境下,数据的放置和访问对应用性能影响很大,所以在计算任务调度和迁移时要充分考虑数据传输和访问开销,即数据亲和性的任务调度/迁移问题。

四是公共算力中心的数据安全和隐私。用户在进行计算时须将数据上传到算力中心,虽然可以使用虚拟专用网络(VPN)等技术避免传输过程中的数据泄露,但是算力中心外存中的数据和计算过程内存中的数据仍然面临潜在的泄露风险。这可以通过实现超算数据“可计算但不可读写”来避免。

五是适应异构的新型并行算法。作为软件优化和硬件加速的汇聚点,并行算法的改进可能比提升硬件获得更大收益。通过发展面向领域、适应异构特点的并行算法库可以实现这一目标,进而提高软件性能、降低开发的工作量和难度。

六是应用生态环境。当前和未来中国研制超级计算机只能依靠自主处理器。国外没有适合国产处理器的超算系统应用软件,即使有也限制出售;缺少源代码的商业软件无法直接运行,即使有也难以移植。因此我们必须建立完整的国产超算应用生态,从基础操作系统和编译器,到上层算法库、基础程序库、工具软件,再到并行开发环境及软件本身,每一环都必不可少。 

除了上述一系列的技术问题,还有两点非技术问题。首先,需要在超算领域推出新的运营模式,基于国家超算基础设施建立并运营超算应用网,并在其上建立和运营领域应用平台,软件按需使用且按使用量收费,从而使超算中心由机时提供型向应用服务/解决方案提供型转变。其次,为了匹配这种新模式,还需要发展新的软件开发机制,借鉴App Store的机制,鼓励更多开发者进入超算领域开发软件,软件开发者和计算商店运营商紧密合作,软件在商店销售,开发者获得回报并投入新的应用开发,形成良性循环,促进计算软件的普及和繁荣。

结论与展望

东数西算是战略工程也是系统工程,旨在合理规划增量,盘活存量,重建设和重长期有效运行,为算力基础设施的运行提供稳定支持。这需要国家层面整体规划,多渠道协同支持,长期努力,实现算力基础设施的可持续发展。为达成这一目标,我们的愿景是构建下一代国家超算基础设施CNGrid-NG,其包含三层架构:基础算力层、运行管理层和运营服务层。基础算力层是CNGrid,通过提升网络性能将分布在全国各地的超算中心连接起来。运行管理层负责整个环境的建设,包括标准评测、安全监控等。运营服务层采用多运营商、多运营中心的模式,不同运营商和中心可以根据自己的平台框架经营特色店铺,售卖机时、软件、计算服务、移植优化等。超算中心、大学、研究所、公司和个人都可以在运营服务层活动。运营服务层要与基础算力层和运行管理层协同工作,为用户提供一站式服务。

我们设想,CNGrid-NG的组织架构可以由理事会、运行机构和技术部门、运营商三个层次组成。理事会主要由投资方、运行方和技术方构成。投资方包括科技部、地方政府、其他投资方,运行方包括国家超算中心、网络运营商等,技术方包括我国从事超算开发的主要技术团队代表。理事会的职责是制定发展战略,做好顶层规划,同时保证国有资产增值。运行机构和技术部门由CNGrid-NG理事会聘请建立,负责制订服务技术标准和服务规范,实施平台建设和运行管理,对服务运营商进行评测和认证。多个运营商/中心由运行机构进行资格审查,通过理事会批准,依托平台自主开展超算服务运营。以上组织架构可以保证和实现CNGrid-NG的商业模式。  

(本文根据CNCC2022特邀报告整理而成)

作者:

 

钱德

CCF会士、CCF创建60周年杰出贡献奖获得者。中国科学院院士。北京航空航天大学教授。主要研究方向为高性能计算机体系结构、分布式系统、众核处理器并行编程等。

depeiq@buaa.edu.cn

整理:

 

王需

CCF专业会员。清华大学全球创新学院助理研究员。主要研究方向为边缘计算、人工智能物联网、工业互联网。

xuwang@mail.thu.edu.cn

 

郑雅文

CCF学生会员。清华大学自动化系硕士研究生。主要研究方向为无线感知、工业互联网。

yw-zheng21@mails.tsinghua.edu.cn

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分