算力网络场景需求及算网融合调度机制探讨
2022-05-31莫益军
莫益军
华中科技大学计算机科学与技术学院 武汉 430074
引言
近年来随着大数据治理、智慧城市、智能制造、自动/远程驾驶、AR/VR/XR导航和区块链共识等新一代信息技术应用的蓬勃发展,新型计算模式层出不穷,算力资源需求日益旺盛,驱动数据中心高速发展。截至2022年初,我国已建成数据中心500万标准机架,整体算力达到130EFLOPS。受限于算力需求差异、网络传输性能和算力成本质量,国内数据中心的平均利用率仅为55%左右。为降低能耗和算力成本,微软和脸书选择在海底或北极建设数据中心,阿里、腾讯、百度和华为等也选择在云贵等西部地区建设数据中心。考虑到能源就近供给算力的大趋势,及能源供给分布和算力需求不均衡的现状,我国“东数西算”战略通过八大算力枢纽节点和十个数据中心集群,建立一体化大数据中心体系。在此跨地理空间的数据中心集群上提供算力的服务有强管道、强平台和算力网络三种模式。前两种模式的算力协同调度挑战在于算力资源选择、底层网络拥塞调度及服务时延保障。而算力网络模式基于软件定义网络、IPv6+和路由强化等机制,通过弱平台强网络实现分布式路由资源协同调度,将颠覆传统数据中心资源集中调度和边缘卸载缓存的服务模式。
为促进算力网络的快速发展,CCSA成立了算网融合技术推进委员会、TC614算力网络特别工作组、TC3算力网络标准工作组,对算力网络应用场景、技术要求、技术方案、控制器、交易平台、标识解析、编排管理、度量与建模等方面展开研究。国际电信联盟电信标准分局(ITU-T)和IMT-2030(6G)推进组开展了算力网络需求、框架与架构等标准化工作。中国联通算力网络产业技术联盟、“东数西算”产业联盟和宽带论坛(Broadband Forum,BBF)等联盟也就算力网络体系架构、功能模块、接口定义和部署落地展开研究协作[1]。
学术界对算力网络的研究可追溯自2013年的B4系统[2],通过路由代理进行Qugga控制器和OpenFlow交换机的连接,完成路由更新,协议报文转发和接口更新,实现跨数据中心之间的算力服务协作。在此基础上,学术界提出了覆盖层任务分解和算力映射方案、网络底层路由协议扩展方案、跨层的统一计算网络控制方案。各类方案从不同角度出发,各有优缺点,在网络开销、服务延时和服务质量上表现也各不相同。
1 算力网络概念澄清
算力网络自2019年在通信业内提出以来,其名词、定义、内涵和外延并未达成共识。从其内涵范围自小到大来看,IETF和华为将算力网络(Computing First Network,CFN1)定义为面向计算与网络融合的新架构、新协议和新技术,定位于网络层之上的计算任务动态路由能力,根据业务需求,基于实时的计算资源性能、网络性能、成本等多维因素,动态、灵活地计算任务调度框架;中国电信将算力网络(Computing Power Network,CPN)定义为一种根据业务需求,在云、网、边之间按需分配和灵活调度计算资源、存储资源以及网络资源的新型信息基础设施[3];中国联通的算力网络(CFN1/CPN)由云网协同演进而来的服务于算网协同和算网一体化需求的一体化新型网络架构,包括AI网络联接服务、用户数据算力联接网络、城域光网和5G URLLC网络、算力服务新型网络设备和超融合设备[4];中国移动的算力网络(Computing Force Network,CFN2)是以算力为中心、以网络为根基的网、云、数、智、安、边、端、链(ABCDNETS)等多要素融合的新型信息基础设施,是泛在的“一点接入、即取即用”的社会级服务[5]。
上述算力网络概念定义的不同内涵体现了其发展的不同阶段,算力网络的发展将经历网络服务算力(Network for Computing)、网络化算力(Networked Computing)和网络内生算力(Network Intrinsic Computing)三个阶段。网络服务算力阶段以网络为中心,扩展算力登记签约、编排服务和寻址路由,实现网络对算力的泛在化承载;网络化算力阶段是面向协同推理、联邦学习和区块共识等位置分散式计算场景,强化算力任务和数据的调度协同,实现网络与算力的融合共生;网络内生算力阶段是升级网络设备自身算力,以带内随路方式在网络协议层面透明地支撑算力场景下的资源动态选择、任务按需调度、数据高效转发和服务有界保障,实现算网一体化。
本文将以算力网络前两阶段的需求场景入手,探讨算力网络的路由资源融合调度通用范式和机制,并对算网一体的网络协议发展方向进行展望。
2 算力网络场景任务分析
算力网络中资源与用户需求是多样的,具体包括资源节点的多样性、资源归属的多样性,业务需求的多样性和算力类型的多样性。算力网络利用这些多样性特征综合选择满足业务需求与成本支出的最佳算力资源与最优算力路径。
根据算力场景的时延需求,算力网络应用场景可分为时延非相关场景和时延敏感性场景。时延非相关场景包括后台加工、离线分析和视频渲染等场景,对算力资源位置和响应时间无明确需求,可迁移卸载至长距离远端算力资源上运行;时延敏感性场景包括自动驾驶、远程医疗、工业互联网、智慧城市和实时量化交易等场景,对响应时间有明确的上下界要求,需就近选择与数据生产位置一致的算力资源以满足其服务质量需求。
根据算力类型的共性特点,算力网络应用场景可分为检索查询类、渲染交互类、深度学习类和区块共识类四类场景。检索查询类场景包括分布式搜索和推荐服务等场景,用户向集中或分布式资源池请求服务,其算力资源池主要由代数运算或字符运算类算力组成;渲染交互类场景包括远程驾驶、远程医疗、云游戏和游戏直播等场景,服务端将图片视频推送至离用户较近的算力资源上进行拼接渲染,其算力资源主要由图形拼接转换渲染等浮点类算力组成;深度学习类场景包括视频分析、目标检测、目标跟踪、智能对话和故障诊断场景,AIoT设备或用户将感知数据和任务卸载到云边资源池进行训练和推理,其算力资源主要由卷积激活池化算子等神经网络类算力组成;区块共识类场景包括分布式账本、加密货币和智能合约等场景,区块应用利用分布在全网的算力资源建立不可抵赖的共识机制,其算力资源主要由分布式哈希算力组成。各种算力网络场景在请求响应模式、数据带宽需求、数据传输方向、参与算力节点和节点组网拓扑等特性上表现迥异,具体差异如表1所示。
表1 四种算力场景算力网络典型特性差异
探讨通用的算网融合调度机制不仅需考虑网络层面的模式特征,还需考虑其算力网络工作流水。不失一般性,算力网络场景应用流程都可抽象为算力发布签约、算力任务匹配和算力路由调度三个相互依赖的流水。
算力发布签约:该流水是算力需求方和算力供给方未形成实际业务交互前,算力资源向算力网络进行注册并发布其能力和成本,算力用户根据自身需求与算力资源进行注册签约的过程。算网融合调度受限于用户签约的算力资源和算力能力。
算力任务匹配:该流水是在算力需求方发起应用请求后,根据场景任务的算力类型需求,从签约算力资源及其关联编排资源中匹配资源候选集。
算力路由调度:该流水是在完成算力任务预匹配后,根据任务需求,算力服务资源链上的资源状态和链路状态,实时动态地进行任务分解、任务复制,路由更新和数据转发,实现算网融合的路由资源调度。
算力发布签约与算力任务匹配流水是算力网络运行的前提,本质是进行算力资源和网络资源的映射解析,直观来看,可以直接在DNS协议和解析映射机制之上扩展实现相应流程。算力路由调度流水中算力任务执行是在应用层或覆盖层完成,任务执行过程中的数据传输交换有覆盖层(Overlay)和底层(Underlay)两类方案。Overlay方案与特定应用相关,数据复制冗余度高,底层链路拥塞概率较高。Underlay方案涉及到底层路由协议扩展,需兼顾协议的前后兼容性和普适性。本文以现有协议改动最小为原则,重点探讨应用层任务分解分发与Underlay路由优化和报文复制消除相结合的算网融合调度机制。
3 算网融合调度技术现状
算力网络目标在于采用云网融合、可编程网络、算力感知、算力编排和算力路由等技术,提高地域分散的异构算力资源的整体利用率,降低算力运营成本和开销。
算网融合调度框架方面:ITU-T Y.2501提供了典型的算力网络系统框架,该框架包括算力网络资源层、算力网络控制层、算力网络服务层和算力网络编排管理。算力网络编排和管理负责算力网络的编排、安全、建模、操作维护管理;算力网络服务层负责用户资源需求处理和平台与资源节点交易;算力网络控制层负责从资源层收集信息,提供给服务层进行可编程处理,实现资源预留和网络连接;算力网络资源层包括算力网络中的服务器、交换机和路由器等多种资源。各层相互协作,为用户提供多样化的服务模式,保证资源的最优化配置。网络5.0创新联盟算力网络工作小组提出了基于DNS的OverLay架构。IETF提出分布式方案架构。中国电信的算力网络架构分为应用层、算力资源调度平台层和路由层。该框架以算力资源调度中心拥有全局资源信息为前提,其中应用层完成算力的分解和申请,算力资源调度平台层完成算力的分配,路由层完成算力转发。
算网融合路由方面,算力资源节点通过扩展BGP和OSPF等路由协议在路由信息中宣告算力类型和可用量等算力资源信息,其他网络节点转发收到的算力资源公告,边缘网络节点收到用户请求后根据算力资源视图智能选择算力资源节点,计算算力路由,其路由要求满足带宽、路径和时延等确定性需求。
学术界对算力网络的研究可追溯自2013年的B4系统[5],为提高跨数据中心之间协作的链路利用率,B4系统在集群间引入BGP/ISIS协议,通过路由代理进行Qugga控制器和OpenFlow交换机的连接,完成路由更新,协议报文转发和接口更新,将应用流拆分到多条路径上,以均衡应用负载和应用优先级。在此基础上,DECO[6]和Jupiter[7]等从覆盖层角度对算力任务图进行分解,分别采用HEFT DAG、Pegasus、CIRCE和WAVE等调度策略将任务分解映射到相应算力网元,覆盖层采用BGP或OSPF选路,若遇到拥塞重新进行选路。针对覆盖层调度存在的变化快、应用相关、扩展性差和容易拥塞等问题,Qroute[8]、OpenPATH[9]和SRUF[10]从网络底层出发,对BGP、OSPF、VxLAN和SRv6进行扩展,借助心跳机制来获取网络底层的状态变化,并引入时延约束和优化调度策略以提高算力网络效率。为进一步提高算力服务质量,UCNC[11]牺牲部分网络性能,增加冗余服务资源,提出面向单播和多播流联合优化的统一计算网络控制机制,针对任意服务链,采用统一算力网络控制策略,确定路由和处理节点位置,并引入报文复制、路由策略和虚拟排队机制将任务和数据分发到特定冗余算力资源。
4 路由资源融合调度机制
鉴于上述算力网络需求和发展现状分析,本文算力网络路由资源融合调度机制以对现有协议改动最小为原则,采用以网络为中心任务触发的融合方式,在应用层由特定算力任务完成算力资源发布和算力任务预配,在Underlay扩展BGP和SRv6路由协议,优化DetNet路由协议和报文复制消除机制,实现高效的算网融合调度机制。在此算力网络路由资源融合调度框架下,本节重点探讨算力资源发布、算力任务预配和算网融合调度的协议流程。
1)算力资源发布
由表1所示,各类算力网络场景所需算力资源类型相去甚远,相应算力资源运行特性也有较大差异。算力资源入网向算力解析服务器登记时,借鉴DNS解析映射机制,将算力资源层次抽象后按域名组织规则和URI规则进行编码、注册和管理。算力资源抽象层次树,从根结点向下逐层为算力处理器架构、算力资源运算类型、算力预算模型和算力算子操作等,资源抽象树的叶子为具体的实例化名称。入网算力资源可以是已加载具体算力模型的资源,也可以是未运行任何实例的弹性空载资源,相应的资源抽象树缺乏相应的层次编码。
算力解析服务器登记包括算力资源簇记录、算力资源交换记录、算力资源服务等级记录、算力资源解析服务器记录、算力资源反向记录和算力资源实例记录等。其中算力资源簇记录指定了多个算力资源构建成一个簇,簇内算力资源共同完成任务或进行算力资源负载均衡,反映了算力集群和算力组合场景;算力资源交换记录指定了算力任务执行过程中,用于接力完成任务,且与其进行数据交换的算力资源,反映了算力任务卸载分解场景;算力资源服务等级记录指定了在同类算力资源中提供算力服务的优先级及服务状态;算力资源解析服务器记录指定了参与特定算力资源解析的服务器,避免算力资源解析出现单点故障;算力资源方向记录则是指定了特定IP地址对应的多个算力资源记录,目的是为在数据面进行流表转发控制时能快速解析所需算力资源类型;算力资源实例记录则记录了资源实例名称与特定IP地址的对应关系,用于算力资源解析和寻址。
算力资源发布后,必须与用户签约后才可提供相关的算力服务。用户可与任意抽象等级的一个或多个算力资源签约,或按某种规则与算力网络签约以动态获取相关算力资源。
2)算力任务预配
算力任务预配是根据算力资源发布状态和底层网络拓扑状态成本,在用户发起算力任务时,按算力资源标识最长后缀匹配机制,从算力解析服务器搜索相应可用算力资源列表。然后根据算力资源列表与用户间的网络拓扑、距离跳数和算力服务优先级进行综合排序,生成相应算力任务的多条预配资源链表。算网融合调度以此预分配资源链表为基础进行调度。网络拓扑和算力资源发生变化时,需及时更新算力解析服务器记录,避免出现预匹配资源链表失效的情况。
3)算网融合调度
用户发起算力任务完成预配后,算力网络将根据用户实际需求实时动态进行任务调度分发和数据交换转发。本文以现有协议改动最小为原则,在应用层进行任务分解和转发,利用到远端数据中心路径上的边、网和云设备,在底层进行报文复制消除和路由优化,以实现数据算力位置匹配的就近调度,降低算力网络资源开销和算力任务时延,保证算力服务质量。
为覆盖更多的算网融合调度场景,本文以远程驾驶为例进行探讨,尤其是远程驾驶既涉及到远程感知视频的拼接重建和渲染展示,又涉及到在端边设备上的目标识别和跟踪,对请求带宽、响应带宽和交换带宽都有较高要求。
如图远程驾驶算力网络示例中步骤1、2所示,驾驶用户对车辆进行控制时,驾驶用户和受控车辆向算力解析服务器发起算力资源请求,算力解析服务器通过路由器A返回渲染重建算力资源列表,通过路由器A、D反馈目标识别跟踪算力资源列表。
驾驶用户查看车辆现场画面时,如步骤3、4所示,根据反馈的渲染重建算力资源列表,发起带算力任务ID的视频解码重建渲染任务。路由器A收到渲染任务ID和资源列表后,将任务转发至就近边缘渲染算力。边缘渲染算力同意接受渲染任务后,向驾驶用户返回确认请求。
驾驶用户以边缘渲染算力为代理向受控车辆请求现场感知数据,如步骤5、6、7所示,边缘渲染代理发起带算力数据ID的请求,路由器A收到数据ID和受控车辆地址后,采用最短路径路由,通过路由器D寻址转发数据请求,从受控车辆拉取感知视频流,完成边缘渲染任务,并将渲染结果推送至驾驶用户。
若边缘渲染算力负载过重,算力应用发起带渲染任务ID的边缘渲染算力替换请求,路由器A根据渲染任务ID和资源列表,向任务转发至路径上候选边缘渲染算力,由中心渲染算力替代边缘渲染算力完成后续的数据拉取和渲染任务。
当底层网络感知到路由器A、路由D或A~D间链路发生负载拥塞时,路由器A和路由器D采用扩展BGP协议重新选路为A-B-C-D。对于更加复杂跨多自治域路由重选,可采用SRv6路由协议,在此不再展开。
在此过程中,驾驶用户还需接受驾驶现场的行人、车辆和标识等实时分析事件。与重建渲染任务类似,驾驶用户需发起带目标识别跟踪任务ID的深度学习任务请求。虽然网络中存在A、B、C三个深度学习算力,但因重建渲染任务和目标识别跟踪任务请求的数据ID相同,存在多任务共流需求,路由器D在任务ID和数据ID后,由路由器D进行数据复制,并将其转交给深度学习算力C进行目标识别跟踪。
5 总结展望
本文对算力网络场景需求特性进行了分析,并以简单的远程驾驶任务为例,讨论了算网融合调度的应用层任务分解和底层网络资源融合调度方案,尤其是举例说明了算力过载和网络拥塞条件下的算网融合调度机制,以及共流多算力任务的资源调度和报文复制消除机制。对于更加普适的统一算网调度机制和算网融合路由协议字段扩展还需更进一步讨论。总体来说,应用层解决算力任务分解分发问题,底层网络解决路由优化和报文复制消除问题,是最有效且兼容性扩展性最好的算网融合统一调度机制。