CN112860618A - 一种资源管理方法、装置及存储介质 - Google Patents

一种资源管理方法、装置及存储介质 Download PDF

Info

Publication number
CN112860618A
CN112860618A CN201911171419.2A CN201911171419A CN112860618A CN 112860618 A CN112860618 A CN 112860618A CN 201911171419 A CN201911171419 A CN 201911171419A CN 112860618 A CN112860618 A CN 112860618A
Authority
CN
China
Prior art keywords
reconfigurable
vnf
fpga
fpga card
divided
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911171419.2A
Other languages
English (en)
Inventor
陈春秀
周峰
胡志凌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Suzhou Software Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201911171419.2A priority Critical patent/CN112860618A/zh
Priority to PCT/CN2020/129005 priority patent/WO2021104075A1/zh
Publication of CN112860618A publication Critical patent/CN112860618A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种资源管理方法,包括:获取虚拟化网络功能(VNF)的需求信息;基于所述VNF的需求信息以及现场可编程逻辑门阵列(FPGA)卡的状态,划分所述FPGA卡的可重构区域;本申请还公开了一种资源管理装置及存储介质;通过本申请实施例,可以根据VNF的需求信息,合理地动态划分FPGA卡的可重构区域。

Description

一种资源管理方法、装置及存储介质
技术领域
本发明涉及硬件加速和虚拟网络技术领域,尤其涉及一种资源管理方法、装置及存储介质。
背景技术
部分可重构(Partial Reconfiguration,PR)可以在现场可编程门阵列(Field-Programmable Gate Array,FPGA)卡内部划分出一个或多个可重构区域,在划分可重构区域后,其他应用逻辑不能使用该区域内的硬件资源。但是可重构区域划分过多会影响编译时布局、布线的灵活度;可重构区域划分过少会造成FPGA卡资源的空置和浪费,如何合理地动态划分FPGA卡的可重构区域,是需要解决的技术问题。
发明内容
本申请实施例提供一种资源管理方法、装置及存储介质,使得服务器可以根据VNF的需求信息,合理地动态划分FPGA卡的可重构区域。
本申请提供一种资源管理方法,包括:
获取虚拟化网络功能(Virtualized Network Function,VNF)的需求信息;
基于所述VNF的需求信息以及现场FPGA卡的状态,划分所述FPGA卡的可重构区域。
上述方案中,所述获取VNF的需求信息包括:
接收部署VNF请求;
基于所述部署VNF请求,获取下述VNF的需求信息中的至少一项:
业务类型、各业务类型的可重构区域最小占比、和每个业务类型的需求数量。
上述方案中,所述基于所述VNF的需求信息以及FPGA卡的状态,划分所述FPGA卡的可重构区域,包括:
基于所述VNF的需求信息以及下述FPGA卡的状态中的至少一项,划分所述FPGA卡的可重构区域:
所述FPGA卡中已划分的可重构区域数量、可重构区域的虚拟功能VF个数、FPGA卡允许划分的最大可重构区域数量。
上述方案中,所述方法还包括:
在获取至少一个VNF的需求信息,且所述VNF的需求信息相同的数量大于或等于第一阈值的情况下,对所述至少一个FPGA卡进行相同的可重构区域的划分。
上述方案中,基于所述VNF的需求信息以及FPGA卡的状态,划分所述FPGA卡的可重构区域,包括:
针对每个业务类型划分的可重构区域数量大于或等于所述每个业务类型的需求数量;
被划分可重构区域的FPGA卡的数量小于FPGA卡的总数。
本申请实施例还提供一种资源管理装置,包括:
获取单元,用于获取虚拟化网络功能VNF的需求信息;
划分单元,用于基于所述VNF的需求信息以及现场可编程逻辑门阵列FPGA卡的状态,划分所述FPGA卡的可重构区域。
上述方案中,所述获取单元,还用于接收部署VNF请求;基于所述部署VNF请求,获取下述VNF的需求信息中的至少一项:
业务类型、各业务类型的可重构区域最小占比、和每个业务类型的需求数量。
上述方案中,所述划分单元,还用于基于所述VNF的需求信息以及下述FPGA卡的状态中的至少一项,划分所述FPGA卡的可重构区域:
所述FPGA卡中已划分的可重构区域数量、可重构区域的虚拟功能VF个数、FPGA卡允许划分的最大可重构区域数量。
上述方案中,所述划分单元,还用于在获取至少一个VNF的需求信息,且所述VNF的需求信息相同的数量大于或等于第一阈值的情况下,对所述至少一个FPGA卡进行相同的可重构区域的划分。
上述方案中,所述划分单元,还用于针对每个业务类型划分的可重构区域数量大于或等于所述每个业务类型的需求数量;
被划分可重构区域的FPGA卡的数量小于FPGA卡的总数。
本发明实施例还提供一种存储介质,存储有可执行程序,所述可执行程序被处理器执行时,实现上述的资源管理方法。
本发明实施例提供的资源管理方法、装置及存储介质,通过获取虚拟化网络功能VNF的需求信息;基于所述VNF的需求信息以及现场可编程逻辑门阵列FPGA卡的状态,划分所述FPGA卡的可重构区域,可以实现根据业务类型的实际需求来合理、动态的划分FPGA卡的可重构区域,达到FPGA卡的最优利用。本申请实施例还提供一种资源管理方法,在获取至少一个VNF的需求信息,且所述VNF的需求信息相同的数量大于或等于第一阈值的情况下,对所述至少一个FPGA卡进行相同的可重构区域的划分;在环境部署阶段,实现批量划分FPGA卡,节约部署时间。
附图说明
图1为本申请实施例提供的FPGA卡划分多个可重构区域的示意图;
图2为本申请实施例提供一种资源管理方法的可选流程示意图一;
图3为本申请实施例提供的服务器基于VNF的需求信息以及FPGA卡的状态,划分FPGA卡的可重构区域的可选流程示意图;
图4为本申请实施例提供的三种划分FPGA卡的方案的示意图一;
图5为本申请实施例提供一种资源管理方法的可选流程示意图二;
图6为本申请实施例提供一种资源管理方法的可选流程示意图三;
图7为本申请实施例提供的三种划分FPGA卡的方案的示意图二;
图8为本申请实施例提供的资源管理装置的可选结构示意图一;
图9为本申请实施例提供的资源管理装置的可选结构示意图二;
图10为本申请实施例提供的资源管理装置的可选结构示意图三。
具体实施方式
以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在对本申请实施例进行详细描述之前,首先对相关技术中的虚拟化即FPGA卡进行简要说明。
虚拟化是实现网络功能虚拟化的关键技术。虚拟化是一种将现有计算、存储、网络等各种实体资源进行抽象、转换的资源管理技术。
随着人工智能的兴起,各个领域对数据运算量和运算速度也提出了更高的要求,这也导致了FPGA卡在加速运算领域扮演着越来越重要的角色,很多应用和服务借助FPGA卡提供的支持可以显著提升运算的速度和运算的效率。
为了提高FPGA卡的开发效率,以及更好地利用FPGA卡的逻辑资源、方便FPGA卡的大规模部署和应用,需要将FPGA卡进行一定程度的逻辑抽象,使顶层用户不必太多关注于FPGA卡硬件逻辑的实现方式与细节。FPGA卡虚拟化技术就应运而生。
部分可重构是FPGA卡的主要特点之一,可以在FPGA卡内部划分出一个或多个区域,并在FPGA卡运行过程中单独对这些区域进行编程和配置,以改变区域内电路的逻辑,但并不影响FPGA卡其他电路的正常运行。
图1示出了FPGA卡划分多个可重构区域的示意图。图1中,在FPGA卡内部划分了两个可重构区域,分别为区域1和区域2;划分一个不可重构区域,即区域3。
在FPGA卡划分可重构区域后,其他应用逻辑不能使用该区域内的硬件资源。如果划分过多的可重构区域,会严重影响编译时布局、布线的灵活度,导致一些时序路径必须“绕道”,避免这些可重构区域,从而造成布线延时过长;如果划分的可重构区域过少,又会造成FPGA卡资源的空置和浪费。
为了应对FPGA卡的大规模部署及应用,需要对FPGA卡进行配置,包括:划分可重构区域。而大规模部署需要支持FPGA卡配置的自动化,且在划分可重构区域时也需要谨慎。因此,如何合理地动态划分可重构区域,是需要解决的技术问题。
基于目前对FPGA卡可重构区域的资源管理方法中存在的问题,本申请提出一种资源管理方法,能够解决现有技术方案中无法解决的技术难题和缺点。
图2示出了本申请实施例提供的一种资源管理方法的可选流程示意图一,将根据各个步骤进行说明。
步骤S101,获取VNF的需求信息。
在一些实施例中,服务器内部管理业务类型相关VNF的资源需求的虚拟模块向服务器发送VNF的需求信息,服务器获取VNF的需求信息,所述VNF需求信息包括:业务类型、各业务类型的可重构区域最小占比、和每个业务类型的需求数量中至少一项。
在一些实施例中,所述管理业务类型相关VNF的资源需求的虚拟模块为虚拟化功能管理(Virtualized Network Function Manager,VNFM)。
在一些实施例中,所述服务器获取VNF的需求信息之前,还包括:服务器外部虚拟模块向服务器发送上层业务相关的部署VNF请求,服务器接收所述部署VNF请求,基于所述部署VNF请求,获取所述VNF的需求信息。
在一些实施例中,所述服务器获取VNF部署请求,并制定相应的VNF部署方案。包括:部署VNF的位置、FPGA卡的资源划分方案中至少一种。
步骤S102,基于所述VNF的需求信息以及FPGA卡的状态,划分所述FPGA卡的可重构区域。
在一些实施例中,所述FPGA卡的状态包括:所述FPGA卡中已划分的可重构区域数量、可重构区域的虚拟功能VF个数、FPGA卡允许划分的最大可重构区域数量中至少一项。
在一些实施例中,FPGA卡中存在已划分的可重构区域的情况下,不再重新划分已划分的可重构区域,根据所述VNF的需求信息,为FPGA卡已划分的可重构区域配置任务。
在一些实施例中,服务器基于所述VNF的需求信息以及FPGA卡的状态,划分所述FPGA卡的可重构区域包括步骤S201至步骤S203。图3示出了本申请实施例提供的服务器基于所述VNF的需求信息以及FPGA卡的状态,划分所述FPGA卡的可重构区域的可选流程示意图,将根据各个步骤进行说明。
步骤S201,服务器根据不同业务类型的可重构区域最小占比,制定划分FPGA卡的不同方案。
在一些实施例中,所述可重构区域最小占比为业务类型所需的相对于可重构区域的最小区域与所述可重构区域的比值。
例如,业务类型为A的业务,需要的最小区域为一半可重构区域,则所述业务类型为A的业务的可重构区域最小占比为1/2。
在一些实施例中,服务器根据不同业务类型的可重构区域最小占比,制定划分FPGA卡的不同方案包括:服务器根据不同业务类型对应的可重构区域最小占比,制定划分FPGA卡的方案,使所述FPGA卡能够为至少一种业务类型提供相应的最小可重构区域。
在另一些实施例中,将所述FPGA卡中不同可重构区域最小占比的数量与相应的可重构区域最小占比的乘积,相加得到的值为1。
如表1所示,所述业务类型对应的可重构区域最小占比包括1/2和1/4,相应地,在FPGA卡中不存在已划分可重构区域的情况下,服务器制定3种划分FPGA卡的方案,图4示出了本申请实施例提供的三种划分FPGA卡的方案的示意图一,包括:
方案x 301,在FPGA卡上划分2个1/2可重构区域,能够支持业务类型为A的业务。
方案y 302,在FPGA卡上划分1个1/2可重构区域和2个1/4可重构区域,能够支持业务类型为A、B和/或C的业务
方案z 303,在FPGA卡上划分4个1/4可重构区域,能够支持业务类型为B和/或C的业务。
业务类型 可重构区域最小占比 需求数量
A 1/2 10
B 1/4 5
C 1/4 10
表1动态划分可重构区域的实施例数据
步骤S202,服务器根据所述制定划分FPGA卡的方案,制定划分可重构区域的方案。
在一些实施例中,服务器根据所述制定划分FPGA卡的方案,制定划分可重构区域的方案,使划分后的FPGA卡满足所有业务类型的需求数量。
在一些实施例中,针对每个业务类型划分的可重构区域数量大于或等于所述每个业务类型的需求数量;被划分可重构区域的FPGA卡的数量小于FPGA卡的总数。
例如,FPGA卡的总数为9,以表1为例,结合划分FPGA卡的3中方案,划分可重构区域的方案为:
Figure BDA0002288818810000071
在上述不等式组中,所述x为本实施例划分可重构区域的方案中,根据方案x划分FPGA卡的数量;所述y为本实施例划分可重构区域的方案中,根据方案y划分FPGA卡的数量;所述z为本实施例划分可重构区域的方案中,根据方案z划分FPGA卡的数量。
其中,在上述第一个不等式中,方案x可以在FPGA卡上划分出2个可重构区域最小占比为1/2的可重构区域;方案y可以在FPGA卡上划分出1个可重构区域最小占比为1/2的可重构区域,业务类型A对可重构区域最小占比为1/2的需求数量为10,因此针对业务类型A的不等式为2x+y≥10。
在上述第二个不等式中,方案y可以在FPGA卡上划分出2个1/4可重构区域,方案z可以在FPGA卡上划分出4个1/4可重构区域,业务类型B和C对可重构区域最小占比为1/4的需求数量为15,因此针对业务类型B和C的不等式为2y+4z≥5+10。
在上述第三个不等式中,FPGA卡的总数为9个,因此方案x、方案y和方案z的总数不大于9。
根据上述不等式组得到x=2,y=6,z=,1或者x=3,y=4,z=2,或者x=4,y=2,z=3,或者x=5,y=0,z=4。根据实际需求选择上述方程组的解,即x、y、z的数量。
在一些实施例中,需要尽可能多的可重构区域数,因此会选择x=2,y=6,z=,1即使用方案x划分2个FPGA卡,使用方案y划分6个FPGA卡以及使用方案z划分1个FPGA卡。
步骤S203,服务器根据制定的划分可重构区域的方案,划分所述FPGA卡的可重构区域。
在一些实施例中,服务器根据制定的划分可重构区域的方案,划分所述FPGA卡的可重构区域。
在一些实施例中,有多个制定的划分可重构区域的方案的情况下,根据实际需求,如需要尽可能多的可重构区域数,或需要尽可能少的可重构区域数,选择相应的制定的划分可重构区域的方案,划分所述FPGA卡的可重构区域。
例如,在上述实施例中,若实际需求为需要尽可能多的可重构区域数,选择x=2,y=6,z=1,即使用方案x划分2个FPGA卡,使用方案y划分6个FPGA卡以及使用方案z划分1个FPGA卡;若实际需求为需要尽可能少的可重构区域数,选择x=5,y=0,z=4,即使用方案x划分5个FPGA卡,使用方案y划分0个FPGA卡以及使用方案z划分4个FPGA卡。
如此,基于所述VNF的需求信息以及FPGA卡的状态,划分所述FPGA卡的可重构区域,可以在FPGA卡的冗余不多的情况下,充分利用现有资源,保证不同业务的运行,避免资源不足。
如此,通过获取虚拟化网络功能VNF的需求信息;基于所述VNF的需求信息以及FPGA卡的状态,划分所述FPGA卡的可重构区域。可以实现根据业务的实际需求来动态的划分FPGA卡的可重构区域。服务器根据所有业务的需求信息计算出上层应用VNF的业务类型数量后,实现动态划分FPGA卡的可重构区域,实现FPGA卡的最优利用。结合VNF的需求信息中的业务类型、各业务类型的可重构区域最小占比、和每个业务类型的需求数量划分FPGA卡的可重构区域,避免划分区域过少造成FPGA资源浪费。
图5示出了本申请实施例提供的一种资源管理方法的可选流程示意图二,将根据各个步骤进行说明。
步骤S401,获取至少一个VNF的需求信息。
在一些实施例中,服务器获取至少一个VNF的需求信息,且所述至少一个VNF的需求信息相同的数量大于或等于第一阈值的情况下,进行步骤S402;在所述至少一个VNF的需求信息相同的数量小于第一阈值的情况下,结束流程。
在再一些实施例中,所述至少一个VNF的需求信息中包含的业务类型较少,或者所述至少一个VNF的需求信息中包含的业务类型的可重构区域最小占比基本相同的情况下,认为所述至少一个VNF的需求信息相同。
在另一些实施例中,所述第一阈值为预先设置的值。
步骤S402,基于所述VNF的需求信息以及FPGA卡的状态,划分所述FPGA卡的可重构区域。
在一些实施例中,所述FPGA卡的状态包括:所述FPGA卡中已划分的可重构区域数量、可重构区域的虚拟功能VF个数、FPGA卡允许划分的最大可重构区域数量中至少一项。
在一些实施例中,FPGA卡中存在已划分的可重构区域的情况下,不再重新划分已划分的可重构区域,根据所述VNF的需求信息,为FPGA卡已划分的可重构区域配置任务。
如此,在服务器获取至少一个VNF的需求信息,且所述至少一个VNF的需求信息相同的数量大于或等于第一阈值的情况下,在环境部署阶段,由服务器进行批量的可重构区域划分,节约业务部署的时间。
图6示出了本申请实施例提供的资源管理方法的可选流程示意图三,将根据各个步骤进行说明。
步骤S501,接收部署VNF请求。
在一些实施例中,服务器外部虚拟模块向服务器发送上层业务相关的部署VNF请求,服务器接收所述部署VNF请求,并制定相应的VNF部署方案。包括:部署VNF的位置、FPGA卡的资源划分方案中至少一种。
步骤S502,获取VNF的需求信息。
在一些实施例中,服务器内部管理业务类型相关VNF的资源需求的虚拟模块向服务器发送VNF的需求信息,服务器获取VNF的需求信息,所述VNF需求信息包括:业务类型、各业务类型的可重构区域最小占比、和每个业务类型的需求数量中至少一项。
在一些实施例中,所述管理业务类型相关VNF的资源需求的虚拟模块为VNFM。
步骤S503,根据不同业务类型的可重构区域最小占比以及所述FPGA卡的状态,制定划分FPGA卡的不同方案。
在一些实施例中,所述FPGA卡的状态包括:所述FPGA卡中已划分的可重构区域数量、可重构区域的虚拟功能VF个数、FPGA卡允许划分的最大可重构区域数量中至少一项。
在一些实施例中,FPGA卡中存在已划分的可重构区域的情况下,不再重新划分已划分的可重构区域,根据所述VNF的需求信息,为FPGA卡已划分的可重构区域配置任务。
在一些实施例中,所述可重构区域最小占比为业务类型所需的相对于可重构区域的最小区域与所述可重构区域的比值。
例如,业务类型为A的业务,需要的最小区域为一半可重构区域,则所述业务类型为A的业务的可重构区域最小占比为1/2。
在一些实施例中,服务器根据不同业务类型的可重构区域最小占比,制定划分FPGA卡的不同方案包括:服务器根据不同业务类型对应的可重构区域最小占比,制定划分FPGA卡的方案,使所述FPGA卡能够为至少一种业务提供相应的最小可重构区域。
在另一些实施例中,将所述FPGA卡中不同可重构区域最小占比的数量与相应的可重构区域最小占比的乘积,相加得到的值为1。
仍以上述表1为例,所述业务类型对应的可重构区域最小占比包括1/2和1/4,相应地,在FPGA卡中不存在已划分可重构区域的情况下,服务器制定3种划分FPGA卡的方案,图7示出了本申请实施例提供的三种划分FPGA卡的方案的示意图二,包括:
方案x 601,在FPGA卡上划分2个1/2可重构区域,能够支持业务类型为A的业务。
方案y 602,在FPGA卡上划分1个1/2可重构区域和2个1/4可重构区域,能够支持业务类型为A、B和/或C的业务
方案z 603,在FPGA卡上划分4个1/4可重构区域,能够支持业务类型为B和/或C的业务。
步骤S504,根据所述制定划分FPGA卡的方案,制定划分可重构区域的方案。
在一些实施例中,服务器根据所述制定划分FPGA卡的方案,制定划分可重构区域的方案,使划分后的FPGA卡满足所有业务类型的需求数量。
在一些实施例中,针对每个业务类型划分的可重构区域数量大于或等于所述每个业务类型的需求数量;被划分可重构区域的FPGA卡的数量小于FPGA卡的总数。
例如,FPGA卡的总数为9,以表1为例,结合划分FPGA卡的3中方案,划分可重构区域的方案为:
Figure BDA0002288818810000111
在上述不等式组中,所述x为本实施例划分可重构区域的方案中,根据方案x划分FPGA卡的数量;所述y为本实施例划分可重构区域的方案中,根据方案y划分FPGA卡的数量;所述z为本实施例划分可重构区域的方案中,根据方案z划分FPGA卡的数量。
其中,在上述第一个不等式中,方案x可以在FPGA卡上划分出2个可重构区域最小占比为1/2的可重构区域;方案y可以在FPGA卡上划分出1个可重构区域最小占比为1/2的可重构区域,业务类型A对可重构区域最小占比为1/2的需求数量为10,因此针对业务类型A的不等式为2x+y≥10。
在上述第二个不等式中,方案y可以在FPGA卡上划分出2个1/4可重构区域,方案z可以在FPGA卡上划分出4个1/4可重构区域,业务类型B和C对可重构区域最小占比为1/4的需求数量为15,因此针对业务类型B和C的不等式为2y+4z≥5+10。
在上述第三个不等式中,FPGA卡的总数为9个,因此方案x、方案y和方案z的总数不大于9。
根据上述不等式组得到x=2,y=6,z=,1或者x=3,y=4,z=2,或者x=4,y=2,z=3,或者x=5,y=0,z=4。根据实际需求选择上述方程组的解,即x、y、z的数量。
在一些实施例中,需要尽可能多的可重构区域数,因此会选择x=2,y=6,z=1,即使用方案x划分2个FPGA卡,使用方案y划分6个FPGA卡以及使用方案z划分1个FPGA卡。
步骤S505,服务器根据制定的划分可重构区域的方案,划分所述FPGA卡的可重构区域。
在一些实施例中,服务器根据制定的划分可重构区域的方案,划分所述FPGA卡的可重构区域。
在一些实施例中,有多个制定的划分可重构区域的方案的情况下,根据实际需求,如需要尽可能多的可重构区域数,或需要尽可能少的可重构区域数,选择相应的制定的划分可重构区域的方案,划分所述FPGA卡的可重构区域。
例如,在上述实施例中,若实际需求为需要尽可能多的可重构区域数,选择x=2,y=6,z=1,即使用方案x划分2个FPGA卡,使用方案y划分6个FPGA卡以及使用方案z划分1个FPGA卡;若实际需求为需要尽可能少的可重构区域数,选择x=5,y=0,z=4,即使用方案x划分5个FPGA卡,使用方案y划分0个FPGA卡以及使用方案z划分4个FPGA卡。
如此,通过获取虚拟化网络功能VNF的需求信息;基于所述VNF的需求信息以及现场可编程逻辑门阵列FPGA卡的状态,划分所述FPGA卡的可重构区域。可以实现根据业务的实际需求来动态的划分FPGA卡的可重构区域。由服务器根据所有业务的需求信息计算出上层应用VNF的种类数量后,实现动态划分FPGA卡的可重构区域,达到FPGA卡的最优利用。同时,结合VNF的需求信息中的业务类型、各业务类型的可重构区域最小占比、和每个业务类型的需求数量划分FPGA卡的可重构区域,避免划分区域过少造成FPGA资源浪费。
图8示出了本申请实施例提供的资源管理装置的可选结构示意图一,将根据各个部分进行说明。
服务器700,包括获取单元701以及划分单元702。
所述获取单元701,用于获取虚拟化网络功能VNF的需求信息。
在一些实施例中,所述获取单元701为网络功能虚拟化编排器(NetworkFunctions Virtualisation Orchestrator,NFVO)。
所述划分单元702,用于基于所述VNF的需求信息以及现场可编程逻辑门阵列FPGA卡的状态,划分所述FPGA卡的可重构区域。
在一些实施例中,所述划分单元702为部分可重构管理器(PartialReconfiguration Manager,PRM)。
所述获取单元701,还用于接收部署VNF请求;基于所述部署VNF请求,获取下述VNF的需求信息中的至少一项:
业务类型、各业务类型的可重构区域最小占比、和每个业务类型的需求数量。
所述划分单元702,还用于基于所述VNF的需求信息以及下述FPGA卡的状态中的至少一项,划分所述FPGA卡的可重构区域:
所述FPGA卡中已划分的可重构区域数量、可重构区域的虚拟功能VF个数、FPGA卡允许划分的最大可重构区域数量。
所述划分单元702,还用于在获取至少一个VNF的需求信息,且所述VNF的需求信息相同的数量大于或等于第一阈值的情况下,对所述至少一个FPGA卡进行相同的可重构区域的划分。
所述划分单元702,还用于针对每个业务类型划分的可重构区域数量大于或等于所述每个业务类型的需求数量;被划分可重构区域的FPGA卡的数量小于FPGA卡的总数。
图9示出了本申请实施例提供的资源管理装置的可选结构示意图二,将根据各个部分进行说明。
NFVO,用于接收VNF部署请求,制定VNF的部署方案,所述VNF的部署方案包括:VNF的部署位置、FPGA卡加速资源的划分方案。
所述NFVO,还用于从虚拟化网络功能管理(Virtualized Network FunctionManager,VNFM)获取VNF的FPGA卡加速需求和VNF的需求信息。
所述NFVO,还用于分析可重构区域划分方案,包括:通过部分可重构管理器收集各节点下的VF个数、FPGA卡允许划分的最大可重构区域数量。
所述NFVO,还用于根据所述可重构区域划分方案请求部分可重构管理器实施可重构区域划分。在FPGA卡存在已划分的可重构区域的情况下,不再重新划分可重构区域,VNF的部署方案根据已划分的可重构区域进行规划,向已划分的可重构区域分配任务。
VNFM,用于管理VNF的需求信息,以及向所述NFVP发送所述VNF的需求信息。
虚拟化基础设施管理器(Virtualised Infrastructure Manager,VIM),用于控制和管理虚拟化资源,包括:VNF虚拟机部署和对应的加速器资源的绑定。
部分可重构管理器(Partial Reconfiguration Manager,PRM),用于调用FPGA卡驱动实现部分可重构管理,包括:可重构区域划分、VF设置、可重构区域允许划分的区域、最大可重构区域数量的查询中至少一种。
所述PRM,还用于通过驱动配置FPGA卡,包括配置FPGA卡的可重构区域、设置VF中至少一种。
所述PRM,还用于收集各节点的数据,并上报给NFVO,在所述NFVO中形成统一的视图,以供查询可重构区域、VF信息、允许划分的最大可重构区域的数量中至少一种信息。
FPGA卡驱动,为针对不同类型FPGA卡网卡的驱动管理器。用于向部分可重构管理器提供统一的接口,包括:划分可重构区域、VF设置、可重构区域以及VF信息查询中至少一种。
如此,通过引入PRM,由PRM调用FPGA驱动实现可重构区域的动态划分。从装置角度设置可重构区域的最大可重构区域数量,从业务需求的角度设置可重构区域最低占比,避免划分区域过多造成编译时布局、布线的灵活度降低;结合VNF的需求信息中的业务类型、各业务类型的可重构区域最小占比、和每个业务类型的需求数量划分FPGA卡的可重构区域,避免划分区域过少造成FPGA资源浪费。
图10示出了本申请实施例提供的资源管理装置的可选结构示意图三,将根据各个部分进行说明。
PRM810,在NVFP获取至少一个VNF的需求信息,所述至少一个VNF的需求信息相同的数量大于或等于第一阈值的情况下,用于通过节点801的FPGA卡驱动804,和/或节点802的FPGA驱动806,和/或节点803的FPGA驱动808,分别配置节点801的FPGA卡805,和/或节点802的FPGA卡807,和/或节点803的FPGA卡809;所述配置FPGA卡,包括配置FPGA卡的可重构区域、设置VF中至少一种。
FPGA卡驱动,用于向PRM810提供统一的接口,包括:划分可重构区域、VF设置、可重构区域以及VF信息查询中至少一种。
如此,在NVFO获取至少一个VNF的需求信息,且所述至少一个VNF的需求信息相同的数量大于或等于第一阈值的情况下,在环境部署阶段,由PRM810进行批量的可重构区域划分,节约业务部署的时间。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序命令相关的硬件来完成,前述的程序可以存储于一存储介质中,该程序在执行时,执行在第一应用运行过程中接收到基于第二应用的通知消息时,在装置屏幕上的第一区域响应所述通知消息;其中,所述第一区域小于单独运行第二应用时加载的输入法应用在所述装置屏幕上对应的区域。而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种资源管理方法,其特征在于,所述方法包括:
获取虚拟化网络功能VNF的需求信息;
基于所述VNF的需求信息以及现场可编程逻辑门阵列FPGA卡的状态,划分所述FPGA卡的可重构区域。
2.根据权利要求1所述的方法,其特征在于,所述获取VNF的需求信息包括:
接收部署VNF请求;
基于所述部署VNF请求,获取下述VNF的需求信息中的至少一项:
业务类型、各业务类型的可重构区域最小占比和每个业务类型的需求数量。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述VNF的需求信息以及FPGA卡的状态,划分所述FPGA卡的可重构区域,包括:
基于所述VNF的需求信息以及下述FPGA卡的状态中的至少一项,划分所述FPGA卡的可重构区域:
所述FPGA卡中已划分的可重构区域数量、可重构区域的虚拟功能VF个数和FPGA卡允许划分的最大可重构区域数量。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在获取至少一个VNF的需求信息,且所述VNF的需求信息相同的数量大于或等于第一阈值的情况下,对所述至少一个FPGA卡进行相同的可重构区域的划分。
5.根据权利要求3所述的方法,其特征在于,基于所述VNF的需求信息以及FPGA卡的状态,划分所述FPGA卡的可重构区域,包括:
针对每个业务类型划分的可重构区域数量大于或等于所述每个业务类型的需求数量;
被划分可重构区域的FPGA卡的数量小于FPGA卡的总数。
6.一种资源管理装置,其特征在于,所述装置包括:
获取单元,用于获取虚拟化网络功能VNF的需求信息;
划分单元,用于基于所述VNF的需求信息以及现场可编程逻辑门阵列FPGA卡的状态,划分所述FPGA卡的可重构区域。
7.根据权利要求6所述的装置,其特征在于,
所述获取单元,还用于接收部署VNF请求;基于所述部署VNF请求,获取下述VNF的需求信息中的至少一项:
业务类型、各业务类型的可重构区域最小占比和每个业务类型的需求数量。
8.根据权利要求6或7所述的装置,其特征在于,
所述划分单元,还用于基于所述VNF的需求信息以及下述FPGA卡的状态中的至少一项,划分所述FPGA卡的可重构区域:
所述FPGA卡中已划分的可重构区域数量、可重构区域的虚拟功能VF个数和FPGA卡允许划分的最大可重构区域数量。
9.根据权利要求6所述的装置,其特征在于,
所述划分单元,还用于在获取至少一个VNF的需求信息,且所述VNF的需求信息相同的数量大于或等于第一阈值的情况下,对所述至少一个FPGA卡进行相同的可重构区域的划分。
10.根据权利要求8所述的装置,其特征在于,
所述划分单元,还用于针对每个业务类型划分的可重构区域数量大于或等于所述每个业务类型的需求数量;
被划分可重构区域的FPGA卡的数量小于FPGA卡的总数。
11.一种存储介质,存储有可执行程序,所述可执行程序被处理器执行时,实现权利要求1至5任一项所述的资源管理方法。
12.一种资源管理装置,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序,其特征在于,所述处理器运行所述可执行程序时执行如权利要求1至5任一项所述资源管理方法的步骤。
CN201911171419.2A 2019-11-26 2019-11-26 一种资源管理方法、装置及存储介质 Pending CN112860618A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911171419.2A CN112860618A (zh) 2019-11-26 2019-11-26 一种资源管理方法、装置及存储介质
PCT/CN2020/129005 WO2021104075A1 (zh) 2019-11-26 2020-11-16 资源管理方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911171419.2A CN112860618A (zh) 2019-11-26 2019-11-26 一种资源管理方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN112860618A true CN112860618A (zh) 2021-05-28

Family

ID=75984712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911171419.2A Pending CN112860618A (zh) 2019-11-26 2019-11-26 一种资源管理方法、装置及存储介质

Country Status (2)

Country Link
CN (1) CN112860618A (zh)
WO (1) WO2021104075A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104951353A (zh) * 2014-03-28 2015-09-30 华为技术有限公司 一种对vnf实现加速处理的方法及装置
CN105306241A (zh) * 2014-07-11 2016-02-03 华为技术有限公司 一种业务部署方法及网络功能加速平台
CN107222531A (zh) * 2017-05-23 2017-09-29 北京科技大学 一种容器云资源调度方法
CN107408058A (zh) * 2015-10-31 2017-11-28 华为技术有限公司 一种虚拟资源的部署方法、装置及系统
CN110098946A (zh) * 2018-01-31 2019-08-06 华为技术有限公司 虚拟化网元设备的部署方法以及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10101387B1 (en) * 2017-02-09 2018-10-16 Intel Corporation Sharing a JTAG interface among multiple partitions
CN108182168A (zh) * 2017-12-27 2018-06-19 电子科技大学 一种支持动态可重构的一体化数字信号处理系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104951353A (zh) * 2014-03-28 2015-09-30 华为技术有限公司 一种对vnf实现加速处理的方法及装置
CN105306241A (zh) * 2014-07-11 2016-02-03 华为技术有限公司 一种业务部署方法及网络功能加速平台
CN107408058A (zh) * 2015-10-31 2017-11-28 华为技术有限公司 一种虚拟资源的部署方法、装置及系统
CN107222531A (zh) * 2017-05-23 2017-09-29 北京科技大学 一种容器云资源调度方法
CN110098946A (zh) * 2018-01-31 2019-08-06 华为技术有限公司 虚拟化网元设备的部署方法以及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
范宏伟;胡宇翔;兰巨龙: "基于FPGA的虚拟网络功能数据包处理加速架构", 《计算机工程》, vol. 44, no. 8, pages 112 - 119 *

Also Published As

Publication number Publication date
WO2021104075A1 (zh) 2021-06-03

Similar Documents

Publication Publication Date Title
CN108614726B (zh) 虚拟机创建方法及装置
CN111966500B (zh) 资源调度方法、装置、电子设备及存储介质
CN108549583B (zh) 大数据处理方法、装置、服务器及可读存储介质
CN115328663A (zh) 基于PaaS平台进行资源调度的方法、装置、设备和存储介质
CN103414767A (zh) 将应用软件部署在云计算平台上的方法和装置
CN111309440B (zh) 一种多类型gpu的管理调度的方法和设备
EP4187813A1 (en) Resource distribution method for cloud service and related device
CN104598316A (zh) 一种存储资源分配方法及装置
CN104754008A (zh) 网络存储节点、网络存储系统以及用于网络存储节点的装置和方法
Deng et al. A data and task co-scheduling algorithm for scientific cloud workflows
CN111736957A (zh) 多类型业务的混合部署方法、装置、设备及存储介质
CN112395269A (zh) MySQL高可用组的搭建方法及装置
CN111767139A (zh) 一种跨地域多数据中心资源云服务建模方法及系统
CN110795202B (zh) 一种虚拟化集群资源管理系统的资源分配方法以及装置
CN114565502A (zh) Gpu资源管理方法、调度方法、装置、电子设备及存储介质
CN102427468A (zh) 一种云计算操作系统及其调度方法
CN112860618A (zh) 一种资源管理方法、装置及存储介质
CN111475277A (zh) 一种资源分配方法、系统、设备及机器可读存储介质
CN111427682B (zh) 任务分配方法、系统、装置及设备
CN104657240A (zh) 多内核操作系统的失效控制方法及装置
CN113672347A (zh) 一种容器组调度方法及装置
CN112631716A (zh) 数据库容器调度方法、装置、电子设备及存储介质
CN112612579A (zh) 虚拟机部署方法、存储介质及计算机设备
CN112988383A (zh) 一种资源分配方法、装置、设备以及存储介质
CN117891618B (zh) 人工智能模型训练平台的资源任务处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination