王继彬,张 虎,陈 静,郭 莹,3(1.齐鲁工业大学〔山东省科学院〕,山东省计算中心〔国家超级计算济南中心〕,算力互联网与信息安全教育部重点实验室,山东济南 250101;2.山东省计算机网络重点实验室,山东省基础科学研究中心〔计算机科学〕,山东济南 250101;3.济南超级计算技术研究院,山东济南 250101)
2021年5月,国家发改委等四部门联合发布了《全国一体化大数据中心协同创新体系算力枢纽实施方案》,第一次把“算力网络”概念写进了国家文件里,提出了构建数据中心云计算大数据一体化的新型算力网络,布局建设全国一体化算力网络国家枢纽节点,实施“东数西算”工程。随着工程的深入推进,我国数据中心网络云化趋势将不断增强,正发生从云网协同、云网融合到算网协同的转变,进而实现算力泛在可达、算力与网络一体化发展的目标。算力网络需要网络和计算高度协同,将计算单元和计算能力嵌入网络,实现云、网、边、端的高效协同。
为了满足数字经济千行百业对海量算力的迫切需求,加快全国一体化大数据中心系统创新体系算力枢纽的建设,A 市超算基于国家和省市算力网络布局要求,构筑了以教育、科研、企业、政府为重点服务对象,基于继承与创新结合、性能与能耗平衡、应用与设计协同、易用与先进并举的技术路线,深度融合“超级计算+大数据+人工智能+云计算”等新一代信息技术,在某省范围内构建实现一体化算力平台。
平台整体按照省级一体化大数据中心空间布局的要求,依托国家超算中心的骨干网络和算力规模优势,构建三核架构的省级一体化算力中心核心结点,形成3 个低时延算力中心核心区,并支持扩展至某省16 地(市),可支撑地(市)低延时边缘算力中心接入,构筑完成多元异构、云边协同的一体化算力网络体系。
算力网络是一张以业务应用需求为核心,深度融合协同计算、存储、网络资源的服务平台,可以实现像“水、电”一样的算力供给服务。依托超算算力网络实践,探索并提出了融合“算力生产-算力互联-算力配给”为一体的三层算力互联网体系结构,即超算中心内节点(计算、存储)间高速互联以构建超级计算机的算力生产网络、超算中心之间高速互联以高效资源聚合的算力互联网络和算力互联网络与用户之间高速互联以高效输送算力资源的算力配给网络,体系结构中每一层可横向扩展,涵盖算力和网络异构资源,覆盖算力资源从产生到传送再到应用的全部生命周期,实现超算中心内节点(计算、存储)间、超算中心之间网络的高速互联。整体网络分级架构如图1所示。
图1 算力网络分级架构(以超算互联网络为例)
依据算力网络中不同结点承载的功能不同,可以将算力网络中的结点分为算力中心结点、存力中心结点和网络中心结点3 类,各结点间通过低延迟高速互联光纤网络实现骨干级直联,保障计算、存储和网络服务的输出。这里结点指的是输出不同算力服务的集群、数据中心。具体每类结点的承载的能力如下。
a)算力中心结点。主要提供算力服务,包括高性能计算、人工智能计算、云计算、大数据计算等多种计算服务。
b)存力中心结点。主要提供存储服务,包括文件存储、块存储、对象存储、键值存储等多种存储形式。
c)网络中心结点。包括CDN、网络加速、网络转发、网络接入、SD-WAN 接入网关、云连接器、高速通道、VPN网关、边缘网络加速等网络连接能力。
通过上述结点分类,可以通过部署不同的算力平台服务组件实现对各类结点输出服务的统一纳管,并实现资源的协同调度。
算力网络平台的资源纳管方式目前比较成熟的设计思路是通过分别建设多个不同的算力资源池和配套的调度平台、服务平台,然后通过统一的一套云计算平台适配接入相应平台的北向接口实现松耦合形式的资源纳管能力,如对接高性能计算平台调度器(Slurm、PBS 等)。该方式存在的问题是无法实现对接入资源平台的计算、存储和网络3 个部分能力的统一调度,同时在异构资源池场景下,用户侧的资源创建流程和参数差异性较大,交互性差。
面向算力网络场景下的资源纳管平台架构目标应该是通过扩展云计算平台调度器的方式实现高性能、人工智能和云计算等多元异构算力资源的纳管和算力服务的交付,底层可以通过打通以虚拟网络为核心业务数据传输通道和存储业务系统实现对计算集群的数据流转。
为实现上述目标,平台还应解决资源的智能感知和协同调度、广域数据统一存储和智能流转、算网业务流程编排及优化等技术问题。具体应从以下几个方面进行设计。
2.1.1 算网资源智能感知与协同调度技术
如图2所示,针对超算中心、边缘数据中心的接入与资源自动感知,首先需明确算力网络资源池结点类型和接入技术,即针对拟接入的国家级/区域级/边缘级算力集群,选择结点类型并确定算力入网资源,如计算、存储、网络、软件、数据等,对算力入网各类资源进行审核、抽象建模及封装,然后进行算力接入、链路并网,将各类算力数据中心资源汇集到算力资源池,通过算力注册、算力发布建立算力服务目录满足用户需求;其次,研发代理组件和相关南北向接口,通过网络互联、安全策略配置、代理实时监测、订阅/发布消息等方式实现算力资源的自动感知,实时监测感知各数据中心可提供的算力能力,并对算力资源池和算力服务目录进行更新,同步更新各级算力中心可提供资源服务能力指标。
图2 算力资源智能感知和协同调度
2.1.2 算力网络多维资源协同调度技术
算力网络完成资源接入后,为了实现统一的资源调度和编排,还需考虑具体的调度算法和技术(见图3)。首先应分析接入的异构算力集群采用的调度器类型,如Slurm/PBS/Volcano 等;其次,分析各调度器作业执行模式、调用参数、调用关联过程,提取通用特征和个体特征,构建统一算力融合调度模型,定义统一的作业调度、算力管理、算力调度等通用接口,屏蔽底层调度器调度命令和参数的异构性,设置调度可选参数突出调度器的个性化;再次,需要重点考虑的是算力资源的融合调度场景,即当协同计算任务提交后,通过解析调度参数并获取各算力集群可提供的计算、存储和网络等资源能力,根据调度策略和调度方法,通过算力能力和网络路由寻优选择合适的算力集群进行协同计算。
图3 算力网络场景下的多维资源协同调度技术
这里全局资源调度主要有基于优先级、基于负载均衡、基于成本、基于任务和资源亲和性4 种策略,在调度维度上综合考虑计算、存储、网络、软件算法等各类通用资源指标的协同,同时有针对性地分析各种调度方法的影响因素和目标,实现多维度资源和目标协同,建立同步、差异情况下的资源协同调度逻辑,实现算力资源的高效调度。
2.1.3 数据统一存储和智能流转技术
以超算应用场景为例,传统计算密集型超算正在向数据密集型超算转型,即发展以数据为中心的高性能数据分析平台,通过融入存力中心结点能力,实现与多方联合对外提供数据服务能力。但是数据跨域分散且隔离自治未得到有效汇聚,难以实现有效管理和共享,无法充分发挥多个存力中心结点并发处理海量数据的能力,导致各超算中心数据重复存储以及较低的数据访问能力,严重影响数据处理效率。
如图4 所示,为了适应算力网络场景下的数据处理网络构建趋势,突破数据统一存储与高效流转技术至关重要。这里需要考虑以下3个方面的问题。
图4 算网广域数据统一存储和智能流转技术路线
a)针对存储、数据资源广域分散且隔离自治等问题,需设计全局数据空间描述方法,采用相应的数据索引技术,实现异构存储资源统一管理和高效访问。
b)针对带宽受限且时延高的算力网络环境下数据高效访问问题,采用基于数据血缘的数据流转对象智能选路技术和加速技术,支持网络路由智能选择、数据压减、数据合并与拆分等,支持网内海量大文件、小文件等数据的高速流转或迁移,以提高算力网络不同结点间数据传输性能。
c)构筑数据流转总线,通过对接不同数据存储系统,实现对异构存储系统下异构数据的统一跨域传输支持,实现基于实时线路带宽、数据位置等多因素的路由选取、数据压减、数据合并与拆分等,解决数据流转的高速智能调度问题。具体来说,可以在云计算平台底座中设计存储流转和数据管理模块,实现对常见存储系统如并行文件系统Lustre,文件存储系统NFS和对象存储OSS 的统管能力,配套的代理组件可以部署至存力中心结点。
2.2.1 组网拓扑
为了满足不同类型业务的承载需要,针对“省市”两级架构的超算算力网络,采用SRv6 网络分片技术(Segment Routing over IPv6),将一套物理光网络划分为多个网络业务平面,从而构建“一网多平面”的网络架构,支持依据不同业务应用的SLA 的需求,可以选择将不同的业务承载在不同的网络分片上。在组网拓扑上,物理层将网络划分为多个网络分片,设备内部给分片网络分配独立的队列资源,实现无阻塞的即时转发,最终达到端到端的带宽保证和业务硬隔离。切片内可根据业务子类分配不同的VPN,进一步实现软隔离。在运维层面,通过SDN 控制器(Software Defined Network)实现业务快速下发及流量调优,以及通过随流检测技术(IFIT)对业务进行实时质量监控及故障的快速定位定界,其逻辑架构如图5所示。
图5 省市两级组网拓扑技术
2.2.2 地址规划
超算算力网络以IPv6 地址族作为基础网络地址,通过EVPN+SRv6 技术承载IPv4、IPv6 业务及网络管理。IPv6 地址为128 bit 的二进制位,采用十六进制表示方式。超算算力网络接入点对IPv6 地址的分配遵循“先申请,后使用”的原则,由算力网络管理单位统一分配各接入结点的IPv6地址前缀(96 bit),并为每个结点分配足够容量的地址块(32 bit)。各级结点按照IPv6 地址分配原则,规范合理地使用本级IPv6 地址块。A市超算构筑的算力网络IP地址按使用用途分为业务地址、终端地址和管理地址三大类,分别用于部署服务器、终端和网络设备。具体划分原则如下。
a)业务地址。业务地址是超算互联网中用于对外提供服务的服务器、存储等设备使用的地址。业务地址包括IPv4业务地址及IPv6业务地址。
b)终端地址。终端地址是不对外提供服务的终端设备所用的地址。终端设备包括台式电脑、笔记本电脑、移动终端等。终端地址包括IPv4 终端地址及IPv6终端地址。
c)管理地址。管理地址是某省超算互联网内网络设备、安全设备使用的Loopback 地址、接口互联地址以及网管系统、安管系统、DNS 服务器等使用的地址。
2.2.3 用户接入规划
超算互联网组网完成后,需要解决用户接入到算力网络的最后一公里问题,可提供多种形式的接入,如IP 专线接入、无线接入和互联网接入等,这里推荐采用SD-WAN 方式接入。如图6所示,通过在SRv6技术构筑的业务网络之上部署SD-WAN 接入网络,可以方便快捷地实现终端用户快速访问算力资源的目标。SD-WAN 网络主要包括Edge 和SD-WAN 网关2 种类型的网络设备。
图6 用户接入网络规划
SD-WAN Edge 主要是指用户侧的出口CPE(Customer Premises Equipment)设备,Edge 设备是SD-WAN网络隧道的发起和终结点,也可以看作是SD-WAN 网络的边界点。Edge 之间的Overlay 隧道可以构建在任意的有线或者无线的Underlay WAN 技术之上,并且通常与某种数据加密技术(如IPSec)结合使用,以确保用户数据传输的安全性。这里Edge 侧的CPE 设备通常具备多种WAN 的接入能力,具备丰富的接口类型,比如传统宽带Internet 的DSL、LTE、4G/5G 等,同时还支持面向应用的应用识别、链路质量监控和选路、QoS以及广域优化等技术。
SD-WAN 网关是连接用户侧的CPE 终端和其他传统VPN 站点的中间设备,需支持SD-WAN Edge 所具备的SD-WAN overlay 隧道方案,同时需要支持同用户传统网络互通所需要的传统VPN(如MPLS VPN)技术。具体在超算互联网场景下,其可以部署在算力中心、存力中心和网络中心3类结点边界侧。
2.2.4 网络效率问题及加速方案
传统通过互联网络传输视频等大文件时,即使使用千兆或万兆专网网络,其传输速率仍然不高,这主要是由TCP 传输协议基于丢包的网络拥塞控制算法导致的。当前基于丢包的拥塞控制算法已不适应高带宽并且存在一定丢包率的网络,不能发挥网络尤其是算力网络的最大效率。主要体现在如下2个方面。
a)在存在丢包率的链路中,TCP 协议不能充分利用带宽。在TCP 拥塞控制算法中,TCP 判断链路出现拥塞的依据是发现网络出现丢包现象,但是传输错误导致丢包是常见现象,并不是链路拥塞导致的丢包。所以在链路有一定丢包的情况下,TCP 传输速率总是被限制在较低水平,不能充分利用带宽。
b)基于丢包计算窗口的算法,TCP 协议会填满链路上带宽瓶颈设备的缓存,从而增加网络延迟。TCP算法在增加窗口试探最大带宽的过程中,链路上在传输但未被对端收到的数据一直在增多,报文开始占用瓶颈设备的缓存时,因为瓶颈设备的发送带宽已经占满,所以再提高拥塞窗口其实并不能再增加实际发送速率,只能增加缓存的占用,导致报文在缓存中堆积得越来越多。最终导致的结果是缓存占用越多,网络延迟越大。
综上所述,算力网络中的基础网络能力建设,除了应解决组网、接入等问题外,还承担数据传输和流转的职能,因此,还需考虑网络传输效率问题,如何基于现有协议进一步优化提升数据传输效率是当前算力网络演进迭代过程中需要面对的问题。通过在数据传输服务器端侧网卡做TOE(TCP Offload Engine)卸载,从而达到TCP 加速的目的,是一种比较可行且成本较低的设计思路(见图7),具体配置步骤如下。
图7 算力网络数据传输加速设计
a)首先完成B 市用户侧到A 市超算算力池互联网络接入。具体通过网络管理平台利用SRv6 技术切分出一条业务网络。
b)在已分配的业务网络之上,配置SD-WAN网络隧道,并开启网络加速功能。
c)在用户接入侧和数据接收侧服务器端启用TOE卸载功能。
d)在SD-WAN edge 上开启TCP 代理重新建立socket,进行TCP单边加速。
算力网络实施围绕某省16 地(市)超算互联网应用展开,构建了A 市—B 市—C 市3 个核心结点,结点间通过100 Gbit/s 光纤环网专线网络直连,周围13 地(市)就近连接3 个核心结点,网络带宽为10 Gbit/s。在服务部署方面,所有地(市)结点分别部署了运营商路由器(Provider Edge,PE)、SD-WAN 网关、资源纳管和调度服务组件;在资源池部署方面,分别在B 市、D市部署了人工智能集群,在B 市、C 市和A 市部署了高性能计算集群和云计算集群,其余地(市)均部署了云计算集群,这里云计算集群均采用OpenStack架构。
算力网络在科学计算、数据处理、工程仿真等方面应用非常广泛,围绕某省16 地(市)算力网络集群,将面向遥感数据产品生产、分析和挖掘方面的应用,阐述算力网络所具备的应用支撑能力。
3.2.1 需求分析
据国家对地观测科学数据中心(NODA)统计,每年NODA 汇集10PB以上的对地观测数据,若要充分发挥如此海量数据的价值,则需要大规模高性能的存储系统满足存储需求,需要PB 级的高性能计算、智能计算、云计算等异构算力协同完成数据的处理和挖掘,需要10 Gbit/s带宽的专用高速网络才能满足数据传输的需求。而且以上统计数据只是针对遥感初级数据,如果想要对更高级的数据产品进行生产、分析、挖掘,则需要海量的算力、存储、网络资源。因此,在遥感数据产品生产、分析和挖掘的应用场景下,需要算力网络跨域异构资源协同调度和使用的能力,更好地支持遥感数据产品应用。
3.2.2 遥感数据生产应用实现
下面以遥感数据产品生产过程为例,阐述算力网络的典型应用场景。该数据产品生产过程如下:将基于Landsat8 原始数据经过地表反射率数据产品生产、地形校正TC 产品生产、Fmask 云掩膜产品生产、利用Fmask 云掩膜产品对TC 产品掩膜、数据产品拼接及图片输出。具体过程涉及的算力资源支撑如下。
a)地表反射率数据产品生产计算量巨大,需要使用高性能计算集群进行统一计算和数据生成。
b)地形校正TC 产品生产和Fmask 云掩膜产品生产可以并行进行,且2类数据产品的计算量较小,因此可以使用云计算平台中的弹性高性能计算(EHCP)服务进行支撑,避免过多占用高性能计算集群的算力,影响地表反射率数据产品生产。
c)利用Fmask 云掩膜产品对TC 产品掩膜,该过程计算量较小,可以使用普通的云主机资源进行支撑。
d)数据产品拼接及绘图涉及到较多的图形拼接和绘图,因此需要附带GPU 资源的云主机进行处理计算,并输出JPG格式图片。
整个遥感数据产品生产过程,以及配套资源的支撑情况如图8 所示。从图8 可以看出,整个计算过程也使用了算力网络对跨域异构存储系统的统一管理和数据智能流转的功能,如在EHPC 集群中将地形校正TC 产品和Fmask云掩膜产品生产完后,会使用数据智能流转技术,将结果数据从Lustre 并行文件系统迁移至高性能共享存储系统中。
图8 基于算力网络环境的遥感数据产品生产流程
综上,在这个典型应用实例中可以看出,算力网络不仅可以提供异构算力资源的协同调度,支持各类计算任务。同时,可以对跨域异构的存储和网络资源进行统一的管控和调配,从而实现了对各类计算任务和应用的优化支撑。
在具体应用支撑领域,算力网络主要适用于分布式数据处理、高通量计算、弱耦合作业、工作流等场景,具体如表1 所示。从表1 可以看出,以数据为切入视角,算力网络可以有效支撑跨域分布式存储场景下的数据处理。以计算作业为视角,针对松耦合、工作流模式的计算任务场景,算力网络支持任务的并行调度、分拆和结果合并,支持以应用任务流为核心的算力集群调度和以数据为核心的智能流转。
表1 算力网络应用场景
本文主要以算力网络中的超算互联网建设为视角,提出了一种算力网络分级、分类设计思路,并结合算力基础设施架构要求,并从资源纳管关键技术和组网架构2 个方面给出了实践解决方案。结合A 市超算算力网络部署和遥感数据生产应用支撑实践,阐述了应用支撑全流程步骤和典型应用场景特点。
当前算力网络建设还存在较多关键技术问题,本文所围绕的超算互联网应用支撑仅限于部分应用业务计算和数据流转场景,距离通用型应用支撑还存在较大差距,展望未来,算力网络演进将主要聚焦以应用为中心的“SRv6+SD-WAN+SDN”网络融合方案和以云计算框架为基础的分布式云资源统管和调度2个方面。