雷波,赵倩颖
中国电信股份有限公司研究院,北京 102209
AlphaGo 与世界顶级围棋高手李世石进行AI 围棋对决,AlphaGo 大比分获胜,成为了第一个击败人类职业围棋选手、第一个战胜围棋世界冠军的人工智能机器人;人体基因测序由最初的数年缩短到现在的几天,更有组织宣布人体全基因测序有望只需1000 美元在1 天时间内完成;天气预报从最初对未来一天的天气预测,发展到现在可以对未来一周甚至更长时间的预测;宇宙的观测距离从220 万光年发展到现在的137 亿光年。人工智能凭借什么战胜了人类?人类对未知世界的反应为何能越来越迅速、精准?答案是海量数据背后的超级算力。AI 通过算力训练庞大的数据,并通过神经网络不断学习成长,最终获得技能,战胜人类选手;天气预报通过算力分析气象站、卫星等终端收集上来的数据,对各种天气系统的位置和强度进行预测。可以说:算力改变世界,算力驱动未来。
随着芯片技术的发展,算力价格日益下降,已经不再是数年前昂贵的奢侈品。小到个人手机、个人计算机,大到超级计算机、数据中心,算力存在于我们生活的各个角落。但另一方面,随着算力的普及,算力的利用率却在大幅下降。有数据表明各类算力终端的利用率甚至低于15%。大量算力的浪费,无论是对于一个家庭还是一个企业来说都是一种经济上的损失。在此背景下,亟需在算力提供方与算力消费者之间搭建一个桥梁,让闲置的算力可以通过网络进行交易,即不仅是传统的云计算平台,新兴的边缘计算平台,甚至企业闲置的服务器,个人电脑都可以为其它用户提供算力,从而减少资源的浪费,提高企业、个人的经济效益。然而,如何将匹配的算力传递给用户成为了难点,其需要对计算资源和网络资源进行综合评估,以期在成本与效益之间找到最优化的解决方案。
在集中化的云计算时代,云网一体成为计算网络资源联合优化的重要解决方案,比如利用软件定义网络/网络功能虚拟化(Software Defined Network/ Network Function Virtualization,SDN/NFV)技术将应用、云计算、网络及用户联通起来,提供一个“云、网、边、端”的完整、灵活、可扩展的云网一体化服务。网络将按照云的要求提供网络资源(网络即服务),而云则根据应用的需要调用网络资源。然而,随着5G 的规模建设与边缘计算的兴起,前期的云网一体方案面临了新的挑战。比如随各类计算节点的下沉,算力将遍布整个网络,业务对算力的需求也逐渐呈现出多样化、多变化的特征。因此,如何结合网络对算力资源进行调度、充分利用,对整个网络进行算网一体化的改造,是本文关注的主要问题[1]。
针对前文所述背景,本文面向计算资源与网络资源联合优化的问题,提出了一种算力网络的解决方案,这是在5G、AI 时代的新型资源整合方案,它将属于不同所有方的计算资源通过网络有机整合起来,并按照用户业务的不同需求提供最优的资源服务与网络连接,从而实现全网性的资源优化调度部署。
近年来,各领域的专家、学者都在关注计算与网络的联合优化问题,也在此方向进行了深入的研究。
Qingxia Chen 等人提出了一种新颖的融合架构-软件定义网络、缓存和计算(Software-Defined Networking, Caching, and Computing,SDN-NCC)[2]。它支持动态编排网络,缓存和计算资源,以有效满足不同应用程序的需求并提高端到端系统性能。该架构中业务的需求被解析为计算需求和缓存需求,而对网络的考虑,则体现在基于SDN 技术的网络可编程中。
Younghwa Kim 等人为更好解决在实际应用中用户业务需求的实现和管控问题,提出了一种基于SDN 编排器的智能数据中心互联(Data Center Interconnection, DCI)技术[3],其可以通过传输网连接分布式云网络。文章详细介绍了包括需求、结构、实施和测试床在内的整体研发步骤并讨论了该项技术的下一步优化工作。
Ying He 等人提出了一个可以实现网络,缓存和计算资源的动态编排,以提高下一代车载网性能的集成框架。框架中将资源分配策略表述为一个联合优化问题,该框架考虑了网络、缓存和计算三种资源[4]。
以上关于计算网络联合优化问题的研究成果[2-4],均是优先考虑计算资源,再考虑网络资源。在多级算力并存的今天,这样的方法容易造成网络资源的浪费,也会造成优质计算资源的浪费。
除学术界外,各大运营商、厂商也在该领域提出了自己的看法和解决方案。当下关于计算与网络的联合优化问题最著名的方案是云网融合。云网融合通过一个横跨云管和网管的超级协同编排系统,对云中的各种资源和网络资源进行协同调度,以实现计算资源和网络资源的完美结合,但是该方案目前正处于一个相对简单的初级阶段,超级协同编排系统的建设和运营也相对复杂[5]。
2019年11月,中国联通发布了《中国联通算力网络白皮书》[6],同月中国移动发布了《算力感知网络技术白皮书》[7],两本白皮书中均介绍了基于分布式网络的计算网络融合新架构—计算优先网络(Compute First Network,CFN),该架构将计算能力和网络状态信息作为路由信息发布到网络,并路由到相应的计算节点,来实现计算和网络的联合优化。该分布式方案具有很好的扩展性,但实现复杂,需要对现有的网络设备进行升级。
在我们的前期工作中,提出了一个针对计算网络融合问题的算力网络管理编排系统[8],该编排管理系统利用集中式的思想对计算信息和网络信息进行分发和收集。该方案在实现上相对简单,但是其可扩展性受系统性能影响,随着业务量的增加会产生瓶颈。
基于各领域的研究经验、成果以及生产实践经历,作者在文中给出了一种新的算力网络的实验验证平台,该平台利用集中式和分布式联合的方案通过网络分发服务节点的算力、存储、算法等资源信息,并可结合网络信息(如带宽、时延等),针对用户的不同类型需求,提供最佳的资源分配及网络连接方案,从而实现整网资源的最优化使用。
算力网络是一种通过网络分发服务节点的算力信息、存储信息、算法信息等,结合网络信息(如路径、时延等),针对用户需求,提供最佳的资源分配及网络连接,并实现整网资源的最优化使用的解决方案。
算力网络需要从两个层面来解决计算网络资源联合优化调度的问题。首先是资源关联问题,根据用户的诉求将算力资源、网络资源等进行有机的整合,以满足用户多样化的需求;其次是资源交易问题,使用户能够根据自己对业务的要求以及能够承担的成本,在交易平台上购买最适合的算力资源与网络资源。针对第一方面,算力网络所倡导的解决思路是利用网络控制面来分发资源信息。由于网络控制面可分为集中式和分布式两种方案,因此算力网络在资源调度方面也有两种方案,如集中式的算力网络管理编排系统和分布式的算力路由层方案。针对第二方面,算力网络希望能够建立类似于电力交易平台的算力交易平台,在算力提供方与算力消费者之间建立桥梁,为消费者提供一站式的服务,而他们不用进行费时费力的一对一的谈判与交易,同时完成算力资源与网络资源的购买。
针对第一方面的问题,我们设计并构建了算力网络管理编排平台,如图 1[8]所示,其可以支持集中式资源调度或分布式资源调度方案。集中式方案实现简单,可以在已有的SDN/NFV 编排控制平台上扩展实现,但集中式方案在扩展性上会出现瓶颈,尤其是在业务状态频繁变化时,集中式的管理系统难以对算力资源进行精细地监控和分配;分布式方案实现复杂,需要对现有的网络设备进行升级,但是其具有很好的扩展性。因此本文将重点结合集中式和分布式两种方案的优势提出一种新型混合式方案:既能利用分布式路由协议分发资源信息,又能通过基于SDN/NFV 的集中式算力网络管理编排平台集中调度网络资源、计算资源等。
算力网络管理编排平台负责对这些资源进行管理和编排,既要实现根据业务需求的动态算力调整,又要实现对各个层面资源的有机协调,主要模块功能如下:
图1 算力网络管理编排平台架构图Fig.1 CPN management platform architecture
(1)需求解析模块。分析用户业务需求,将用户业务需求转化为算力资源需求,根据算力需求划分业务等级,以确定业务的部署位置、所需资源大小等信息。
(2)算法选择模块。根据用户的业务类型和需求解析模块的结果,在赋能平台中为用户选择合适的部署算法,确定用户业务部署的规格。
(3)应用部署模块。根据算法选择模块的结果,将用户业务部署到指定的算力节点中。
(4)算力调度模块。管理核心云和边缘云的算力资源,根据业务需求为用户分配相应的计算、存储、网络资源,并根据策略对业务部署位置、业务算力进行弹性调整。
(5)网络调度模块。管理用户、边缘云、核心云的网络,在用户业务部署或调整之后,配置用户到业务处理节点之间的网络,将用户流量路由到处理节点。
在上述功能模块中,部分功能可以借助现有的技术进行实现,如:算法选择模块使用大数据分析技术;应用部署模块借助边缘计算平台(Multi-access Edge Computing Platform, MEP);算力调度模块使用NFV 编排器(NFV Orchestrator, NFVO);网络调度模块使用SDN 控制器等。需求分析模块则需要根据服务的用户类型进行设计,形成标准化的模板,用户根据自身业务规模提出不同的需求,算力网络管理编排系统将业务需求转化为具体的算力资源调度方案,并为用户分配合适的基础资源。
针对第二方面的问题,我们设计了算力交易平台。算力交易平台可以与图 1 中的算力网络管理编排系统进行对接,且与算力消费方、算力提供方之间建立通信,如图2 所示。
算力网络交易平台负责资源信息的整合与报价、执行算力网络交易流程以及提供资源消费账单与资源占用账单。
算力网络管理平台和算力交易平台共同构成了本文的实验验证平台-算力网络平台(CPN 平台)。
图2 算力交易平台Fig.2 Computing power transaction platform
在传统解决方案中,不同类型资源信息分发是通过互相独立且差异很大的体系,比如算力资源信息一般会通过集中式的管控平台(如云管平台)来收集,用户需要依靠这些平台才能获取各个算力池的空闲算力信息,而网络资源信息则是通过网络控制面来分发,用户可以在接入点获取全网的路由信息,并按一定的策略来获得有保障或者尽力而为的传送通道。显然由于各类资源信息的独立性,导致在进行联合优化时,如何将不同类型的资源关联起来,并保持实时或者准实时更新,成为一大难题。
因此,算力网络采用将算力资源等信息通过网络控制面进行转发的方式,来实现计算资源与网络资源的有机结合,便于用户调用最适合的资源,同时也能够让运营方从全局的角度来实现资源的优化和统一调度。
由于网络控制面可分为分布式和集中式两种方案,因此算力网络在资源调度方面也有两种方案,如集中式的算力网络管理编排系统和分布式的算力路由层方案。本文通过分布式的方案来实现算力资源的分发。该方案通过在如边界网关协议(Border Gateway Protocol, BGP)等的IP 路由协议中增加相应的字段,让算力资源信息可以在BGP 邻居之间传递,并在传递算力资源信息的同时,利用Telemetry 等协议,测量出本节点到算力节点之间的时延信息。路由协议中新增字段如图3 所示。
图3 路由协议中新增字段示例Fig.3 Extended fields in routing protocol
分布式路由分发示例如图4 所示。
第一步,算力节点C1 将自己的空闲的算力资源信息发送给路由节点R4,在R4 上记录了到C1 的信息:{C1,I1,T4},其中I1 是R4 去往C1 的端口,T4 包括两部分:一是C1 到R4 的传输时延,二是R4 的节点处理时延Δt。
第二步,R4 将C1 节点的算力信息扩散给路由节点R5,这样R5 收到了R4 发送过来的算力信息后,生成相应的算力路由表项:{C1,R4,T5},其中记录去往C1 需要经过R4,其时延是T5,而T5 可以根据R4 发送过来的T4,加上T45:R4 到R5 的传输时延,以及R5 的节点处理时延Δt 所得,也可以利用Telemetry 协议重新进行测量。
同理,网络中的各节点都可以根据以上流程,得到本节点到本域内所有算力节点的算力资源信息,以及对应的路由表项。
用户首先在算力交易平台发起申请,包括对算力资源大小的需求,以及对时延的要求等。算力交易平台在收到用户交易申请后,会先向算力网络管理编排系统查询相关的算力资源信息和网络资源信息。如果有必要,也可以由算力网络管理编排平台发起端到端的时延测量流程,以获得更为精准的时延信息。
第一步:由算力网络消费者提出业务诉求,比如站点位置、算力资源需求大小、连接服务要求等。
图4 分布式路由分发示例Fig.4 Distributed routing distribution instance
第二步:算力网络交易平台根据算力网络消费者的诉求,生成算力网络资源视图,以算力网络消费者为中心,将可能的算力资源池、相关的网络连接资源等整合在一张视图中,甚至包括相关资源消费组合的套餐报价。
第三步:算力网络消费者根据算力网络资源视图选择最适合自己的套餐服务,当然也可以自行订制选择相应的资源,然后在算力交易平台上签订交易合约。
第四步:算力交易平台根据交易合约,通过算力网络管理编排系统调度算力资源、建立网络连接等,并更新相应的空闲资源信息。
第五步:算力交易平台将持续跟踪资源占用情况,直到由交易合约制定的交易结束时间,算力交易平台终止服务,释放算力资源与网络资源。
算力交易平台还可以借助区块链等新兴技术,实现分布式的账本、匿名交易等新功能。
算力消费者在算力交易平台完成交易后,算力交易平台将交易结果发送给算力网络编排管理系统。由算力网络编排管理平台根据交易结果,分别对每个用户建立网络连接,并分配相应的算力资源,更新算力资源和网络资源信息。
算力,顾名思义就是计算能力。想要根据用户对算力的需求为其提供服务,首先需要将算力像电力一样进行量化,根据统一的标准,评估每一个资源池现有的算力大小,和用户对算力的需求大小。有了统一的标准,才能明确资源现状和用户需求,算力才能够进行交易。而目前,算力按照应用场景有不同的衡量单位,用于比特币的每秒哈希运算次数(H/S),用于AI 和图形处理的每秒浮点运算次数(FLOP/S),智能社会对算力的诉求主要是浮点运算能力,专用AI 芯片如华为昇腾910 采用7nm 工艺,半精度FP16 算力达256TFLOPS,低功耗的12nm 芯片昇腾310 半精度FP16 算力也达到了8 TFLOPS。过去5年, 随着深度学习算法的演进,AI 训练对算力的需求增加了30 万倍,一些互联网厂家已经将算力作为服务提供给用户,从1 FP 32 TFLOPS 或8 FP 16 TFLOPS 到4 FP 32 TFLOPS 或32 FP16 TFLOPS的AI 推理加速服务,简单的语音语义识别或单流视频分析 8 FP16 TFLOPS 即可满足,复杂的推荐引擎或者风险检测则需要32 FP16 TFLOPS[6]。
目前算力资源评估与度量还处于积极研究的阶段,已经在CCSA 等标准组织中设立相关研究课题。当前的初步设想是,将算力池视为黑盒,根据以往收集的同类型算力池以及实验室测试情况,利用深度学习算法,评估和量化该算力池针对主要的AI 算法所能提供的算力资源大小。
在算力网络中,网络时延和算力大小是为用户选择合适资源池的两个重要指标。精准的网络时延测量则是所有工作的前提。目前Telemetry 技术能够提供精准网络时延测量。
Telemetry 是一项远程的从物理设备或虚拟设备上高速采集数据的技术,设备通过推模式主动向采集器上输送设备数据信息,提供更实时、更高速的数据采集功能。与传统的简单网络管理协议(Simple Network Management Protocol,SNMP)的Trap 和SYSLOG( 系统日志) 采用的推模式相比,Telemetry 推送的数据范围更广,不但包括告警及事件,还可以采集类似接口流量等的监控数据,Telemetry 对网络监测控制效率的提升有着至关重要的作用。
由于Telemetry 能够提供网络的精确测量,常常被用在生产中的自动控制技术上,用来实现远程监控的自动控制方案。在计算和网络联合优化的场景中,通过Telemetry 技术可以加强基础数据采集,实现计算和网络的智能感知,作为计算网络资源可视、智能化的基础。
目前Telemetry 技术尚处于标准化阶段。
在确定了用户业务的部署位置后,需要在相应的算力池中为用户划分资源并在用户和资源节点之间建立通路,从而为用户提供满足需求的服务。基于SDN/NFV 的统一编排、自动管控的架构,能够很好地解决算力网络中网络调度的问题。
SDN 是一种新型网络架构,它将控制平面和转发平面解耦,通过软件编程的形式集中控制网络,具有开放性、可编程的特点[9]。可在用户业务部署或调整之后,配置用户到业务处理节点之间的网络,将用户流量路由到处理节点。
NFV 利用虚拟化技术,将传统电信设备功能,分割成几个功能区块,分别以软件方式实现,不再局限于硬件架构,实现网络功能和硬件设备解耦。NFV 在2012年开始逐步制订相关国际标准规范,目前已进入了第四阶段,开始注重NFV 商用落地的研究[1,10]。可利用NFV 技术创建虚拟宽带接入服务器(virtual Broadband Remote Access Server,vBRAS)、虚拟用户 终端设备(virtual Customer Premise Equipment,vCPE)等虚拟网关,使用户能够访问资源节点。
SDN/NFV 目前在产业界受到热烈的追捧,运营商和通信服务提供商都加大相关方向的部署力度希望能够发挥SDN/NFV 的优势,帮助新服务快速部署,实现高度的网络自动化和动态重新,降低运营成本。
在前述的算力网络体系的基础上,本小节将根据一个典型的网络场景来详细描述,如何通过CPN平台进行算力资源、网络资源的联合优化调度工作。场景示意如图5 所示。
在本场景中,一共有三类算力资源节点。
图5 典型场景示例Fig.5 Typical scenario instance
表 1 算力与网络资源信息表Table 1 Computing power and network resource information table
(1)第一类是云计算节点,如本例中的C1。此类节点所能提供的算力资源非常的多,对于单一用户而言,可以认为接近是无限量供应的,但云计算节点一般集中部署在电力资源充裕、远离城区的位置,因此从网络角度来看,云计算节点到用户的时延是很难控制与保障的。
(2)第二类是城域计算节点,如本例中的C2。此类节点能够提供一定规模的算力资源,与用户也在同一个城域网范畴内,网络连接的质量和时延也相对容易保障一些。但时延指标仍受到一定的限制,不能提供极低的时延。
(3)第三类是边缘计算节点,如本例中的C3。此类节点靠近用户设立,时延可以非常低,且不容易被其他用户所干扰,网络连接的质量可以得到有效的保障。但受限于机房条件,能够提供的算力资源非常有限,最好能分配给高价值用户使用。
第一步:资源信息分发与收集
各算力节点将空闲算力通过路由协议进行分发,因此R1 可以得到所有计算节点的算力资源信息、网络节点之间的网络拓扑信息以及网络时延信息等,如表1 所示。
第二步:算力交易
用户根据收到的算力网络路由表,考虑到其业务需求,自主选择合适的算力节点,并向CPN 平台发出申请,完成算力交易流程。
如用户希望计算的时延越低越好,而对价格因素不敏感,则可以选择计算节点C3。
如用户考虑到其对时延要求一般,但希望数据不出城,即无需负担长途专线费用,则可以选择计算节点C2。
如用户对业务扩展性要求很高,希望能够灵活提供算力大小,同时还希望能够有较高数据安全性,具有独立的网络地址空间,但对时延没有特别要求。则可以选择计算节点C3。
第三步:资源调度
当用户在CPN 平台完成交易后,CPN 平台将根据用户的选择,建立相应的网络连接,并分配相应的算力资源,更新算力资源和网络资源信息。
如图5 红线所示,若用户选择计算节点C1,则CPN 先在C1 上部署虚拟化的软件定义广域网(Software Define Wide Area Network,SD-WAN)网关,如vCPE, 即在R1 与C1 之间建立SD-WAN 专线,然后再分配C1 的算力资源给用户,并更新算力资源表项。
本文提出了一种计算网络资源联合优化调度方案-算力网络。本文在介绍CPN 平台的整体架构的同时,针对资源关联问题介绍了资源信息的收集分发流程,针对资源交易问题,介绍了算力的交易流程,提供算力网络可长期发展的生态环境。此外,文章在最后还提供了CPN 应用的整体示例,展示了CPN平台如何进行算力资源、网络资源的联合优化调度工作。算力网络可结合网络信息(如带宽、时延等),针对用户的不同类型需求,提供最佳的资源分配及网络连接,从而实现整网资源的最优化使用的解决方案。在下一步的工作中,我们还将对算力网络中所涉及的各个功能模块进行细化,包括如何对算力资源进行评估与度量,如何进行精准的网络时延测量,和如何对网络中的业务进行调度,从而将算力网络打造成一个集算力资源选择,算力资源调度,算力资源交易为一体的全方位的算力生态环境。
利益冲突声明
所有作者声明不存在利益冲突关系。