CN109976876A - 加速器管理方法和装置 - Google Patents

加速器管理方法和装置 Download PDF

Info

Publication number
CN109976876A
CN109976876A CN201910215413.4A CN201910215413A CN109976876A CN 109976876 A CN109976876 A CN 109976876A CN 201910215413 A CN201910215413 A CN 201910215413A CN 109976876 A CN109976876 A CN 109976876A
Authority
CN
China
Prior art keywords
accelerator
data
sent
firmware
terminal
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.)
Granted
Application number
CN201910215413.4A
Other languages
English (en)
Other versions
CN109976876B (zh
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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201910215413.4A priority Critical patent/CN109976876B/zh
Publication of CN109976876A publication Critical patent/CN109976876A/zh
Application granted granted Critical
Publication of CN109976876B publication Critical patent/CN109976876B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

本公开提供了一种加速器管理方法,该方法应用于具有多个分支结构的边缘计算系统。该方法包括:获取终端发送的待处理信息,该待处理信息包括加速器参数及待处理数据;确定与加速器参数匹配的第一加速器;以及将待处理数据发送至第一加速器,以使第一加速器对待处理数据进行处理,得到处理后数据,其中,终端与第一加速器属于边缘计算系统的同一分支结构。本公开还提供了一种加速器管理装置。

Description

加速器管理方法和装置
技术领域
本公开涉及一种加速器管理方法和装置。
背景技术
虚拟机性能是电信级云解决方案NFV(Network Function Virtualization,网络功能虚拟化)的关键技术指标,目前通过使用硬件加速器卡,来提高虚拟机性能已成为技术关键路径。
在实现本公开构思的过程中,发明人发现现有技术中至少存在如下问题:通常,在虚拟机中配置与加速器卡相对应的驱动,以使得虚拟机能够将待处理数据传输给相应的加速器卡以进行处理。而若虚拟机由于不同任务需求,需要调用多种不同种类的加速器卡时,该虚拟机中则需要配置多种不同类型的驱动,虚拟机中代码无疑会存在冗余的问题。再者,由于运营商机房尤其是边缘侧机房空间和承重有限,且加速器卡价格昂贵,种类繁多,如何提高加速器卡单卡的处理密度,对不同种类加速器卡进行统一管理,已成为运营商的核心需求。
发明内容
本公开的一个方面提供了一种用于提高加速器处理密度的加速器管理方法。该方法应用于具有多个分支结构的边缘计算系统,具体包括:获取终端发送的待处理信息,该待处理信息包括加速器参数及待处理数据;确定与加速器参数匹配的第一加速器;以及将待处理数据发送至第一加速器,以使第一加速器对待处理数据进行处理,得到处理后数据,其中,终端与第一加速器属于边缘计算系统的同一分支结构。
可选地,上述将待处理数据发送至第一加速器包括:将待处理数据通过与第一加速器对应的插件发送至第一加速器。
可选地,上述加速器管理方法还包括:通过与第一加速器对应的插件接收第一加速器发送的处理后数据;以及将处理后数据反馈给终端。
可选地,上述多个分支结构中的至少一个分支结构还包括服务器,该服务器中配置有至少一个加速器,上述加速器管理方法还包括:获取至少一个加速器的状态信息及属性参数,该状态信息用于表征是否配置有业务逻辑功能;展示第二加速器的属性参数,该第二加速器包括状态信息表征未配置业务逻辑功能的加速器;响应于用户操作,确定第二加速器中的待配置加速器;获取与待配置加速器对应的功能参数;以及根据功能参数,为待配置加速器配置与功能参数匹配的业务逻辑功能,其中,加速器参数包括属性参数和功能参数。
可选地,上述加速器管理方法还包括:在待配置加速器配置了与功能参数匹配的业务逻辑功能后,接收待配置加速器发送的加速器参数;以及根据待配置加速器发送的加速器参数,将待配置加速器列为备选的第一加速器。
本公开的另一个方面提供了一种加速器管理装置,该装置应用于具有多个分支结构的边缘计算系统,该装置包括应用接口和操作固件。其中,应用接口用于接入终端,以获取终端发送的待处理信息,该待处理信息包括加速器参数及待处理数据。操作固件则用于执行以下操作:确定与加速器参数匹配的第一加速器;以及将待处理数据发送至第一加速器,以使第一加速器对待处理数据进行处理,得到处理后数据。其中,终端与第一加速器属于边缘计算系统的同一分支结构。
可选地,上述加速器管理装置还包括插件,该插件与第一加速器匹配设置,则上述操作固件通过插件将待处理数据发送给第一加速器。
可选地,上述多个分支结构中的至少一个分支结构包括多个终端,该多个终端共享有内存空间,且上述多个终端发送的待处理信息缓存于共享的内存空间中,以供应用接口获取。
可选地,上述插件还用于接收第一加速器发送的处理后数据;以及,上述操作固件还用于将所述插件接收的处理后数据通过应用接口反馈给终端。
可选地,上述多个分支结构中的至少一个分支结构还包括服务器,该服务器配置有至少一个加速器,上述加速器管理装置还包括管理组件及管理固件。其中,管理组件包括探测模块、资源管理模块、固件管理模块及展示模块,其中,探测模块用于获取至少一个加速器的状态信息及属性参数,该状态信息用于表征是否配置有业务逻辑功能。资源管理模块用于执行以下操作:根据至少一个加速器的状态信息,确定第二加速器,该第二加速器包括状态信息表征未配置有业务逻辑功能的加速器;控制展示模块展示第二加速器的属性参数;以及响应于用户操作,确定第二加速器中的待配置加速器。固件管理模块用于执行以下操作:获取与待配置加速器对应的功能参数;以及根据功能参数,控制管理固件为待配置加速器配置与功能参数匹配的业务逻辑功能。其中,加速器参数包括属性参数和功能参数。
可选地,上述操作固件还用于执行以下操作:在待配置加速器配置了与功能参数匹配的业务逻辑功能后,接收待配置加速器发送的加速器参数;以及根据待配置加速器发送的加速器参数,将待配置加速器列为备选的第一加速器。
本公开的另一方面提供了一种管理芯片,包括存储单元,所述存储单元存储有计算机可执行指令,该指令被处理器执行时使处理器执行上述的加速器管理方法。
本公开的另一方面提供了一种电子设备,包括一个或多个处理器;以及管理芯片,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行上述的加速器管理方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了本公开实施例的加速器管理方法和装置的应用场景图;
图2示意性示出了本公开第一实施例的加速器管理装置的结构框图;
图3示意性示出了本公开第一实施例的加速器管理方法的流程图;
图4示意性示出了图2中加速器管理装置的工作原理图;
图5示意性示出了本公开第二实施例的加速器管理装置的结构框图;
图6示意性示出了本公开第二实施例的加速器管理方法的流程图;
图7示意性示出了本公开第三实施例的加速器管理装置的结构框图;
图8示意性示出了本公开第三实施例的加速器管理方法的流程图;
图9示意性示出了图7中加速器管理装置的工作原理图;
图10示意性示出了本公开实施例的加速器管理装置的应用场景图;以及
图11示意性示出了采用本公开实施例的加速器管理装置时加速器性能与现有技术中加速器性能的对比图;
图12示意性示出了本公开实施例的适于执行加速器管理方法的电子设备的结构框图。
具体实施例方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种加速器管理方法和装置。其中,加速器管理方法应用于具有多个分支结构的边缘计算系统,该方法具体包括:获取终端发送的待处理信息,该待处理信息包括加速器参数及待处理数据;确定与加速器参数匹配的第一加速器;以及将待处理数据发送至第一加速器,以使第一加速器对待处理数据进行处理,得到处理后数据,其中,终端与第一加速器属于边缘计算系统的同一分支结构。
本公开实施例的加速器管理方法,在终端需要调用加速器时,根据终端发送的加速器参数确定配置有匹配的业务逻辑功能的加速器为被调用的加速器,从而可以使得需要调用相同参数加速器的不同终端可以调用同一加速器,或者需要调用不同参数加速器的同一终端可以调用不同加速器,而无需为每个终端设置唯一配对的加速器。因此,可以在一定程度上提高虚拟机的灵活性,提高加速器的单卡处理密度。
图1示意性示出了根据本公开实施例的加速器管理方法和装置的应用场景图。需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,本公开实施例的应用场景100包括边缘计算系统,该边缘计算系统包括有中心控制器110和多个分支结构120、130、140、150,多个分支结构120、130、140、150中的每一个设置于靠近物或数据源头的一侧,用于就近提供最近的智能服务,以满足低反应延迟的需求。
其中,多个分支结构120、130、140、150中的每个分支结构例如可以分别包括有服务器,则该四个分支结构的服务器例如可以分别构建有虚拟机121、131、141、151,以用于对数据进行处理。其中,每个分支结构包括的服务器个数及构建的虚拟机个数可以根据实际需求进行设定。例如,分支结构120可以包括有一个服务器,依托于该一个服务器,可以构建有三个虚拟机。
根据本公开的实施例,为了提高虚拟机性能,该多个分支结构120、130、140、150中的至少一个分支结构包括的服务器中,例如还可以配置有硬件加速器卡122、132、142、152,以用于处理对应分支结构构建的虚拟机中需处理的数据。根据本公开的实施例,硬件加速器卡122、132、142、152可以根据实际需求选择不同的型号及设置不同的功能,例如,该硬件加速器可以选用英特尔公司的QAT加速器、XILINX(赛灵思)加速器或其他任意型号品牌的加速器,硬件加速卡具体例如可以是ASIC芯片或FPGA芯片等。
根据本公开的实施例,考虑到现有技术中在使用硬件加速器来提高虚拟机性能时,往往需要将虚拟机与硬件加速器对应起来。即在虚拟机中写入对应的硬件加速器的驱动程序,才能使得虚拟机调用对应的硬件加速器。但考虑到虚拟机在执行不同任务时,可能需要用到不同的硬件加速器,则需要在虚拟机中写入不同类型的硬件加速器的驱动程序,以使得虚拟机可以调用各种不同的加速器。这无疑会使得虚拟机中的代码冗余,并因此降低虚拟机的灵活性。
因此,为了解决上述问题,本公开实施例可以在各个分支结构的服务器中集成管理芯片,并基于该管理芯片建立加速器管理装置,来对多个分支结构包括的多个加速器进行统一管理,并在虚拟机与加速器之间建立交互桥梁,根据每个虚拟机的实际需求调用对应的加速器,而无需在每个虚拟机中写入多个不同类型的驱动程序,并因此提高虚拟机的灵活性,提高单个加速器的处理密度。
根据本公开的实施例,中心控制器110例如可以是具有显示屏的终端设备,以用于通过与用户的交互为多个加速器配置业务逻辑功能。该终端设备例如可以包括但不限于手机、智能手表、平板电脑、膝上型便携计算机和台式计算机等。
需要说明的是,本公开实施例提供的加速器管理方法一般可以由边缘计算系统来执行。相应地,本公开实施例所提供的加速器管理装置一般可以设置于边缘计算系统中,提供的管理芯片可以设置于各个分支结构的服务器中或者中心控制器中。本公开实施例所提供的加速器管理方法也可以由不同于边缘计算系统且能够与边缘计算系统通信的服务器或服务器集群执行。相应地,本公开实施例所提供的加速器管理装置也可以设置于不同于边缘计算系统且能够与边缘计算系统通信的服务器或服务器集群中。
应该理解,图1中各个分支结构包括的服务器个数和类型、构建的虚拟机个数及设置的加速器个数和类型、以及多个分支结构的个数仅仅是示意性的。根据实现需要,可以具有任意数目及类型的分支结构、虚拟机和加速器。
图2示意性示出了本公开第一实施例的加速器管理装置的结构框图;
图3示意性示出了该实施例的加速器管理方法的流程图;图4示意性示出了图2中加速器管理装置的工作原理图。
如图2所示,本公开实施例的加速器管理装置200包括有应用接口210和操作固件220。该应用接口210和操作固件220具体例如可以设置于每个分支机构包括的服务器中,以用于连接每个分支结构构建的虚拟机与设置的加速器。
其中,应用接口210用于接入终端,以获取终端发送的待处理信息。根据本公开的实施例,终端发送的待处理信息中可以包括有加速器参数及待处理数据。其中,如图4所示,加速器参数例如可以包括有加速器厂商ID(vendor)、加速器类型(model)、加速器所具有的业务逻辑功能(function)及加速器特征(feature)等。具体地,终端发送的待处理信息,具体可以是按照消息格式封装后的信息,该信息头部标明加速器参数,该信息主体是要处理的数据。封装后的信息,通过该应用接口210传送给操作固件220。可以理解的是,该终端发送的待处理信息例如也可以在应用接口210处进行消息格式封装,本公开对此不作限定。
根据本公开的实施例,上述终端即为该应用接口210所在的分支结构的虚拟机。具体地,如图4所示,该终端可以是用于执行移动边缘计算(Mobile Edge Computing,MEC)的虚拟机,该虚拟机中设置有数据面开发套件(Data Plane Development Kit,DPDK),以用于提高网络数据面性能。该终端通过应用接口210实现与加速器管理装置200的通信连接。
根据本公开的实施例,如图4所示,一个分支结构例如可以包括有多个终端,该多个终端可以共享有同一内存空间,且该多个终端发送的待处理信息可以缓存于该共享的内存空间中,以供应用接口210获取。通过该方式,可以将加速器管理装置的内存直接映射至虚拟机,从而减少数据传输延时,提高数据处理效率。
其中,操作固件220用于执行以下操作:确定与应用接口获取的待处理信息中加速器参数匹配的第一加速器;以及将待处理信息中的待处理数据发送至第一加速器,以使第一加速器对待处理数据进行处理,得到处理后数据。其中,确定匹配的第一加速器与发送待处理信息的终端属于边缘计算系统的同一分支结构。
根据本公开的实施例,该操作固件220具体用于执行以下操作:先对应用接口210获取的待处理信息进行解析,得到加速器参数和待处理数据;然后根据加速器参数,确定其所在的分支结构设置的各个加速器中是否存在与加速器参数匹配的加速器;在确定有匹配的加速器时,则将解析得到的待处理数据发送给匹配的加速器,以调用匹配的加速器对待处理数据进行处理。
根据本公开的实施例,如图4所示,每个分支结构可以根据业务逻辑功能的不同设置多个加速器,例如可以包括配置有业务逻辑功能Fa的加速器Aa、配置有业务逻辑功能Fb的加速器Ab及配置有业务逻辑功能Fc的加速器Ac。则当虚拟机1发送的待处理信息中加速器参数的业务逻辑功能为Fa时,通过操作固件220的操作,即可将待处理信息中的待处理数据分配给加速器Aa。同样,当虚拟机2发送的待处理信息中加速器参数的业务逻辑功能也为Fa时,操作固件220同样可以将该虚拟机2发送的待处理信息中待处理数据分配给加速器Aa。即,不同的虚拟机发送的需要处理的数据可以发送给同一加速器,同理,同一虚拟机发送的需要处理的不同的数据可以发送给不同的加速器。
综上可知,由于终端发送的待处理信息是按预定格式封装的信息,且该信息中具有加速器参数,则根据加速器参数,经由加速器管理装置即可实现对匹配的加速器的调用,而无需在终端中写入匹配的加速器的驱动程序,从而可以使得终端与加速器全面解耦,使得终端可以调用不同类型的加速器,并因此可以提高终端的灵活性。
如图3所示,本公开实施例的加速器管理装置可以用于执行加速器管理方法,该加速器管理方法包括操作S301~操作S303。
在操作S301,获取终端发送的待处理信息,该待处理信息包括加速器参数及待处理数据。根据本公开的实施例,该操作S301具体例如可以由参考图2中的应用接口210执行,在此不再赘述。
在操作S302,确定与加速器参数匹配的第一加速器;在操作S303,将待处理数据发送至第一加速器,以使第一加速器对待处理数据进行处理,得到处理后数据。根据本公开的实施例,该操作S302~操作S303具体例如可以由参考图2中的操作固件220执行,在此不再赘述。
图5示意性示出了本公开第二实施例的加速器管理装置的结构框图。
图5所示,本公开实施例的加速器管理装置200例如还可以包括有插件530,以用于实现对多种不同类型加速器的统一调用。
其中,如图4所示,该插件530具体可以是与第一加速器匹配设置的。在本公开的实施例中,该插件530可以包括有与加速器Aa匹配的插件Pa、与加速器Ab匹配的插件Pb及与加速器Ac匹配的插件Pc。则在操作固件220向确定匹配的第一加速器发送待处理处理时,可以是通过该插件530发送的。相应地,参考图3中的操作S303中,将待处理数据发送至第一加速器的操作具体即为:将待处理数据通过与第一加速器对应的插件发送至第一加速器。
根据本公开的实施例,加速器管理装置200具体例如可以是由软件代码和硬件固件共同组成的加速器统一框架,北向对虚拟机应用软件提供统一封装的应用API接口(应用接口),南向通过插件530完成对不同类型加速器的统一调用。从而达到北向虚拟机应用在不修改任何代码的情况下,即可使用到不同种类加速器的效果,从而达到虚拟机应用和加速器全面解耦的效果。
图6示意性示出了第二实施例的加速器管理方法的流程图。
如图6所示,本公开实施例的加速器管理方法除了操作S301~操作S303外,例如还可以包括操作S604和操作S605。其中,该操作S604~操作S605例如可以由操作固件220执行。
在操作S604,通过与第一加速器对应的插件接收第一加速器发送的处理后数据。相应地,插件530则还用于接收匹配的第一加速器发送的处理后数据,并将该接收的处理后数据发送给操作固件220。
在操作S605,将接收的处理后数据反馈给终端。具体地,该接收的处理后数据例如可以通过应用接口210发送给终端。且接收的处理后数据例如可以先缓存于图4所示的共享的内存空间中,则该应用接口210可以在终端的调用下,自共享的内存空间中获取缓存的处理后数据。
综上可知,通过该实施例的加速器管理方法,可以实现终端与加速器的双向交互。结合上述的加速器管理方法及图4所示的原理图,该双向交互步骤具体可以包括:首先虚拟机调用加速器管理装置提供的应用接口210发送待处理信息;经由应用接口210,将待处理信息发送给操作固件220;该操作固件220对待处理信息进行解析,根据待处理信息中的加速器参数确定匹配的加速器,并找到与匹配的加速器对应的插件530;操作固件220调用对应的插件530将待处理信息中的待处理数据发送给匹配的加速器;匹配的加速器在对待处理数据处理后,将处理后数据再经由插件530发送给操作固件220;操作固件220通过应用接口210将处理后数据发反馈给终端。
图7示意性示出了本公开第三实施例的加速器管理装置的结构框图。图8示意性示出了该实施例的加速器管理方法的流程图;图9示意性示出了图7中加速器管理装置的工作原理图。
如图7所示,本公开实施例的加速器管理装置200除了应用接口210、操作固件220和插件530外,还可以包括有管理固件740和管理组件750。边缘计算系统包括的多个分支结构中,至少一个分支结构包括有服务器,且该服务器中配置有至少一个加速器。
其中,管理固件740用于在管理组件750的控制下为加速器配置业务逻辑功能。具体地,该管理固件740还可以用于完成对加速器的生命周期管理,例如可以用于控制加速器的开启、关闭及功能烧写等。管理组件750则用于通过与用户的交互,确定待配置的加速器及需要配置的业务逻辑功能。其中,管理固件740可以设置于各个分支结构包括的服务器中,而管理组件750则可以设置于参考图1中的中心控制器110中。
其中,如图7所示,管理组件750具体可以包括探测模块751、资源管理模块752、固件管理模块753及展示模块754。
其中,探测模块751用于获取至少一个加速器的状态信息及属性参数。根据本公开的实施例,该探测模块751具体用于获取边缘计算系统中各个分支结构包括的每个加速器的状态信息和属性参数。其中,状态信息用于表征加速器是否配置有业务逻辑功能,属性参数包括例如可以包括有加速器厂商、加速器类型、加速器特性、加速器位置(所属分支结构)等。根据本公开的实施例,至少一个加速器的状态信息及属性参数例如可以由各个加速器反馈得到。根据本公开的实施例,如图9所示,该管理组件750例如还可以包括有加速器数据库,该加速器数据库维护有各个分支结构包括的加速器的属性参数。则探测模块751还用于将探测得到的至少一个加速器的状态信息及属性信息存储至加速器数据库中。
其中,资源管理模块752用于执行以下操作:根据探测模块751探测得到的至少一个加速器的状态信息,确定第二加速器,该第二加速器包括状态信息表征未配置有业务逻辑功能的加速器;控制展示模块754展示第二加速器的属性参数;以及响应于用户操作,确定第二加速器中的待配置加速器。根据本公开的实施例,该资源管理模块752具体用于:先从加速器数据库中获取所有加速器的状态信息;然后从该所有加速器中筛选得到未配置业务逻辑功能的加速器为第二加速器;然后通过展示模块754将第二加速器的属性参数展示给用户,供用户选择需要配置的加速器;最后根据用户的选择,确定第二加速器中的待配置加速器。
其中,固件管理模块753用于执行以下操作:获取与待配置加速器对应的功能参数;以及根据功能参数,控制管理固件740为待配置加速器配置与功能参数匹配的业务逻辑功能。根据本公开的实施例,该固件管理模块753具体用于:先通过展示模块754向用户展示可配置的业务逻辑功能对应的功能参数,供用户选择需要配置的业务逻辑功能;然后根据用户的选择,确定资源管理模块752中确定的待配置加速器的业务逻辑功能;最后控制与待配置加速器属于同一分支结构的管理固件740,根据业务逻辑功能将确定的业务逻辑功能烧写至待配置加速器中。根据本公开的实施例,图3中操作S301获取的加速器参数具体例如可以包括有上述的加速器的属性参数和功能参数(具体可以是业务逻辑功能)。
相应地,本公开实施例的加速器管理装置200执行的加速器管理方法例如还可以包括对加速器功能进行烧写的操作。具体地,如图8所示,加速器管理方法除了参考图6描述的操作S301~操作S303及操作S604~操作S605外,还可以包括操作S806~操作S810。以下将结合图9中虚线箭头指示的流程对操作S806~操作S810进行详细描述。
在操作S806,获取至少一个加速器的状态信息及属性参数,该状态信息用于表征是否配置有业务逻辑功能。具体地,该操作S806即为获取所有分支结构中,配置的所有加速器的状态信息及属性参数。根据本公开的实施例,该操作S806具体可以由参考图7中的探测模块751执行,在此不再赘述。
在操作S807,展示第二加速器的属性参数,该第二加速器包括状态信息表征未配置业务逻辑功能的加速器。根据本公开的实施例,该操作S807具体可以是由展示模块754在资源管理模块752的控制下执行的。且在该操作S807之前,加速器管理方法例如还可以包括由资源管理模块752执行的筛选操作,用于自至少一个加速器中筛选未配置业务逻辑功能的加速器为第二加速器。
在操作S808,响应于用户操作,确定第二加速器中的待配置加速器。该操作S808具体即为,先由展示模块754接收用户的第一选择操作,并将该第一选择操作反馈给资源管理模块752;然后资源管理模块752根据反馈的第一选择操作,确定用户选择的待配置加速器。
在操作S809,获取与待配置加速器对应的功能参数。根据本公开的实施例,该操作S809具体可以包括:先由固件管理模块753控制展示模块754展示所有的功能参数,供用户选择;然后展示模块754接收用户的第二选择操作,并将该第二选择操作反馈给固件管理模块753;最后固件管理模块753根据反馈的第二选择操作,确定用户需要为待配置加速器配置的功能参数,并根据该功能参数确定匹配的业务逻辑功能。
在操作S810,根据功能参数,为待配置加速器配置与功能参数匹配的业务逻辑功能。根据本公开的实施例,该操作S810具体可以是:固件管理模块753根据资源管理模块752确定的待配置加速器的属性参数,确定待配置加速器所属的分支结构;然后控制与待配置加速器属于同一分支结构的管理固件740,来执行为待配置加速器配置确定的业务逻辑功能的操作。
根据本公开的实施例,为了便于虚拟机对加速器的调用,在管理固件740为待配置加速器配置了业务逻辑功能后,操作固件220还用于接收待配置加速器发送的加速器参数;并根据待配置加速器发送的加速器参数,将待配置加速器列为备选的第一加速器。相应地,该加速器管理装置执行的加速器管理方法还包括有以下操作:在待配置加速器配置了与功能参数匹配的业务逻辑功能后,接收待配置加速器发送的加速器参数;以及根据待配置加速器发送的加速器参数,将待配置加速器列为备选的第一加速器。
根据本公开的实施例,如图9所示,对加速器功能进行烧写的操作具体可以包括:先由探测模块751探测各个加速器的类型、功能以及位置等属性参数;然后将探测模块751得到的探测结果存入加速器数据库中;然后资源管理模块752开始注册探测到的加速器,通过调用固件管理模块753读取对应加速器的固件代码;在固件管理模块753确定了固件代码后,调用管理固件740进行固件烧写,以将相应的固件代码烧写至加速器芯片中,并在烧写完成后,使得加速器芯片在管理固件740的控制下开启;最后加速器芯片在烧写完成后,通知操作固件220注册完成,从而完成加速器及对应插件的注册,以便于在数据处理中虚拟机对加速器的调用。
根据本公开的实施例,通过该管理固件740和管理组件750,例如还可以对加速器芯片进行清除,以将加速器芯片中烧写的固件代码进行清空,便于向加速器芯片中烧写新的固件代码。可以理解的是,清除操作可以采用现有技术中的方法,在此不再赘述。
综上可知,本公开实施例的加速器管理装置及加速器管理方法,可以根据用户的实际需求进行多个分支结构中每个分支结构的加速器的功能配置及注册,从而可以实现对多个加速器的统一调度管理,为虚拟机对加速器的调用奠定基础,有效提高加速器的单卡处理密度。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,探测模块751、资源管理模块752以及固件管理模块753中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,探测模块751、资源管理模块752以及固件管理模块753中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,探测模块751、资源管理模块752以及固件管理模块753中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图10示意性示出了本公开实施例的加速器管理装置的应用场景图;图11示意性示出了采用本公开实施例的加速器管理装置时加速器性能与现有技术中加速器性能的对比图。
根据本公开的实施例,将上述实施例的加速器管理装置及加速器管理方法应用于图10中的NVF电信云应用场景中,则在一个分支结构中,终端包括有虚拟机3、5G CU基站网元(信号调制中负责处理非实时协议和服务)及虚拟机4,虚拟机3用于实现虚拟化网络功能(Virtualized Network Function,VNF)应用,虚拟机4用于实现边缘计算(MEC)应用,5G CU基站网元用于执行分组数据汇聚协议(Packet Data Convergence Protocol,PDCP)。在该分支结构中,加速器包括有QAT加速器、XILINX加速器和其他加速器,其中,QAT加速器基于ASIC芯片实现,XILINX加速器基于FPGA芯片实现。加速器管理装置设置有分别与三个终端匹配的应用接口,以及与各加速器匹配的插件ASIC插件、FPGA插件及其他插件。
综上可知,由于5G CU基站网元可以使用加速器管理装置(即加速器后端统一框架)提供的北向应用接口,因此在不修改5G CU基站网元的任何代码的情况下,通过管理组件(即加速器资源池统一管理组件)的预先配置,即可应用ASIC和FPGA两种不同的芯片中集成的加速器完成硬件加速。再者,本应用场景中通过加速器后端统一框架,即可同时复用同一个加速器,达到高效复用加速器的效果。
如图11所示为现有技术中加速器性能与采用本公开的加速器管理装置管理后加速器性能的对比图,其中,图11中自左向右的三个柱形分别为现有技术中加速器的吞吐量、通过本公开的加速器管理装置调用ASIC芯片中集成的加速器时加速器的吞吐量、以及通过本公开的加速器管理装置调用FPGA芯片中集成的加速器时加速器的吞吐量。从图11可以看出,通过采用本公开实施例的加速器管理装置及方法,加速器的吞吐量可以提升至现有技术的2~3倍,因此可以满足5G用户业务量通信的需求。图11中自左向右的三个方框节点分别为现有技术中端到端传输数据的时延、通过本公开的加速器管理装置调用ASIC芯片集成的加速器时,端到端传输数据的时延、以及通过本公开的加速器管理装置调用FPGA芯片集成的加速器时,端到端传输数据的时延。从图11可以看出,通过采用本公开实施例的加速器管理装置及方法,数据端到端传输的时延可以降低20倍,小于5ms,从而能够达到5G工业级应用水平。综上可知,本公开提供的加速器管理装置及方法,在应用于NFV电信云场景时,可以充分提高硬件加速器的单卡处理密度,且可以对不同种类的硬件加速器进行统一管理,并因此保持虚拟机的灵活性。
图12示意性示出了本公开实施例的适于执行加速器管理方法的电子设备的结构框图。
如图12所示,电子设备1200包括处理器1210和管理芯片1220。该电子设备1200可以执行根据本公开实施例的加速器管理方法。
具体地,处理器1210例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1210还可以包括用于缓存用途的板载存储器。处理器1210可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
管理芯片1220中可以配置有计算机程序1221,该计算机程序1221可以包括代码/计算机可执行指令,其在由处理器1210执行时使得处理器1210执行根据本公开实施例的方法或其任何变形。
计算机程序1221可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序1221中的代码可以包括一个或多个程序模块,例如包括模块1221A、模块1221B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器1210执行时,使得处理器1210可以执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,应用接口210、操作固件220、插件530、管理固件740、管理组件750、探测模块751、资源管理模块752、固件管理模块753中的至少一个可以实现为参考图12描述的计算机程序模块,其在被处理器1210执行时,可以实现上面描述的相应操作。
本公开还提供了一种管理芯片,该管理芯片可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述管理芯片可以具有存储单元,该存储单元中可以承载存储有计算机可执行指令,当上述计算机可执行指令被执行时,可以实现根据本公开实施例的方法。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (10)

1.一种加速器管理方法,应用于具有多个分支结构的边缘计算系统,所述方法包括:
获取终端发送的待处理信息,所述待处理信息包括加速器参数及待处理数据;
确定与所述加速器参数匹配的第一加速器;以及
将所述待处理数据发送至所述第一加速器,以使所述第一加速器对所述待处理数据进行处理,得到处理后数据,
其中,所述终端与所述第一加速器属于所述边缘计算系统的同一分支结构。
2.根据权利要求1所述的方法,其中,将所述待处理数据发送至所述第一加速器包括:将所述待处理数据通过与所述第一加速器对应的插件发送至所述第一加速器。
3.根据权利要求2所述的方法,还包括:
通过与所述第一加速器对应的插件接收所述第一加速器发送的所述处理后数据;以及
将所述处理后数据反馈给所述终端。
4.根据权利要求1所述的方法,其中,所述多个分支结构中的至少一个分支结构还包括服务器,所述服务器中配置有至少一个加速器,所述方法还包括:
获取所述至少一个加速器的状态信息及属性参数,所述状态信息用于表征是否配置有业务逻辑功能;
展示第二加速器的属性参数,所述第二加速器包括状态信息表征未配置业务逻辑功能的加速器;
响应于用户操作,确定所述第二加速器中的待配置加速器;
获取与所述待配置加速器对应的功能参数;以及
根据所述功能参数,为所述待配置加速器配置与所述功能参数匹配的业务逻辑功能,
其中,所述加速器参数包括所述属性参数和所述功能参数。
5.根据权利要求4所述的方法,还包括,
在所述待配置加速器配置了与所述功能参数匹配的业务逻辑功能后,接收所述待配置加速器发送的加速器参数;以及
根据所述待配置加速器发送的加速器参数,将所述待配置加速器列为备选的所述第一加速器。
6.一种加速器管理装置,应用于具有多个分支结构的边缘计算系统,所述装置包括:
应用接口,用于接入终端,以获取所述终端发送的待处理信息,所述待处理信息包括加速器参数及待处理数据;
操作固件,用于执行以下操作:
确定与所述加速器参数匹配的第一加速器;以及
将所述待处理数据发送至所述第一加速器,以使所述第一加速器对所述待处理数据进行处理,得到处理后数据,
其中,所述终端与所述第一加速器属于所述边缘计算系统的同一分支结构。
7.根据权利要求6所述的装置,其中:
所述装置还包括:插件,与所述第一加速器匹配设置,所述操作固件通过所述插件将所述待处理数据发送给所述第一加速器;并且/或者
所述多个分支结构中的至少一个分支结构包括多个终端,所述多个终端共享有内存空间,且所述多个终端发送的待处理信息缓存于所述内存空间中,以供所述应用接口获取。
8.根据权利要求7所述的装置,其中:
所述插件还用于:接收所述第一加速器发送的所述处理后数据;以及
所述操作固件还用于:将所述插件接收的所述处理后数据通过所述应用接口反馈给所述终端。
9.根据权利要求6所述的装置,其中,所述多个分支结构中的至少一个分支结构还包括服务器,所述服务器配置有至少一个加速器,所述装置还包括管理组件及管理固件,所述管理组件包括探测模块、资源管理模块、固件管理模块及展示模块,其中:
所述探测模块,用于获取所述至少一个加速器的状态信息及属性参数,所述状态信息用于表征是否配置有业务逻辑功能;
所述资源管理模块,用于执行以下操作:
根据所述至少一个加速器的状态信息,确定第二加速器,所述第二加速器包括状态信息表征未配置有业务逻辑功能的加速器;
控制所述展示模块展示所述第二加速器的属性参数;以及
响应于用户操作,确定所述第二加速器中的待配置加速器;
所述固件管理模块,用于执行以下操作:
获取与所述待配置加速器对应的功能参数;以及
根据所述功能参数,控制所述管理固件为所述待配置加速器配置与所述功能参数匹配的业务逻辑功能,
其中,所述加速器参数包括所述属性参数和所述功能参数。
10.根据权利要求9所述的装置,其中,所述操作固件还用于执行以下操作:
在所述待配置加速器配置了与所述功能参数匹配的业务逻辑功能后,接收所述待配置加速器发送的加速器参数;以及
根据所述待配置加速器发送的加速器参数,将所述待配置加速器列为备选的所述第一加速器。
CN201910215413.4A 2019-03-20 2019-03-20 加速器管理方法和装置 Active CN109976876B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910215413.4A CN109976876B (zh) 2019-03-20 2019-03-20 加速器管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910215413.4A CN109976876B (zh) 2019-03-20 2019-03-20 加速器管理方法和装置

Publications (2)

Publication Number Publication Date
CN109976876A true CN109976876A (zh) 2019-07-05
CN109976876B CN109976876B (zh) 2021-11-16

Family

ID=67079816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910215413.4A Active CN109976876B (zh) 2019-03-20 2019-03-20 加速器管理方法和装置

Country Status (1)

Country Link
CN (1) CN109976876B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159753A (zh) * 2015-09-25 2015-12-16 华为技术有限公司 加速器虚拟化的方法、装置及集中资源管理器
CN105393218A (zh) * 2013-06-25 2016-03-09 英派尔科技开发有限公司 通过虚拟机切换的重构
CN105979007A (zh) * 2016-07-04 2016-09-28 华为技术有限公司 加速资源处理方法、装置及网络功能虚拟化系统
US9483291B1 (en) * 2015-01-29 2016-11-01 Altera Corporation Hierarchical accelerator registry for optimal performance predictability in network function virtualization
CN106095719A (zh) * 2015-04-28 2016-11-09 阿尔特拉公司 具有功能链接能力的网络功能虚拟化平台
CN106445876A (zh) * 2015-08-13 2017-02-22 阿尔特拉公司 基于应用的动态异构多核系统和方法
CN106663012A (zh) * 2015-05-19 2017-05-10 华为技术有限公司 一种硬件加速方法以及相关设备
CN107656877A (zh) * 2017-09-15 2018-02-02 联想(北京)有限公司 信息处理方法及其设备
US20180088174A1 (en) * 2016-09-28 2018-03-29 Amazon Technologies, Inc. Extracting debug information from fpgas in multi-tenant environments
CN108062239A (zh) * 2016-11-09 2018-05-22 华为技术有限公司 一种加速器加载方法、系统和加速器加载装置
CN108141407A (zh) * 2015-10-21 2018-06-08 英特尔公司 移动边缘计算动态加速分配
CN109039711A (zh) * 2018-07-12 2018-12-18 联想(北京)有限公司 一种硬件加速器的更换方法、装置及服务器

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105393218A (zh) * 2013-06-25 2016-03-09 英派尔科技开发有限公司 通过虚拟机切换的重构
US9483291B1 (en) * 2015-01-29 2016-11-01 Altera Corporation Hierarchical accelerator registry for optimal performance predictability in network function virtualization
CN106095719A (zh) * 2015-04-28 2016-11-09 阿尔特拉公司 具有功能链接能力的网络功能虚拟化平台
CN106663012A (zh) * 2015-05-19 2017-05-10 华为技术有限公司 一种硬件加速方法以及相关设备
CN106445876A (zh) * 2015-08-13 2017-02-22 阿尔特拉公司 基于应用的动态异构多核系统和方法
CN105159753A (zh) * 2015-09-25 2015-12-16 华为技术有限公司 加速器虚拟化的方法、装置及集中资源管理器
CN108141407A (zh) * 2015-10-21 2018-06-08 英特尔公司 移动边缘计算动态加速分配
CN105979007A (zh) * 2016-07-04 2016-09-28 华为技术有限公司 加速资源处理方法、装置及网络功能虚拟化系统
US20180088174A1 (en) * 2016-09-28 2018-03-29 Amazon Technologies, Inc. Extracting debug information from fpgas in multi-tenant environments
CN108062239A (zh) * 2016-11-09 2018-05-22 华为技术有限公司 一种加速器加载方法、系统和加速器加载装置
CN107656877A (zh) * 2017-09-15 2018-02-02 联想(北京)有限公司 信息处理方法及其设备
CN109039711A (zh) * 2018-07-12 2018-12-18 联想(北京)有限公司 一种硬件加速器的更换方法、装置及服务器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
石林: "GPU通及计算虚拟化方法研究", 《万方平台》 *

Also Published As

Publication number Publication date
CN109976876B (zh) 2021-11-16

Similar Documents

Publication Publication Date Title
CN103270492B (zh) 用于网络使能应用的硬件加速图形的方法和系统
CN102457439B (zh) 一种云计算系统的虚拟交换系统及其虚拟交换方法
CN109144660A (zh) 微服务架构
CN102479100B (zh) 一种普适计算环境虚拟机平台及其创建方法
CN110227259A (zh) 一种数据处理的方法、装置、服务器和系统
CN101976200A (zh) 在虚拟机监控器外进行输入输出设备虚拟化的虚拟机系统
CN103414535B (zh) 数据发送方法和数据接收方法及相关装置
CN103916314A (zh) 报文转发控制方法和相关装置及物理主机
US11586575B2 (en) System decoder for training accelerators
US10764207B2 (en) Software defined visibility fabric
CN103891209A (zh) 用于转换通用流的机箱控制器
CN108322325A (zh) 一种虚拟机管理方法及装置
KR102036731B1 (ko) 가상화 네트워크 기능 클러스터링 구성 시스템 및 방법
CN108885564A (zh) 网络虚拟化场景中的资源放置控制
CN103516633A (zh) 用于在分布式交换机中提供服务的方法和装置
CN103207965A (zh) 一种虚拟环境下License认证的方法及装置
CN109428764A (zh) 虚拟网络功能的实例化方法
CN108470273A (zh) 项目开发方法及装置
CN115795929A (zh) 一种仿真推演评估系统及方法
CN113407353B (zh) 图形处理器资源的使用方法及装置、电子设备
US20090307711A1 (en) Integrating computation and communication on server attached accelerators
CN108076095A (zh) 一种nfv系统业务加速方法、系统、装置及服务器
CN110062396A (zh) 一种配置基站的方法及装置
Nandugudi et al. Network function virtualization: through the looking-glass
CN109976876A (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
GR01 Patent grant
GR01 Patent grant