一种加速能力的匹配方法及装置、设备、存储介质
技术领域
本申请实施例涉及但不限于网络功能虚拟化(Network FunctionsVirtualization,NFV)技术,尤其涉及一种加速能力的匹配方法及装置、设备、存储介质。
背景技术
硬件平台感知(Hardware Platform Awareness,HPA)技术实现的是在NFV硬件通用化背景下,针对具体业务需求完成NFV硬件能力的感知与精确调度。在当前技术中,业务需求被转化为精确的加速设备信息,加速设备信息的描述方式与加速节点设备保持一致。
HPA中所描述的均为精确的加速需求,这对需求提出方以及网元厂商提出了较高的要求,需要需求提出方对于现有的加速技术有着清晰明了的认知与掌握,这就导致VNF软件应用与底层硬件平台形成绑定,从而阻碍了应用与平台的技术独立演进,进而限制了技术创新。
发明内容
有鉴于此,本申请实施例为解决相关技术中存在的至少一个问题而提供一种加速能力的匹配方法及装置、设备、存储介质。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种加速能力的匹配方法,所述方法包括:
接收与具体硬件种类、特性无关的加速需求;
根据所述加速需求查找预先建立的训练模型,得到资源池的加速硬件资源规格;其中所述训练模型用于将所述加速需求转换为资源池的加速硬件资源规格;
根据所述资源池中加速硬件资源的实时可用状态和所述加速硬件资源规格,对所述资源池中的加速硬件资源进行资源调度。
第二方面,本申请实施例提供一种加速能力的匹配装置,所述装置包括:
接收模块,用于接收与具体硬件种类、特性无关的加速需求;
查找模块,用于根据所述加速需求查找预先建立的训练模型,得到资源池的加速硬件资源规格;其中所述训练模型用于将所述加速需求转换为资源池的加速硬件资源规格;
调度模块,用于根据所述资源池中加速硬件资源的实时可用状态和所述加速硬件资源规格,对所述资源池中的加速硬件资源进行资源调度。
第三方面,本申请实施例提供一种加速能力的匹配设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的步骤。
本申请实施例中,接收与具体硬件种类、特性无关的加速需求;根据所述加速需求查找预先建立的训练模型,得到资源池的加速硬件资源规格;其中所述训练模型用于将所述加速需求转换为资源池的加速硬件资源规格;根据所述资源池中加速硬件资源的实时可用状态和所述加速硬件资源规格,对所述资源池中的加速硬件资源进行资源调度;如此,本实施例中,通过设计态发布的加速需求与运行态加速硬件资源规格之间的训练模型(例如映射关系),以根据加速需求得到加速硬件资源规格,这样就实现了需要数据面加速的虚拟网络功能软件与底层硬件平台的解耦合,虚拟网元作为资源池使用者,只需要提出抽象的加速需求,无需指定具体的加速硬件实现方案,同时建立基于静态经验和动态匹配实现抽象需求到具体资源的匹配能力,即可实现由模糊到具体的加速资源调度。
附图说明
图1为本申请实施例加速能力的匹配方法的实现流程示意图;
图2为本申请实施例形成训练模型的方法的实现流程示意图;
图3为本申请实施例加速能力的匹配系统的组成结构示意图;
图4为本申请实施例查找资源池加速资源的实现机制的示意图;
图5为本申请实施例加速能力的匹配装置的组成结构示意图。
具体实施方式
在介绍本申请实施例之前,先介绍一下相关的名词如下:
HPA:硬件平台感知;
NFV:网络功能虚拟化,其中一种解释为:将许多类型的网络设备(如服务器、交换机和存储设备等(servers、switches和storage等)构建为一个数据中心网络(Data CenterNetwork),通过借用信息技术(Information Technology,IT)的虚拟化技术虚拟化形成虚拟机(Virtual Machine,VM),然后将传统的通信业务部署到VM上。在NFV架构中,底层为具体物理设备,如服务器、存储设备、网络设备,NFV一般可以包括计算虚拟化、存储虚拟化和网络虚拟化,本申请实施例下面提供的计算加速、网络加速和存储加速分别对应上述的三类,其中,计算虚拟化即虚拟机,在一台服务器上创建多个虚拟系统。存储虚拟化,即多个存储设备虚拟化为一台逻辑上的存储设备。网络虚拟化,即网络设备的控制平面与底层硬件分离,将设备的控制平面安装在服务器虚拟机上。一个NFV的标准架构包括NFV基础设施(NFV infrastructure,NFVI),管理与编排(Management and Orchestration,MANO)和虚拟网络层(Virtualized Network Function,VNFs)。
VNF:虚拟网络功能;
VNFD:VNF需求描述文件(拓扑描述文件);
SDC:业务设计与创建;
UUI:业务管理人机交互界面;
NS:网络服务;
NSD:网络业务模板(网络服务拓扑描述模板),NSD包括VNF模板和VNF之间的虚拟网络连接VL;
VNFP:VNF模板包;
NFVO:网络功能虚拟化编排器;
VNFM:VNF管理器;
VIM:虚拟资源基础设施管理器;
VM Flavor:虚拟机规格;
VL:虚拟网络连接。
schema:表示数据库对象的集合,所谓的数据库对象可以是表(table)、列(column)、数据类型(data type)、视图(view)、存储过程(stored procedures)、关系(relationships)、主键(primary key)、外键(foreign key)等;
HPA需求能力:常见的包括有主机CPU能力请求(Host CPU capability request)、外设组件互连单根I/O虚拟化(Peripheral Component Interconnect Single Root I/OVirtualization,PCI SR-IOV)、非同一内存访问NUMA(Non Uniform Memory AccessArchitecture,NUMA)支持、CPU绑定(CPU pinning)、大页(Huge page)支持、智能平台管理接口(Intelligent Platform Management Interface,IPMI)for monitor、开放式虚拟交换机(OpenVSwitch)数据平面开发套件(OpenVSwitch+Data Plane Development Kit,OVS+DPDK)、可靠数据传输(Reliable Data Transfer。RDT)、TXT与TCP协议、GPU虚拟化、现场可编程门阵列(Field Programmable Gate Array,FPGA)等其他。
编排器作为下一代网络智慧运营的大脑,通过服务设计、服务编排、服务上线、策略运行这四大环节实现对网络全生命周期的自动化管理,是新一代网管的核心组件。
其中服务设计在设计态模块完成,首先将设备厂家的提供的虚拟网络功能资源模板(VNF包)加载到设计态模块,然后通过组合这些虚拟网络功能并指定其网络连接关系的方式完成网络服务模型的设计。完成设计的网络服务描述包连同其组成所需要的虚拟网络功能描述包被分发到运行态模块用于在生产环境中按需部署。
网络运维人员通过运行态交互界面提交针对制定网络服务的操作请求,即可完成该网络服务的实例化、缩扩容、终止等生命周期管理操作。一般的步骤如下:
步骤1)在设计态中,系统接收厂家的VNF包(命名为VNFP0,VNF包由拓扑描述文件VNFD与其他配套文件Artifacts组成),将其加载到设计态,网络业务设计人员依据业务需求,通过VNF上载生成设计态VNF包(命名为VNFP1),通过业务设计模块的组合成为网络业务模板NSD(其中包含VNF模板和VNF之间的虚拟网络连接VL),与NSD一起存放至设计态模板库中;运行态模块向设计态订阅NSD和VNFD模板,自动同步新的模板
步骤2)在运行态生产网络的运维管理人员通过在业务模板列表里选择需要实例化的业务,并输入实例化参数向NFVO发起业务实例化请求,其中包含业务模板的ID和实例化参数;
步骤3)在接到NS实例化请求(其中包含与这个NS相关的实例化参数)之后,NFVO查找对应的NS模板,对NS模板进行拆解,得到里面包含的VNF模板ID和VL描述信息,并先创建对应的VL,然后把对应VNF的实例化任务委托给VNFM进一步执行。VNFM接到NFVO下发的VNF实例化请求(包含实例化参数)之后,查找对应的VNF模板,对VNF模板进行拆解,根据其中的资源需求描述文件,请求VIM创建对应的虚拟机进行实例化。
上述过程中,VNFM在调用VIM的虚拟机创建接口的时候包含VM flavor的参数,其中指定所创建的虚拟机规格(包含通用虚拟硬件资源信息,和与实际硬件平台绑定的资源信息HPA)。为了计算这个参数有两种方式:其一,按照VNF模板中指定的VM flavor参数直接创建;其二,由NFVO根据VNF模板中指定的需求信息,在运行态平台中已经统一定义的VMflavor中匹配一个最适合的规格进行创建。
HPA技术实现的是在NFV硬件通用化背景下,针对具体业务需求完成NFV硬件能力的感知与精确调度。在当前技术中,业务需求被转化为精确的加速设备信息,加速设备信息的描述方式与加速节点设备保持一致。
HPA中所描述的均为精确的加速需求(又称为HPA需求能力),这对需求提出方以及网元厂商提出了较高的要求,需要需求提出方对于现有的加速技术有着清晰明了的认知与掌握,这就导致VNF软件应用与底层硬件平台形成绑定,从而阻碍了应用与平台的技术独立演进,进而限制了技术创新。
为了实现需要数据面加速的虚拟网络功能软件与底层硬件平台的解耦合,本方案提出虚拟网络功能数据面加速需求(加速业务需求)的描述、加速资源的管理、以及需求与资源匹配的方法和系统,虚拟网元作为资源池使用者,只需要提出抽象的加速需求,无需指定具体的加速硬件实现方案,同时建立基于静态经验和动态匹配实现抽象需求到具体资源的匹配能力,即可实现由模糊到具体的加速资源调度。
下面结合附图和实施例对本申请的技术方案进一步详细阐述。
本实施例提出一种加速能力的匹配方法,该方法应用于加速能力的匹配方法设备,该方法所实现的功能可以通过设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该设备至少包括处理器和存储介质。
图1为本申请实施例加速能力的匹配方法的实现流程示意图,如图1所示,该方法包括:
步骤S101,接收与具体硬件种类、特性无关的加速需求;
步骤S102,根据所述加速需求查找预先建立的训练模型,得到资源池的加速硬件资源规格;其中所述训练模型用于将所述加速需求转换为资源池的加速硬件资源规格;
步骤S103,根据所述资源池中加速硬件资源的实时可用状态和所述加速硬件资源规格,对所述资源池中的加速硬件资源进行资源调度。
本实施例中,通过设计态发布的加速需求与运行态加速硬件资源规格之间的训练模型(例如映射关系),以根据加速需求得到加速硬件资源规格,这样就实现了需要数据面加速的虚拟网络功能软件与底层硬件平台的解耦合,虚拟网元作为资源池使用者,只需要提出抽象的加速需求,无需指定具体的加速硬件实现方案,同时建立基于静态经验和动态匹配实现抽象需求到具体资源的匹配能力,即可实现由模糊到具体的加速资源调度。
在一些实施例中,所述方法还包括:
步骤S104,采用特定的语言将所述加速需求解析为加速需求描述;
这里,特定的语言可以为TOSCA语言,因此可以采用TOSCA语言对模糊化的加速需求进行描述。
步骤S105,将所述加速需求描述按照加速需求条件在加速需求维度上进行解析,得到加速需求维度列表;
在一些实施例中,可以软件自动地对加速需求描述进行解析,得到加速需求维度列表。在另一些实施例中,还可以使用该系统的网元厂商及运营商通过预先定义的模糊化加速需求条件(即所描述的NFVI_requirements),对加速需求描述进行解析,得到加速需求维度列表。
对应地,步骤S102为:根据所述加速需求维度列表查找预先建立的训练模型,得到资源池的加速硬件资源规格。
在一些实施例中,所述根据所述资源池中加速硬件资源的实时可用状态和所述加速硬件资源规格,对所述资源池中的加速硬件资源进行资源调度,包括:
步骤A1,将满足所述加速硬件资源规格的加速硬件资源信息确定为备选的加速硬件资源信息;
步骤A2,根据所述加速硬件资源的实时可用状态和所述备选的加速硬件资源信息确定目标加速硬件资源信息;
这里,实时可用状态包括空闲和占用,从备选的加速硬件资源信息中挑选空闲的,确定为目标加速硬件资源信息。
步骤A3,根据所述目标加速硬件资源信息,对所述资源池中加速硬件资源,进行资源调度。
在一些实施例中,所述根据所述加速硬件资源的实时可用状态和所述备选的加速硬件资源信息确定目标加速硬件资源信息,包括:将可用状态为占用的加速硬件资源对应的加速硬件资源信息,从所述备选的加速硬件资源信息中删除,得到目标加速硬件资源信息。
本申请实施例提供一种形成上述图1所示实施例中的训练模型的方法,如图2所示,该方法包括:
步骤201,在VNF需求描述文件VNFD中引入与具体硬件种类、特性无关的多条加速需求;
步骤202,将每一所述加速需求描述按照加速需求条件在加速需求维度上进行解析,得到加速需求维度列表;
步骤203,在所述加速需求维度列表中的加速需求维度上,将资源池中对应加速硬件资源确定为候选加速节点集合;
步骤204,将所述候选加速节点集合中的资源能力信息确定为与所述加速需求匹配的加速硬件资源规格;
步骤205,将每一所述加速需求与对应的加速硬件资源规格进行关联,得到所述映射关系。
这里,步骤202至步骤S205提供了一种建立每一所述加速需求与加速硬件资源规格之间的映射关系,得到所述训练模型的方法。
在一些实施例中,所述将每一所述加速需求描述按照加速需求条件在加速需求维度上进行解析,得到加速需求维度列表,包括:
步骤B1,将每一所述加速需求描述按照加速需求条件在加速需求维度上进行解析,得到待完善的加速需求维度列表;
在实施的过程中,可以利用NFVI(例如openstack等)收集加速节点的资源能力信息,并将资源能力信息导入待完善的加速需求维度列表中的待填项内容。待完善的加速需求维度列表参见表0.1,其中TBA为待填项内容,表中的带宽(bandwidth)可以理解为key项,TBA中填入的内容可以理解为Value项与加速节点收集到的资源占用。
表0.1
步骤B2,确定所述候选加速节点集合的资源能力信息的限值;
这里,限值包括上限(最高限度)和/或下限(最低限度)。
步骤B3,将所述限值填入所述待完善的加速需求维度列表。
在一些实施例中,所述待完善的加速需求列表中包括用于表征资源能力信息的key项和Value项,其中Value项是待完善项;对应地,所述将所述限值填入所述待完善的加速需求维度列表,包括:将所述限值填入所述待完善的加速需求维度列表对应的Value项,得到完善后的加速需求维度列表。
这里,对表0.1填入限值后,得到表0.2,即为完善后的加速需求维度列表,完善后的表0.2可以看作是加速能力资源池的schema信息。
表0.2
本申请实施例中,在VNF需求描述文件(VNFD)中引入抽象的、与具体硬件种类、特性无关的加速需求,在后面其他实施例中将加速业务抽象需求简称为加速需求,加速需求包括所需的加速业务种类、平台信息和性能指标。在一些实施例中,加速需求的种类包括计算加速、网络加速和存储加速等。在一些实施例中,加速需求的性能指标可以是性能指标列表中通用的性能指标,例如带宽、延迟等,当然性能指标还可以是与加速需求的种类相关的指标,例如计算加速中除了带宽和延迟之外,还会有处理器的处理速度等性能指标,其中处理器可以包括GPU、CPU等。
本申请实施例中,在设计态VNFP上传之后,对应网络服务包(Network ServicePackage,NSP)和VNFP分发给运行态之前,引入加速硬件资源与加速业务指标建模过程,建立起加速需求与运行态中加速硬件资源规格之间的映射关系并发布给运行模块;其中加速硬件资源规格包括所需的加速硬件种类和配置参数。
在运行态VNF实例化过程中,通过参考设计态建立的映射关系,将所需加速需求转换为对于资源池的加速硬件资源规格,并结合加速资源实时的可用状态,进行加速资源调度。其中,可用状态包括占用或空闲状态。
本申请实施例提供的技术方案的系统工作流程分为静态经验阶段和动态匹配阶段。其中:
静态经验阶段的模糊化加速需求通过需求维度的设计、加速能力资源池schema的呈现以及多轮测试训练,建立出最佳的加速资源设备匹配、调度的模型方案,这个模型方案(建立的映射关系)可以是为满足某种模糊化加速需求的节点选择方案和加速资源组合方式。
动态匹配阶段为实际运行过程中应用本系统以及对应模型的阶段描述,本阶段的步骤1、2沿用静态经验阶段的模糊加速需求输入以及需求维度设计方式,步骤3在查找资源池中的加速资源过程中,其基于静态经验阶段得到的训练模型与加速需求维度列表进行资源池的查找,实现最佳加速节点的查找和调度方案确定。并在后续步骤中逐步完成最优加速设备资源的调度。
本申请实施例提供的系统包括设计模块与运行模块两大部分,如图3所示,其中,设计模块31包括业务接收模块311、业务描述模块312和设计存储模块313;运行模块32包括资源能力收集模块321、运行存储模块322、能力匹配模块323和调度模块324。
针对系统工作流,包括静态经验与动态匹配两部分流程。从系统组成来看,设计模块31面向的是加速需求层面,业务接收模块311完成客户端上传的加速需求;业务描述模块312实现加速需求与加速需求维度列表匹配,所述加速需求描述包括模糊化加速类型与加速平台以及加速设备信息描述;设计存储模块313用于存储已完成模糊化匹配的加速需求维度及其对应的资源能力schema。
运行模块32面向的是加速设备调度层面,实现加速设备调度,其中,资源能力收集模块321在一定周期内对加速节点进行加速设备信息收集;运行存储模块322与设计存储模块313进行绑定,运行存储模块322除了包括设计存储模块上报的已完成模糊化匹配的业务描述,还含定周期收集到的加速设备信息;能力匹配模块323对已完成模糊化匹配的业务描述进行加速设备信息查询、匹配,完成从模糊化业务描述到精确化锁定加速设备的过程;调度模块324完成加速节点下加速设备的调度流程。
其中,加速节点可以是计算节点、存储节点和网络节点等,以计算节点为例,每一计算节点可以是以下形式之一:具有网络拓扑的云、云中的服务器,其他形式具有计算能力的设备,由此本申请实施例提供的多个计算节点可以是A企业提供的云服务、B企业提供的云服务的组合,多个计算节点还可以是C企业提供的云服务中的若干服务器与其他形式具有计算能力的设备的组合等等。
其中设备信息可以包括设备标识、加速卡、GPU、CPU等设备的硬件信息。
从系统工作流来看,静态经验环节在设计态测试阶段完成,包括以下步骤:
步骤11)测试阶段进行加速需求的模糊化描述。
所述加速需求包括三大类,分别为计算加速、网络加速、存储加速,其中:计算加速包括但不限于:IPsec加解密加速、转码硬件加速、NGFW加速等;网络加速包括但不限于:负载均衡与NAT、NFVI虚拟网络卸载等;存储加速包括但不限于:基于结构化的NVMe加速、计算节点高性能永久内存等。
步骤12)将面向用户角度的模糊化的加速需求描述采用静态经验阶段训练得到的模型与加速设备信息进行匹配;其中:该模型存放于能力匹配模块以及运行存储模块中,待动态匹配阶段使用;
步骤13)将完成匹配的模糊化业务描述存储进设计存储模块中,完成测试阶段的静态经验流程。
系统工作流的另一部分是动态匹配环节,该环节在实际运行阶段完成,主要包括以下步骤:
步骤21)用户在客户端上传加速需求,通过业务接收模块发送到本系统中,业务接收模块将加速需求转换为模糊化的加速需求描述;
步骤22)业务描述模块接收来自业务接收模块的模糊化的加速需求描述,并查找设计存储模块中于静态经验环节建立的已完成模糊化匹配的业务描述,对应到具体的目标加速设备信息;
步骤23)已完成模糊化匹配的业务描述与目标加速设备信息实现绑定后存放入设计存储模块;
步骤24)资源能力收集模块在运行周期内对底层硬件资源进行上报,并存放在运行存储模块中;
步骤25)能力匹配模块将设计存储模块的当前业务描述、目标加速设备信息与运行存储模块上报的加速设备资源进行匹配,进行精确最优能力匹配;
步骤26)实现能力匹配的加速需求通过调度模块完成最终的加速设备的调用以及加速方案的实现。
第一、静态经验阶段:
以IPsec加解密加速为例,本申请实施例提供的技术方案具体实现步骤为:
步骤11、在设计模块中,使用该系统的网元厂商及运行商采用云应用拓扑编排标(Topology Orchestration Specification for Cloud Applications,TOSCA)语言对模糊化的加速需求进行描述,并导出为云服务存档(Cloud Service Archive,CSAR)包,上载至业务接收模块中,以加解密为例,描述方式可参见表1.1:
表1.1
其中,针对表1.1的本段模板通用化解析为表1.2:”
表1.2
步骤12、业务描述模块将预先上载的模糊化加速需求描述(即所描述的NFVI_requirements)解析为加速需求维度,以加速需求维度列表方式反馈到资源能力收集模块中,并传递给NFVI(例如openstack等),其中,系统加速能力ID值为加速类型字段对应匹配值,系统版本号为系统自动分配随机值,”TBA”表示待填项内容,需要NFVI从加速节点收集资源能力信息进行自动完善。加速需求维度列表的呈现内容(以本示例来看)参见1.3:
表1.3
其中,针对表1.3本列表通用化解析参见表1.4:
表1.4
步骤13、NFVI(例如openstack等)收集加速节点的资源能力信息,并将资源能力信息导入加速需求维度列表待填项(即表中TBA部分)内容,上报至运行存储模块,体现为加速能力资源池的schema,并完成与设计存储模块的加速能力资源池信息同步。
加速设备信息就是具体锁定到调度到的加速硬件和设备了,这里的资源能力只是简单的收集资源情况信息,指的是目前各加速节点中各加速卡的情况,可见图4的内容,以及是否占用等。
在实施的过程中,资源能力收集模块可以为NFVI,例如openstack等。在本示例中,加速能力资源池的schema信息包括但不限于,可以参见表1.5:
表1.5
其中,加速资源池schema信息可通用化解析可以参见表1.6:
表1.6
其中,资源使用情况用于确认加速节点资源处于“被占用”还是“空闲”状态,若处于“空闲”状态,则允许调度到相应的加速节点。
步骤14、能力匹配模块针对本系统设计模块中的加速需求维度,调用运行存储模块进行列表查找,并通过运行存储模块对加速节点进行查找,若此时存在A、B两个加速节点,其中B节点包括加速设备能力满足加速需求维度,则调度模块选择部署至该加速节点。
步骤15、测试阶段中,能力匹配模块可以利用表1.7来完成模糊化加速需求维度与硬件资源调度平台(例如ONAP中的HPA等)进行调度机制匹配:
表1.7
模糊化加速需求维度
HPA-attribute-key
HPA-attribute-value
模糊化加速需求1
资源能力字段1
资源能力取值1
模糊化加速需求2
资源能力字段2
资源能力取值2
步骤16、测试阶段针对不同的加速需求类型,以网络加速、计算加速、存储加速为大类粒度,可基于ETSI-IFA 001标准用例范围进行多轮测试训练,其中:
标准用例范围包括:1)计算加速包括但不限于以下场景:IPsec加解密加速、转码硬件加速、NGFW加速等;2)网络加速包括但不限于:负载均衡与NAT、NFVI虚拟网络卸载等;3)存储加速包括但不限于:基于结构化的NVMe加速、计算节点高性能永久内存等。
步骤17、经过多轮测试训练所得到的模型存放至能力匹配模块以及运行存储模块,待动态匹配阶段使用。
第二、动态匹配阶段:
同样以互联网安全协议(Internet Protocol Security,IPsec)加速需求为例,动态匹配阶段的具体实现步骤为:
步骤21、在设计模块中的业务接收模块采用TOSCA语言对模糊化的加速需求进行描述,参见表2.1,并导出为CSAR包:
表2.1
步骤22、用户将模糊化的加速需求描述解析为加速需求维度列表(参见表2.2),并反馈到资源能力收集模块中。
其中,模糊化的加速需求描述以CSAR包的形式存在。用户可以是使用该系统的使用该系统的网元厂商及运营商例如运维人员或测试人员。
在实施的过程中,资源能力收集模块可以与客户端连接,用户通过客户端对模糊化的加速需求描述进行解析。在另一实施例中,可以在系统中增加一解析模块,实现对模糊化的加速需求描述解析为加速需求维度列表。
表2.2
步骤23、能力匹配模块将静态经验阶段得到的训练模型与加速需求维度列表进行资源池查找,并完成与原有HPA机制的维度匹配。
查找资源池加速资源的机制如图4所示,假设此时加速节点共有三个,由加速节点上报各自的加速资源维度信息为Acc1、Acc2、Acc3,能力匹配模块采用设计模块导入的加速需求维度列表schema作为过滤条件,通过将加速维度信息Acc1、Acc2、Acc3与加速需求维度列表schema进行比对,过滤出更新后的加速维度列表,并存放至运行存储模块,待下一步执行具体调用。其中:
Acc1对应的schema包括:
12v CPUs;
24GB RAM;
PCle GPU accelerator;
bandwidth_max:800M;
Delay_max:100ms;
Acc2对应的schema包括:
8v CPUs;
24GB RAM;
SriovNIC Network;
bandwidth_max:2000M;
Delay_max:6ms;
Acc3对应的schema包括:
8v CPUs;
24GB RAM;
SriovNIC Network;
bandwidth_max:1000M;
Delay_max:30ms;
步骤24、能力匹配模块在动态匹配阶段中,匹配后的加速资源信息将更新系统导入的加速需求维度列表,体现为HPA机制的硬件维度信息,完成最终的加速节点调度与部署。
以本示例IPsec需求为例,当查找到的匹配关系可以更新到列表,参见表2.3:
表2.3
步骤25、若在动态匹配过程中找不到合适的加速节点资源,则同样采用静态经验阶段的方式,将加速需求维度列表传递给硬件提供商,完成新一轮的资源池数据更新,并根据更新后的schema实现运行存储模块以及设计存储模块加速能力资源池的扩充。
步骤26、当本方案系统在执行加速节点匹配过程中使用到特定的加速节点资源,则运行存储模块中该资源对应的schema显示为“被占用”,通知能力匹配模块进行新一轮的能力匹配,并调度到schema中显示为“空闲”的加速节点,此处的流程与前述匹配流程一致,因此不加以赘述,附上对应的被占用状态schema如下表2.4所示:
表2.4
步骤27、当本方案系统中资源已使用完成,则由资源能力收集模块通知运行存储模块,完成资源对应的schema状态为“空闲”,以供动态匹配使用。
本申请实施例提出了一种独立于硬件平台信息的模糊化加速能力需求描述、能力匹配和资源调度方法及系统;其中,基于模糊化加速能力的匹配系统包括设计模块和运行模块;设计模块包括业务接收模块、业务描述模块、设计存储模块;运行模块包括资源能力收集模块、运行存储模块、能力匹配模块、调度模块。在一些实施例中,业务接收模块,用于接收与具体硬件种类、特性无关的加速需求,并将所述加速需求解析为加速需求描述;业务描述模块,用于将所述加速需求描述在加速需求维度上进行解析,得到加速需求维度列表;能力匹配模块,用于根据所述加速需求维度列表查找训练模型,得到资源池的加速硬件资源规格;其中所述映射关系用于将所述加速需求转换为对于资源池的加速硬件资源规格;查找满足所述加速硬件资源规格的加速硬件资源信息,得到候选加速硬件资源信息;调度模块,用于根据加速资源实时可用状态,对候选硬件资源信息进行筛选,得到目标加速硬件资源信息;根据目标加速硬件资源信息对资源池中的加速硬件资源进行调度。
本申请实施例设计的系统工作流包括静态经验与动态匹配两部分流程,其中,静态经验环节于测试阶段完成模糊化业务描述的精确匹配,动态匹配环节于实际运行阶段实现最终的加速设备调用。
在一些实施例中,设计态阶段包括以下步骤:
步骤31,在VNF需求描述文件VNFD中引入与具体硬件种类、特性无关的多条加速需求描述;
步骤32,将每一所述加速需求描述按照加速需求条件在加速需求维度上进行解析,得到待完善的加速需求维度列表;
其中:所述待完善的加速需求列表中包括用于表征加速需求维度的key项和Value项,其中Value项是待完善项;
步骤33,在key项上,将资源池中对应加速硬件资源确定为候选加速节点集合;
步骤34,确定所述候选加速节点集合的资源能力信息的限值;
步骤35,将所述限值填入所述待完善的加速需求维度列表对应的Value项,得到完善后的加速需求维度列表;将完善后的加速需求维度列表保存。
步骤36,将所述候选加速节点集合中的资源能力信息确定为与所述加速需求匹配的加速硬件资源规格;
步骤37,将每一所述加速需求与对应的加速硬件资源规格进行关联,得到所述映射关系。
与相关技术相比,本申请实施例提出了一种基于模糊化加速能力的匹配方法,实现了面向用户角度的业务描述方式,搭建模糊化的业务描述与精确的资源能力连接;在系统工作流中设计了静态经验与动态匹配两部分流程,能够充分满足本系统的设计与运行调度需求;本申请实施例提供的模糊化需求匹配能力也为后续引入更多的面向用户角度的加速技术(如FPGA等)奠定了基础。
基于前述的实施例,本申请实施例提供一种加速能力的匹配装置,该装置包括所包括的各模块、以及各模块所包括的各单元,各单元各包括的各子单元,可以通过加速能力的匹配设备(例如编排器)中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图5为本申请实施例加速能力的匹配装置的组成结构示意图,如图5所示,所述装置500包括:
接收模块501,用于接收与具体硬件种类、特性无关的加速需求;
查找模块502,用于根据所述加速需求查找预先建立的训练模型,得到资源池的加速硬件资源规格;其中所述训练模型用于将所述加速需求转换为资源池的加速硬件资源规格;
调度模块503,用于根据所述资源池中加速硬件资源的实时可用状态和所述加速硬件资源规格,对所述资源池中的加速硬件资源进行资源调度。
在一些实施例中,所述模块还包括:
第一解析模块,用于采用特定的语言将所述加速需求解析为加速需求描述;
第二解析模块,用于将所述加速需求描述按照加速需求条件在加速需求维度上进行解析,得到加速需求维度列表;
对应地,所述查找模块,用于根据所述加速需求维度列表查找预先建立的训练模型,得到资源池的加速硬件资源规格。
在一些实施例中,所述调度模块,包括:
第一确定单元,用于将满足所述加速硬件资源规格的加速硬件资源信息确定为备选的加速硬件资源信息;
第二确定单元,用于根据所述加速硬件资源的实时可用状态和所述备选的加速硬件资源信息确定目标加速硬件资源信息;
调度单元,用于根据所述目标加速硬件资源信息,对所述资源池中加速硬件资源,进行资源调度。
在一些实施例中,所述第二确定单元,用于将可用状态为占用的加速硬件资源对应的加速硬件资源信息,从所述备选的加速硬件资源信息中删除,得到目标加速硬件资源信息。
在一些实施例中,所述装置还包括:
引入模块,用于在VNF需求描述文件VNFD中引入与具体硬件种类、特性无关的多条加速需求;
建立模块,用于建立每一所述加速需求与加速硬件资源规格之间的映射关系,得到所述训练模型。
在一些实施例中,所述建立模块,包括:
第一解析单元,用于将每一所述加速需求描述按照加速需求条件在加速需求维度上进行解析,得到加速需求维度列表;
第三确定单元,用于在所述加速需求维度列表中的加速需求维度上,将资源池中对应加速硬件资源确定为候选加速节点集合;
第四确定单元,用于将所述候选加速节点集合中的资源能力信息确定为与所述加速需求匹配的加速硬件资源规格;
关联单元,用于将每一所述加速需求与对应的加速硬件资源规格进行关联,得到所述映射关系。
在一些实施例中,所述第一解析单元,包括:
第一解析子单元,用于将每一所述加速需求描述按照加速需求条件在加速需求维度上进行解析,得到待完善的加速需求维度列表;
确定子单元,用于确定所述候选加速节点集合的资源能力信息的限值;
填入子单元,用于将所述限值填入所述待完善的加速需求维度列表。
在一些实施例中,所述待完善的加速需求列表中包括用于表征资源能力信息的key项和Value项,其中Value项是待完善项;对应地,所述填入子单元,用于将所述限值填入所述待完善的加速需求维度列表对应的Value项,得到完善后的加速需求维度列表。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的加速能力的匹配方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台匹配设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种加速能力的匹配设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的步骤。
对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种任务处理的方法、装置及存储介质