CN108073423A - 一种加速器加载方法、系统和加速器加载装置 - Google Patents

一种加速器加载方法、系统和加速器加载装置 Download PDF

Info

Publication number
CN108073423A
CN108073423A CN201610989129.9A CN201610989129A CN108073423A CN 108073423 A CN108073423 A CN 108073423A CN 201610989129 A CN201610989129 A CN 201610989129A CN 108073423 A CN108073423 A CN 108073423A
Authority
CN
China
Prior art keywords
accelerator
host
mirror image
acceleration
mirror
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
CN201610989129.9A
Other languages
English (en)
Other versions
CN108073423B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610989129.9A priority Critical patent/CN108073423B/zh
Priority to PCT/CN2017/105880 priority patent/WO2018086437A1/zh
Priority to EP17868926.1A priority patent/EP3531280B1/en
Publication of CN108073423A publication Critical patent/CN108073423A/zh
Priority to US16/407,934 priority patent/US11221866B2/en
Application granted granted Critical
Publication of CN108073423B publication Critical patent/CN108073423B/zh
Priority to US17/491,885 priority patent/US20220100550A1/en
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/445Program loading or initiating
    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/45562Creating, deleting, cloning virtual machine instances
    • 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/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Materials For Photolithography (AREA)

Abstract

本发明提供了一种加速器加载方法和系统。加速器加载装置获取加速需求,所述加速需求包括待创建虚拟机的加速功能和所述待创建虚拟机的加速性能。所述加速器加载装置确定满足所述加速功能和加速性能的镜像以及确定能够加载所述镜像的可用加速器所在的目标主机。所述加速器加载装置向所述目标主机发送镜像加载命令,所述镜像加载命令包括所述镜像的描述符,所述镜像加载命令用于使所述目标主机根据所述镜像加载命令为所述可用加速器加载所述镜像。本发明可以根据待创建虚拟机的加速功能和加速性能确定能够创建该虚拟机的目标主机,并将用于加速的镜像加载到该目标主机的可用加速器上,实现了加速器的动态加载和部署。

Description

一种加速器加载方法、系统和加速器加载装置
技术领域
本发明涉及加速技术,尤其涉及一种加速器加载方法、系统和加速器加载装置。
背景技术
网络运营商的网络通常是由大规模并且迅速增长的多种多样的硬件设备组成。开发一个新的网络业务或者网络功能经常需要新类型的设备,而为这些新类型的设备寻找空间、提供电源变得越来越困难。更为严重的是,硬件生命周期变得越来越短而业务创造却在加速,这抑制了新增值业务的部署,并且限制了不断增长的以网络为中心领域的创新。
网络功能虚拟化(英文:Network Functions Virtualisation,简称:NFV)通过借用虚拟化技术,将许多类型的网络设备合并到符合工业标准的高容量服务器、交换机或存储设备上,这些服务器、交换机或者存储设备可以部署在数据中心,网络节点或者用户端。NFV实现了软件的灵活加载,从而加快了网络部署和调整的速度,降低了业务部署的复杂度,提高了网络设备的统一化、通用化、适配性等。
由于NFV架构采用了工业标准硬件,而标准硬件在处理大量网络功能时,存在性能下降的问题。为了解决NFV架构性能下降问题,NFV硬件加速成为了一个重要的研究方向。硬件加速,具体来说,就是使用专用的更高效的硬件来实现特定的网络功能,而实现这些功能的硬件,称为加速器。
目前,加速功能的提供方式可以分为两类:第一类,由加速器厂商提供的固定功能(fixed-function)加速;第二类,加速器厂商提供加速功能的镜像(image),并在厂商提供的驱动器(driver)中提供镜像的加载功能,在服务器(server)本地加载镜像。这样服务器可以通过加载不同功能的镜像,实现不同的加速功能。
然而,现有的加速器即使在加载镜像的时候,也只能加载特定功能的镜像,而不支持按需动态加载不同的镜像,不能实现不同的功能。这样,当需要不同的加速功能时,必须提供相应的硬件加速器,造成资源的浪费。
发明内容
为了解决上述现有技术中的问题,本发明提供一种加速器加载方法、系统和加速器加载装置,能够为加速器动态加载满足待创建虚拟机的加速需求的镜像,以实现加速器的按需分配,节约硬件资源。
本发明第一方面提供了一种加速器加载方法。加速器加载装置获取加速需求,所述加速需求包括待创建虚拟机的加速功能和所述待创建虚拟机的加速性能。所述加速器加载装置确定满足所述加速功能和所述加速性能的镜像,并确定能够加载所述镜像的可用加速器所在的目标主机。所述加速器加载装置向所述目标主机发送镜像加载命令,所述镜像加载命令包括所述镜像的描述符以及所述可用加速器的标识,所述镜像加载命令用于使所述目标主机根据所述镜像加载命令为所述可用加速器加载所述镜像。
通过上述方式,可以根据待创建虚拟机的加速需求为可用加速器加载满足所述加速需求的镜像,使所述可用加速器具有所述加速需求相应的功能,实现了加速器的按需分配。
在第一方面的第一种实现方式中,当确定满足所述加速功能和加速性能的镜像时,所述加速器加载装置根据所述加速功能和所述加速性能查找加速器镜像库,确定满足所述加速需求的镜像,获取所述镜像的描述符以及所述镜像对应的加速器型号;所述镜像的描述符为所述镜像的标识和所述镜像的位置中的至少一个;其中,所述加速器镜像库用于存储镜像和镜像信息,每个镜像的镜像信息包括所述镜像的描述符、所述镜像对应的加速器型号、所述镜像能够提供的加速功能和所述镜像能够提供的加速性能。
本发明提供了一个加速器镜像库专门用于存储可被动态加载的镜像和镜像信息,能够为可用加速器提供满足待创建虚拟机的加速需求的镜像,实现了镜像的统一管理。
基于上述第一方面的第一种实现方式,在所述第一方面的第二种实现方式中,当确定能够加载所述镜像的可用加速器所在的目标主机时,所述加速器加载装置确定对应所述加速器型号的至少一个候选主机以及每个候选主机的可用加速器。所述加速器加载装置进一步确定所述至少一个候选主机中的一个候选主机为目标主机。
在实际部署中,所述加速器加载装置可以管理大量主机,因此,可能存在多个主机都满足待创建虚拟机的加速功能和加速性能,而最终只能选择一个主机作为待创建虚拟机的目标主机。本发明能够选择出最合适的主机作为目标主机,可以提高整个系统的运行效率。
基于上述第一方面的第二种实现方式,在所述第一方面的第三种实现方式中,当确定对应所述加速器型号的至少一个候选主机以及每个候选主机的可用加速器时,所述加速器加载装置获取所述加速需求对应的主机列表,所述主机列表包括满足所述加速需求的至少一个主机的标识。所述加速器加载装置根据所述加速器型号以及所述主机列表查找加速数据库,确定所述主机列表中对应所述加速器型号的至少一个候选主机,以及每个候选主机的可用加速器。其中,所述加速数据库用于存储所述加速器加载装置所管理的每个主机的加速信息,每个主机的加速信息包括所述主机的标识、所述主机的每个加速器的标识,所述加速器的加速器型号、所述加速器的加速功能以及所述加速功能对应的加速性能、所述加速器的属性和所述加速器的状态。
本发明中在加速数据库中存储了每个主机对应的加速器,以及每个加速器的信息。在本实施方式中,所述加速器加载装置通过加速数据库可以查找到最合适的可用加速器。当使用所述可用加速器加载镜像并将该可用加速器在加载镜像后分配给所述待创建虚拟机使用时,可以最大程度提高系统的运行效率。另外,可用加速器还可以是已经被分配给某个虚拟机使用又被该虚拟机释放的加速器,即可用加速器可以被反复加载,这很大程度节约了硬件资源。
基于上述第一方面的第三种实现方式,在所述第一方面的第四种实现方式中,当获取所述加速需求时,所述加速器加载装置获取创建虚拟机的请求,所述创建虚拟机的请求包括所述待创建虚拟机的计算资源需求、所述待创建虚拟机的存储资源需求以及所述加速需求,所述加速需求为所述待创建虚拟机的加速需求;当获取所述加速需求对应的主机列表时,所述加速器加载装置根据所述计算资源需求和存储资源需求从所述加速器加载装置管理的所有主机中查找能够满足所述计算资源需求和所述存储资源需求的一个或多个主机,根据所述一个或多个主机的标识,生成所述加速需求对应的所述主机列表。
本发明中,所述加速器加载装置根据待创建虚拟机的存储资源需求和所述待创建虚拟机的计算资源需求确定主机列表,以确保查找到的主机能够支撑待创建虚拟机的业务需求。
基于上述第一方面的第二种至第四种实现方式中的任意一种,在所述第一方面的第五种实现方式中,当确定所述至少一个候选主机中的一个候选主机为目标主机时,所述加速器加载装置根据主机过滤规则,从所述至少一个候选主机中选择一个候选主机作为所述目标主机。
由于待创建虚拟机最终只能被创建在一个目标主机上,所以如果有多个候选主机可以满足待创建虚拟机的各种要求时,所述加速器加载装置根据主机过滤规则从所述多个候选主机中选择一个最合适的目标主机,能实现负载均衡或系统效率的最大化。
当向所述目标主机发送镜像加载命令后,所述加速器加载装置接收所述目标主机发送的镜像请求,所述镜像请求包括所述镜像的描述符。所述加速器加载装置根据所述镜像的描述符获取所述镜像并向所述目标主机发送所述镜像。
通过上述方法,所述加速器加载装置实现了和目标主机的互动,把镜像发送给目标主机,使镜像被加载到适合创建所述待创建虚拟机的主机上。
当向所述目标主机发送所述镜像后,所述加速器加载装置还接收所述目标主机发送的通知消息,所述通知消息包括所述目标主机的标识、所述可用加速器的标识、所述加速功能以及所述加速性能。所述加速器加载装置根据所述加速功能和加速性能更新所述加速数据库,并将所述可用加速器的状态修改为已锁定。
所述加速器加载装置通过更新加速数据库,使加速数据库中的信息能够实时反映所有主机上的加速器的最新状态,实现了加速器的精确查找,能够避免信息更新不及时导致的镜像加载失败。
本发明第二方面提供了一种加速器加载装置,包括计算管理功能、加速管理控制器、加速器镜像库和加速数据库,上述各种组件互相作用,能实现第一方面及第一方面的各实现方式中的方法,并到达相应的效果。
本发明第三方面提供了一种加速器加载系统,包括上述第二方面的加速器加载装置和至少一个主机,所述至少一个主机包括所述加速器加载装置确定的目标主机。
本发明第四方面提供了另一种加速器加载装置,包括处理器、第一存储器、第二存储器和通信接口,所述第一存储器用于存储计算管理程序代码和加速管理程序代码,所述第二存储器用于存储加速器镜像库和加速数据库。所述处理器用于调用所述计算管理程序代码以实现所述第一方面和第二方面中的计算管理功能,调用所述加速管理程序代码以实现所述第一方面和第二方面中所述加速管理控制器的功能。所述处理器还在调用计算管理程序代码和/或加速管理程序代码的过程中,根据需要对加速器镜像库和/或加速数据库执行查找、读取或更新等操作。
本发明第五方面提供了一种存储介质,用于存储计算机程序代码,所述计算机程序代码运行时,能够实现本发明第一方面及其各实现方式中的方法,并达到相应的效果。
本发明可以根据待创建虚拟机的加速功能和加速性能确定能够创建该虚拟机的目标主机,并将用于加速的镜像加载到该目标主机的可用加速器上,实现了加速器的动态加载和部署。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种加速器加载系统的结构示意图;
图2为本发明实施例提供的一种加速器加载方法的流程示意图;
图3为本发明实施例提供的另一种加速器加载方法的流程示意图;
图4为本发明实施例提供的加速器镜像库的结构示意图;
图5A为本发明实施例提供的加速数据库更新前的结构示意图;
图5B为本发明实施例提供的加速数据库更新后的结构示意图;
图6为本发明实施例提供一种加速器加载装置的结构示意图。
具体实施方式
以下结合附图对本发明进行详细描述。
如图1所示,为本发明实施例提供的一种加速器加载系统100的结构示意图。所述加速器加载系统100包括加速器加载装置200和一个或多个主机300。为方便描述,图1中以一个主机300来作为示例。所述加速器加载装置200上部署有虚拟化基础设施管理器(英文:Virtualised Infrastructure Manager,简称:VIM),主机300上部署有NFV基础设施(英文:NFV Infrastructure,简称NFVI)。其中,所述VIM用于控制和管理所有NFVI的计算、存储和网络资源,每个NFVI包括用于建立虚拟网络功能(英文:virtual network functions,简称:VNFs)的运行环境的硬件和软件组件。其中,VIM和NFVI均为逻辑概念,仅用于介绍本发明实施例的应用场景,不作为对本发明的限制。其中,VIM包括计算管理功能(英文:computemanagement function)210,加速管理控制器(英文:acceleration managementcontroller)220,加速器镜像库(英文:accelerator image repository)230和加速数据库(英文:acceleration database)240。其中,加速器镜像库230和加速数据库240可以存储在同一个存储器中,也可以分别存储在不同的存储器中。NFVI包括加速代理310和一个或多个加速器驱动320,每个加速器驱动320对应一个通用加速器,所述通用加速器能够动态加载用于实现特定功能的镜像。主机300还可以包括系统管理程序hypervisor和计算代理。所述hypervisor在主机300上生成至少一个虚拟机(英文:virtual machine,简称:VM),所述计算代理用于与所述hypervisor通信以管理所述至少一个VM。
当所述加速器加载系统100运行时,加速器加载装置200获取加速需求,所述加速需求包括某个待创建虚拟机,比如第一VM,所需要的加速功能和加速性能;加速器加载装置200确定满足所述加速功能和加速性能的镜像;加速器加载装置200确定能够加载所述镜像的可用加速器所在的目标主机为主机300,主机300为所述至少一个主机中的一个主机;向主机300发送镜像加载命令,所述镜像加载命令包括所述镜像的描述符;所述镜像的描述符为所述镜像的标识和所述镜像的位置中的至少一个;主机300接收所述镜像加载命令,根据所述镜像的描述符获取所述镜像,为所述可用加速器加载所述镜像。
当确定满足所述加速功能和加速性能的镜像时,加速器加载装置200根据所述加速功能和所述加速性能查找加速器镜像库230,确定满足所述加速需求的镜像,获取所述镜像的描述符以及所述镜像对应的加速器型号。所述镜像的描述符为所述镜像的标识和所述镜像的位置中的至少一个。其中,加速器镜像库230用于存储镜像和镜像信息,每个镜像的镜像信息包括所述镜像的描述符、所述镜像对应的加速器型号、所述镜像能够提供的加速功能和所述镜像能够提供的加速性能。后续将结合附图对加速器镜像库230进行详细介绍。
当确定能够加载所述镜像的可用加速器所在的目标主机时,加速器加载装置200还确定对应所述加速器型号的至少一个候选主机,以及每个候选主机的可用加速器,并确定所述至少一个候选主机中的一个候选主机为目标主机。
在另一个实施方式中,主机300还向加速器加载装置200发送镜像请求,所述镜像请求包括所述镜像的描述符;加速器加载装置200还根据所述镜像的描述符获取所述镜像并向主机300发送所述镜像;主机300还接收所述镜像,并为所述可用加速器对应的加速器驱动加载所述镜像。
加速器加载装置200还获取所述加速需求对应的主机列表,所述主机列表包括满足所述加速需求的至少一个主机的标识,根据所述加速器型号以及所述主机列表查找加速数据库,确定所述主机列表中对应所述加速器型号的至少一个候选主机,以及每个候选主机的可用加速器。其中,所述加速数据库用于存储所述加速器加载装置所管理的每个主机的加速信息,每个主机的加速信息包括所述主机的标识、所述主机的每个加速器的标识,所述加速器的加速器型号、所述加速器的加速功能以及所述加速功能对应的加速性能、所述加速器的属性和所述加速器的状态。后续将结合附图对加速数据库240进行详细介绍。
当获取所述主机列表时,加速器加载装置200获取所述待创建虚拟机的计算资源需求和存储资源需求,根据所述计算资源需求和存储资源需求从加速器加载装置200管理的所有主机中查找能够满足所述计算资源需求和所述存储资源需求的一个或多个主机,根据所述一个或多个主机的标识,生成所述加速需求对应的所述主机列表。
在确定所述至少一个候选主机中的一个候选主机为目标主机时,加速器加载装置200根据主机过滤规则,从所述至少一个候选主机中选择一个候选主机作为目标主机。其中,所述主机过滤规则是指当多个主机都满足所述加速需求时,从所述多个主机中选择一个主机的规则,所述主机过滤规则可以是选择负载最轻的主机。所述主机过滤规则也可以称为加速资源约束。
主机300还向加速器加载装置200发送通知消息,所述通知消息包括主机300的标识、所述可用加速器的标识、所述加速功能以及所述加速性能;加速器加载装置200还根据所述加速功能和加速性能更新所述加速数据库,并将所述可用加速器的状态修改为已锁定。
上述加速器加载装置200和主机300可以位于同一台物理服务器上,也可以位于不同的物理服务器上。
本发明基于图1所示的加速器加载系统,提供了一种加速器加载方法,所述方法由图1中的加速器加载装置200执行。在一个实施例中,所述方法包括图2所示的步骤。
在S201中,加速器加载装置200获取加速需求,所述加速需求包括待创建虚拟机的加速功能和所述待创建虚拟机的加速性能。
在S202中,加速器加载装置200确定满足所述加速功能和所述加速性能的镜像。在S203中,加速器加载装置200确定能够加载所述镜像的可用加速器所在的目标主机300。在S204中,加速器加载装置向所述目标主机300发送镜像加载命令,所述镜像加载命令包括所述镜像的描述符,所述镜像加载命令用于使目标主机300根据所述镜像加载命令为所述可用加速器加载所述镜像。
图2所示方法中各步骤的具体实现方式,可以参考在介绍图1所示的加速器加载系统时对加速器加载装置200的描述。
通过上述方式,加速器加载装置可以为主机上的可用加速器加载不同的镜像,使得同一个加速器根据加载的镜像的不同实现不同的功能,实现了加速器的按需分配,避免为每个加速功能配置对应的硬件加速器造成的硬件资源浪费。
以下结合图3,对图1所示的加速器加载系统和图2所示的加速器加载方法进行详细说明。
当实现S201时,加速器加载装置200的计算管理功能210执行图3中的步骤S302。
在S302中,计算管理功能210获取创建虚拟机的请求,该创建虚拟机的请求包括待创建虚拟机的加速需求,所述加速需求包括所述待创建虚拟机的加速功能和所述待创建虚拟机的加速性能。
该创建虚拟机的请求还可以包括所述待创建虚拟机的计算资源需求以及所述待创建虚拟机的存储资源需求。
其中,所述创建虚拟机的请求可以是用户需要部署虚拟机的时候触发的。所述计算资源需求例如可以是所述待创建虚拟机所需要的中央处理单元(英文:centralprocessing unit,简称:CPU)的规格。所述规格可以包括所述CPU包括的计算引擎(又称为内核)的数量。所述存储资源需求例如可以是所述待创建虚拟机所需要的存储空间的大小,例如,120GB。所述待创建虚拟机的加速功能例如可以包括加密或解密、压缩或解压缩、三层(layer 3)转发、虚拟可扩展局域网(英文:Virtual eXtensible Local Area Network,简称:VXLAN)转发中的一个或多个。所述待创建虚拟机的加速性能包括执行所述待创建虚拟机的加速功能时的速度,例如,VXLAN转发时的速率20Gbps。进一步地,当所述待创建虚拟机的加速功能为转发功能时,所述创建虚拟机的请求还可以包括转发表的规格,即所述转发表的最大表项数。
当实现S202时,加速器加载装置200的计算管理功能210和加速管理控制器220执行图3中的S304和S306。
在S304中,计算管理功能210向加速管理控制器220发送所述待创建虚拟机的加速需求,所述待创建虚拟机的加速需求包括所述待创建虚拟机的加速功能和所述待创建虚拟机的加速性能。
例如,所述待创建虚拟机的加速需求中包括的所述待创建虚拟机的加速功能为VXLAN转发,所述待创建虚拟机的加速性能为20Gbps。
在S306中,加速管理控制器220根据所述待创建虚拟机的加速功能和所述待创建虚拟机的加速性能查找加速器镜像库230,确定满足所述待创建虚拟机的加速需求的镜像,获取所述镜像的描述符以及所述镜像对应的加速器型号。
其中,加速器镜像库230用于存储镜像和镜像信息,每个镜像的镜像信息包括所述镜像的描述符(descriptor)、所述镜像对应的加速器型号、、所述镜像能够提供的加速功能和所述镜像能够提供的加速性能。其中,镜像是指加载后能够执行某种功能的代码,所述镜像的描述符为所述镜像的标识和所述镜像的位置中的至少一个。所述镜像的位置是指所述镜像在加速器镜像库230中存储的位置。所述加速器型号是指用于指示某类加速器的一串字母和数字,图中4用M11,M12和M13表示。如图4所示,为加速器镜像库230的结构示意图,加速器镜像库230可以包括第一存储区和第二存储区。所述第一存储区用于存储镜像信息,图4示意性地提供了镜像i1、i2和i3的镜像信息,所述第二存储区用于存储镜像。在一个实施方式中,第二存储区可以包括多个数据块,镜像的位置是指所述镜像在所述第二存储区中所占用的数据块,例如,镜像i1到i3分别被存储在块1到块3的每个数据块中。
当所述待创建虚拟机的加速功能为VXLAN转发,所述待创建虚拟机的加速性能为20Gbps时,加速管理控制器220确定满足所述加速需求的镜像为i2,并确定镜像i2的对应的加速器型号为M12。当满足所述加速功能和加速性能的镜像是多个时,S306中,加速管理控制器220获取每个镜像的描述符以及所述镜像对应的加速器型号。
可选地,S306之前,所述方法还包括:加速管理控制器220根据所述加速功能和所述加速性能查找加速数据库240,当查找不到满足所述加速需求的已锁定加速器时,执行S306。其中,加速数据库240中存储有所述加速器加载装置所管理的所有主机的加速信息,每个主机的加速信息包括该主机的标识、所述主机的每个加速器的标识,所述加速器的加速器型号、该加速器的加速功能以及该加速功能对应的加速性能、该加速器的属性和该加速器的状态。加速器的属性包括:可加载和不可加载。可加载是指加速器可以被动态地加载不同的镜像以实现不同的加速功能,不可加载是指该加速器的功能已经被固化或只能加载特定的镜像。加速器的状态包括:已分配、已锁定和空闲。已分配的加速器为已经被某个虚拟机使用的加速器。已锁定的加速器为已经加载了镜像且准备分配给虚拟机使用的加速器,已锁定的加速器不能再加载新的镜像。空闲的加速器为可以被加载镜像的加速器,空闲的加速器可以是已经被加载过镜像且该被加载的镜像已经被释放的加速器,也可以是从来没有被加载过镜像的加速器。本发明中将属性为可加载且状态为空闲的加速器称为可用加速器。加速数据库240中状态为已分配或已锁定的加速器,其对应的加速功能和加速性能为所述加速器实际能够提供的加速功能和加速性能。加速数据库240中属性为可加载且状态为空闲的加速器,如果有对应的加速功能和加速性能,表明该加速器曾经加载过镜像,但该镜像已经被释放,如果没有对应的加速功能和加速性能,表明该加速器没有加载过镜像。
如图5A所示,为本发明实施例提供的加速数据库240的示意图,其中存储了每个主机对应的加速器的信息。图5A中,主机H1上有两个加速器A11和A12,其中加速器A11为不可加载的加速器,已经被分配给某个虚拟机用于三层转发的加速,加速器A12为空闲的加速器,还没有加载镜像;主机H2上有一个加速器A21,已经被加载了镜像但还没有分配给虚拟机使用。
当实现S203时,加速管理控制器220执行图3中的S308和S310。
在S308中,加速管理控制器220确定对应所述加速器型号的至少一个候选主机,以及每个候选主机的可用加速器。其中,S308可以包括以下子S308-1和S308-2。
在S308-1中,加速管理控制器220获取所述加速需求对应的主机列表。
其中,所述主机列表包括满足所述加速需求的至少一个主机的标识。所述主机的标识用于唯一识别所述主机。
在S308-1的一个实施方式中,计算管理功能210向加速管理控制器220发送的加速需求中还包括主机列表,所述主机列表包括所述加速器加载装置200所管理的所有能够满足所述计算资源需求和存储资源需求的主机的信息。即,在该实现方式中,S308-1包括:加速管理控制器220接收所述计算管理功能210发送的所述加速需求对应的主机列表。所述主机列表可以包括在所述加速需求中,也可以由计算管理功能210单独发送给加速管理控制器220。
所述加速器加载装置200上存储了其所管理的所有主机的信息,每个主机的信息包括所述主机能够提供的计算资源和存储资源。其中,加速器加载装置200能够管理哪些主机是由管理员配置的,所有主机的信息可以存储在所述加速器加载装置200的任意规划的存储空间中。当获取主机列表时,计算管理功能210根据所述计算资源需求和存储资源需求从所述所有主机中查找能够满足所述计算资源需求和所述存储资源需求的一个或多个主机,根据所述一个或多个主机的标识,生成所述主机列表并发送给加速管理控制器220。
在S308-1的另一个实现方式中,所述加速需求中还包括计算资源需求和存储资源需求,所述获取所述加速需求对应的主机列表包括:加速管理控制器220根据所述计算资源需求和存储资源需求从所述加速器加载装置管理的所有主机中查找能够满足所述计算资源需求和所述存储资源需求的一个或多个主机,根据所述一个或多个主机的标识,生成所述主机列表。
在S308-2中,加速管理控制器220根据所述加速器型号以及所述主机列表查找加速数据库240,确定所述主机列表中对应所述加速器型号的至少一个候选主机,以及每个候选主机的可用加速器。
所述加速管理控制器220可以先找出加速数据库240中所述加速器型号对应的所有主机作为比对列表,然后逐个确定所述主机列表中的主机是否在所述比对列表中,并将同时在所述比对列表和所述主机列表中的主机确定为候选主机,所述候选主机可以为一个或多个。进一步地,加速管理控制器220还可以通过查找加速数据库240,确定每个候选主机上的状态为空闲且属性为可加载的通用加速器作为可用加速器。
例如,当所述加速功能为VXLAN转发,加速性能为20Gbps,所述主机列表包括主机H1和主机H2时,加速管理控制器220通过查找图5A中的加速数据库确定的候选主机为主机H1,并确定主机H1的可用加速器为加速器M12。
在S310中,加速管理控制器220确定所述至少一个候选主机中的一个候选主机为目标主机。
在S310的一个实现方式中,当所述主机列表中包括多个主机时,所述加速需求中还包括主机过滤规则,S310包括:加速管理控制器220根据所述主机过滤规则,从所述至少一个候选主机中选择一个候选主机作为所述目标主机。
在S310的另一个实现方式中,所述加速需求中不包括主机过滤规则,S310包括:
S310-1,加速管理控制器220向计算管理功能发送候选主机通知消息,所述候选主机通知消息包括所述至少一个候选主机的信息。
S310-2,计算管理功能210根据主机过滤规则,从所述至少一个候选主机中选择一个候选主机作为所述目标主机。
S310-3,加速管理控制器220接收计算管理功能210发送的所述目标主机的信息,根据所述目标主机的信息,确定所述目标主机。
其中,所述目标主机的信息至少包括所述目标主机的标识。
当候选主机只有一个时,加速管理控制器220直接确定该候选主机为所述目标主机,例如,确定图5A中的H1为目标主机。
当实现S204时,加速管理控制器220执行图3中的S312。
在S312中,加速管理控制器220向所述目标主机的加速代理310发送镜像加载命令,所述镜像加载命令包括所述镜像的描述符,以及所述目标主机的可用加速器的标识。
为了实现所述镜像的加载,如图3所示,目标主机300中的加速代理310和加速器驱动320也要相应执行部分操作。
在S314中,加速代理310从加速器镜像库230获取所述镜像。
在S314之前,所述方法还可以包括:加速代理310根据所述镜像的描述符判断本地是否缓存有所述镜像,如果没有缓存该镜像,执行S314。
在S314的一个实施方式中,加速代理310向加速器镜像库230发送镜像请求,所述镜像请求包括所述镜像的描述符,然后,加速代理310接收加速器镜像库230发送的所述镜像;在S314的另一个实施方式中,加速代理310向加速管理控制器220发送镜像请求,所述镜像请求包括所述镜像的描述符,加速管理控制器220收到该镜像请求后,根据所述镜像的描述符访问加速器镜像库230获取所述镜像,并将获取的所述镜像发送给加速代理310。
如图3所示,为了使所述镜像能正确加载到加速器上,所述方法还包括S316和S318。
在S316中,加速代理310接收所述镜像,将所述镜像发送给所述可用加速器对应的加速器驱动320。
在S318中,所述加速器驱动320加载所述镜像,使所述可用加速器能够实现所述加速功能。
进一步地,对了更准确管理加速器,如图3所示,所述方法进一步包括:
在S320中,加速器驱动320将所述可用加速器的标识、所述加速功能以及所述加速性能的对应关系发送给加速代理310。
在S322中,加速代理310向加速管理控制器220发送通知消息,所述通知消息包括所述目标主机的标识、所述可用加速器的标识、所述加速功能以及所述加速性能。
其中,所述目标主机的标识可以为所述主机的因特网协议(英文:InternetProtocol,简称IP)地址或介质访问地址(英文:media access control,简称:MAC)地址,也可以为其他能够唯一标识所述目标主机的信息。
在S324中,加速管理控制器220在收到所述通知消息后,向计算管理功能210发送加速器分配消息,所述加速器分配消息包括所述目标主机的标识。
所述加速器分配消息用于通知所述计算管理功能210已经为所述目标主机上的加速器加载了镜像。
在S326中,加速管理控制器220在接收到所述通知消息后,还可以根据所述通知消息更新加速数据库240。
具体来说,在加速数据库240中将所述可用加速器对应的加速功能和加速性能更新为所述通知消息中的加速功能和加速性能,并将所述可用加速器的状态修改为已锁定。如图5B所示,为更新后的加速数据库240。由于加速器A12已经被加载了能够提供加速性能为20Gbps的VXLAN转发的镜像,因为A12对应的加速功能和加速性能被更新,状态被修改为已锁定。至此,加速器A12被加载完成,可以被分配给虚拟机使用。
图2和图3中各步骤的编号仅仅是为了表述方便,并不用于限制各步骤的执行顺序。
基于图2和图3所示的方法,本发明另一个实施例提供了一种加速器加载装置。如图6所示,该加速器加载装置包括处理器601、第一存储器602、第二存储器603和通信接口604,其中,处理器601、第一存储器602、第二存储器603和通信接口604通过总线605实现彼此之间的通信。第一存储器602中存储有计算管理程序代码6021和加速管理程序代码6022,第二存储器603中存储有加速器镜像库230和加速数据库240。
处理器601用于调用计算管理程序代码6021以执行图2和图3中由计算管理功能210执行的步骤,调用加速管理程序代码6022以执行图2和图3中由计加速管理控制器220执行的步骤,并在调用计算管理程序代码6021或加速管理程序代码6022的过程中,对加速器镜像库230和加速数据库240执行查找、读取或更新等操作。
通信接口604为一系列用于与外部设备通信的接口的集合,至少包括用于获取创建虚拟机的请求的接口以及与处理器601通过执行计算管理程序代码6021选定的目标主机通信的接口。
上述计算管理程序代码6021和加速管理程序代码6022可以为独立的两个计算机程序,也可以为同一个计算机程序的两个片段。
在一个实施方式中,本发明实施例中的处理器601可以包括两个处理器,其中一个处理器用于执行计算管理程序代码6021,另一个处理器用于执行加速管理程序代码6022。
上述第一存储器602和第二存储器603可以是物理上独立的两个存储器,也可以位于同一个物理存储设备上,类似地,上述加速器镜像库230和加速数据库240既可以位于同一个存储器上,又可以位于不同的存储器上。
本发明实施例还提供一种计算机存储介质,该计算机存储介质可存储有一个或多个程序,该一个或多个程序执行时能够实现上述方法实施例中记载的加速器加载方法的部分或全部步骤;或者说,当所述一个或多个程序被包含一个或多个处理器的计算机设备运行时,使所述计算机设备执行如上述方法实施例中记载的加速器加载方法。
本发明中,加速器加载装置在需要创建虚拟机时,可以根据待创建虚拟机的加速功能和加速性能,以及计算资源需求和存储资源需求确定能够创建该虚拟机的目标主机,并将用于加速的镜像加载到该目标主机的可用加速器上,实现了加速器的动态加载和部署。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (28)

1.一种加速器加载方法,应用于加速器加载装置,其特征在于,包括:
获取加速需求,所述加速需求包括待创建虚拟机的加速功能和所述待创建虚拟机的加速性能;
确定满足所述加速功能和所述加速性能的镜像;
确定能够加载所述镜像的可用加速器所在的目标主机;
向所述目标主机发送镜像加载命令,所述镜像加载命令包括所述镜像的描述符以及所述可用加速器的标识,所述镜像加载命令用于使所述目标主机根据所述镜像加载命令为所述可用加速器加载所述镜像。
2.根据权利要求1所述的方法,其特征在于,所述确定满足所述加速功能和加速性能的镜像包括:
根据所述加速功能和所述加速性能查找加速器镜像库,确定满足所述加速需求的镜像,获取所述镜像的描述符以及所述镜像对应的加速器型号;所述镜像的描述符为所述镜像的标识和所述镜像的位置中的至少一个;
其中,所述加速器镜像库用于存储镜像和镜像信息,每个镜像的镜像信息包括所述镜像的描述符、所述镜像对应的加速器型号、所述镜像能够提供的加速功能和所述镜像能够提供的加速性能。
3.根据权利要求2所述的方法,其特征在于,所述确定能够加载所述镜像的可用加速器所在的目标主机包括:
确定对应所述加速器型号的至少一个候选主机,以及每个候选主机的可用加速器;
确定所述至少一个候选主机中的一个候选主机为目标主机。
4.根据权利要求3所述的方法,其特征在于;
所述确定对应所述加速器型号的至少一个候选主机,以及每个候选主机的可用加速器包括:
获取所述加速需求对应的主机列表,所述主机列表包括满足所述加速需求的至少一个主机的标识;
根据所述加速器型号以及所述主机列表查找加速数据库,确定所述主机列表中对应所述加速器型号的至少一个候选主机,以及每个候选主机的可用加速器;
其中,所述加速数据库用于存储所述加速器加载装置所管理的每个主机的加速信息,每个主机的加速信息包括所述主机的标识、所述主机的每个加速器的标识,所述加速器的加速器型号、所述加速器的加速功能以及所述加速功能对应的加速性能、所述加速器的属性和所述加速器的状态。
5.根据权利要求4所述的方法,其特征在于,
所述获取所述加速需求包括:
获取创建虚拟机的请求,所述创建虚拟机的请求包括所述待创建虚拟机的计算资源需求、所述待创建虚拟机的存储资源需求以及所述加速需求,所述加速需求为所述待创建虚拟机的加速需求;
所述获取所述加速需求对应的主机列表包括:
根据所述计算资源需求和存储资源需求从所述加速器加载装置管理的所有主机中查找能够满足所述计算资源需求和所述存储资源需求的一个或多个主机,根据所述一个或多个主机的标识,生成所述加速需求对应的所述主机列表。
6.根据权利要求3-5中任意一项所述的方法,其特征在于,所述确定所述至少一个候选主机中的一个候选主机为目标主机包括:
根据主机过滤规则,从所述至少一个候选主机中选择一个候选主机作为所述目标主机。
7.根据权利要求1-6中任意一项所述的方法,其特征在于,所述方法还包括:
接收所述目标主机发送的镜像请求,所述镜像请求包括所述镜像的描述符;
根据所述镜像的描述符获取所述镜像并向所述目标主机发送所述镜像。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
接收所述目标主机发送的通知消息,所述通知消息包括所述目标主机的标识、所述可用加速器的标识、所述加速功能以及所述加速性能;
根据所述加速功能和加速性能更新所述加速数据库,并将所述可用加速器的状态修改为已锁定。
9.一种加速器加载装置,其特征在于,包括:
计算管理功能,用于获取加速需求,所述加速需求包括待创建虚拟机的加速功能和所述待创建虚拟机的加速性能;
加速管理控制器,用于确定满足所述加速功能和所述加速性能的镜像;确定能够加载所述镜像的可用加速器所在的目标主机;向所述目标主机发送镜像加载命令,所述镜像加载命令包括所述镜像的描述符以及所述可用加速器的标识,所述镜像加载命令用于使所述目标主机根据所述镜像加载命令为所述可用加速器加载所述镜像。
10.根据权利要求9所述的加速器加载装置,其特征在于,还包括加速器镜像库,
所述计算管理功能还用于向所述加速管理控制器发送所述加速需求;
当确定满足所述加速功能和所述加速性能的镜像时,所述加速管理控制器用于根据所述加速功能和所述加速性能查找所述加速器镜像库,确定满足所述加速需求的镜像,获取所述镜像的描述符以及所述镜像对应的加速器型号;所述镜像的描述符为所述镜像的标识和所述镜像的位置中的至少一个;
其中,所述加速器镜像库用于存储镜像和镜像信息,每个镜像的镜像信息包括所述镜像的描述符、所述镜像对应的加速器型号、所述镜像能够提供的加速功能和所述镜像能够提供的加速性能。
11.根据权利要求10所述的加速器加载装置,其特征在于,当确定能够加载所述镜像的可用加速器所在的目标主机时,所述加速管理控制器具体用于:
确定对应所述加速器型号的至少一个候选主机,以及每个候选主机的可用加速器;以及
确定所述至少一个候选主机中的一个候选主机为目标主机。
12.根据权利要求11所述的加速器加载装置,其特征在于,还包括加速数据库,所述加速数据库用于存储所述加速器加载装置所管理的每个主机的加速信息,每个主机的加速信息包括所述主机的标识、所述主机的每个加速器的标识,所述加速器的加速器型号、所述加速器的加速功能以及所述加速功能对应的加速性能、所述加速器的属性和所述加速器的状态;
当确定对应所述加速器型号的至少一个候选主机,以及每个候选主机的可用加速器时,所述加速管理控制器用于:
获取所述加速需求对应的主机列表,所述主机列表包括满足所述加速需求的至少一个主机的标识;
根据所述加速器型号以及所述主机列表查找所述加速数据库,确定所述主机列表中对应所述加速器型号的至少一个候选主机,以及每个候选主机的可用加速器。
13.根据权利要求12所述的加速器加载装置,其特征在于,
当获取加速需求时,所述计算管理功能用于获取创建虚拟机的请求,所述创建虚拟机的请求包括所述待创建虚拟机的计算资源需求、所述待创建虚拟机的存储资源需求以及所述加速需求,所述加速需求为所述待创建虚拟机的加速需求;
所述计算管理功能还用于:根据所述计算资源需求和存储资源需求从所述加速器加载装置管理的所有主机中查找能够满足所述计算资源需求和所述存储资源需求的一个或多个主机,根据所述一个或多个主机的标识,生成所述加速需求对应的所述主机列表,向所述加速管理控制器发送所述主机列表;
当获取加速需求时,所述加速管理控制器具体用于接收所述计算管理功能发送的所述主机列表。
14.根据权利要求12所述的加速器加载装置,其特征在于,所述加速需求中还包括所述待创建虚拟机的计算资源需求和所述待创建虚拟机的存储资源需求,
当获取所述加速需求对应的主机列表时,所述加速管理控制器用于:
根据所述计算资源需求和所述存储资源需求从所述加速器加载装置管理的所有主机中查找能够满足所述计算资源需求和所述存储资源需求的一个或多个主机,根据所述一个或多个主机的标识,生成所述主机列表。
15.根据权利要求11-14中任意一项所述的加速器加载装置,其特征在于,所述加速需求中还包括主机过滤规则,当确定所述至少一个候选主机中的一个候选主机为目标主机时,所述加速管理控制器用于根据所述主机过滤规则,从所述至少一个候选主机中选择一个候选主机作为所述目标主机。
16.根据权利要求11-14中任意一项所述的加速器加载装置,其特征在于,当确定所述至少一个候选主机中的一个候选主机为目标主机时,
所述加速管理控制器用于向所述计算管理功能发送候选主机通知消息,所述候选主机通知消息包括所述至少一个候选主机的信息;
所述计算管理功能用于根据主机过滤规则,从所述至少一个候选主机中选择一个候选主机作为所述目标主机,并向所述加速管理控制发送所述目标主机的信息;
所述加速管理控制器用于接收所述计算管理功能发送的所述目标主机的信息,根据所述目标主机的信息,确定所述目标主机。
17.根据权利要求9-16中任意一项所述的加速器加载装置,其特征在于,
当向所述目标主机发送镜像加载命令时,所述加速管理控制器用于:
向所述目标主机的加速代理发送所述镜像加载命令,所述镜像加载命令用于使所述加速代理为所述可用加速器对应的加速器驱动加载所述镜像。
18.根据权利要求17所述的加速器加载装置,其特征在于,所述加速器镜像库用于:
接收所述加速代理发送的镜像请求,所述镜像请求包括所述镜像的描述符;
根据所述镜像的描述符获取所述镜像并向所述加速代理发送所述镜像。
19.根据权利要求17所述的加速器加载装置,其特征在于,所述加速管理控制器还用于:
接收所述加速代理发送的镜像请求,所述镜像请求包括所述镜像的描述符;根据所述镜像的描述符访问所述加速器镜像库以获取所述镜像并将所述镜像发送给所述加速代理。
20.根据权利要求17-19中任意一项所述的加速器加载装置,其特征在于,所述加速管理控制器还用于:
接收所述加速代理发送的通知消息,所述通知消息包括所述目标主机的标识、所述可用加速器的标识、所述加速功能以及所述加速性能;
根据所述加速功能和所述加速性能更新加速数据库,并将所述可用加速器的状态修改为已锁定。
21.一种加速器加载系统,其特征在于,包括加速器加载装置和至少一个主机,
所述加速器加载装置用于获取加速需求,所述加速需求包括待创建虚拟机的加速功能和所述待创建虚拟机的加速性能;确定满足所述加速功能和加速性能的镜像;确定能够加载所述镜像的可用加速器所在的目标主机,所述目标主机为所述至少一个主机中的一个主机;向所述目标主机发送镜像加载命令,所述镜像加载命令包括所述镜像的描述符;所述镜像的描述符为所述镜像的标识和所述镜像的位置中的至少一个;
所述目标主机用于接收所述镜像加载命令,根据所述镜像的描述符获取所述镜像,为所述可用加速器加载所述镜像。
22.根据权利要求21所述的系统,其特征在于,当确定满足所述加速功能和加速性能的镜像时,所述加速器加载装置具体用于根据所述加速功能和所述加速性能查找加速器镜像库,确定满足所述加速需求的镜像,获取所述镜像的描述符以及所述镜像对应的加速器型号;所述镜像的描述符为所述镜像的标识和所述镜像的位置中的至少一个;其中,所述加速器镜像库用于存储镜像和镜像信息,每个镜像的镜像信息包括所述镜像的描述符、所述镜像对应的加速器型号、所述镜像能够提供的加速功能和所述镜像能够提供的加速性能。
23.根据权利要求22所述的系统,其特征在于,当确定能够加载所述镜像的可用加速器所在的目标主机时,所述加速器加载装置用于确定对应所述加速器型号的至少一个候选主机,以及每个候选主机的可用加速器,并确定所述至少一个候选主机中的一个候选主机为目标主机。
24.根据权利要求23所述的系统,其特征在于:
所述目标主机还用于向所述加速器加载装置发送镜像请求,所述镜像请求包括所述镜像的描述符;
所述加速器加载装置还用于根据所述镜像的描述符获取所述镜像并向所述目标主机发送所述镜像;
所述目标主机还用于接收所述镜像,并为所述可用加速器对应的加速器驱动加载所述镜像。
25.根据权利要求21-24中任意一项所述的系统,其特征在于,所述加速器加载装置还用于:
获取所述加速需求对应的主机列表,所述主机列表包括满足所述加速需求的至少一个主机的标识;
根据所述加速器型号以及所述主机列表查找加速数据库,确定所述主机列表中对应所述加速器型号的至少一个候选主机,以及每个候选主机的可用加速器;
其中,所述加速数据库用于存储所述加速器加载装置所管理的每个主机的加速信息,每个主机的加速信息包括所述主机的标识、所述主机的每个加速器的标识,所述加速器的加速器型号、所述加速器的加速功能以及所述加速功能对应的加速性能、所述加速器的属性和所述加速器的状态。
26.根据权利要求25所述的系统,其特征在于,当获取所述加速需求对应的主机列表时,所述加速器加载装置用于:
获取所述待创建虚拟机的计算资源需求和所述待创建虚拟机的存储资源需求,根据所述计算资源需求和存储资源需求从所述加速器加载装置管理的所有主机中查找能够满足所述计算资源需求和所述存储资源需求的一个或多个主机,根据所述一个或多个主机的标识,生成所述加速需求对应的所述主机列表。
27.根据权利要求23-26中任意一项所述的系统,其特征在于,在确定所述至少一个候选主机中的一个候选主机为目标主机时,所述加速器加载装置用于:根据主机过滤规则,从所述至少一个候选主机中选择一个候选主机作为所述目标主机。
28.根据权利要求25-27中任意一项所述的系统,其特征在于:
所述目标主机还用于向所述加速器加载装置发送通知消息,所述通知消息包括所述目标主机的标识、所述可用加速器的标识、所述加速功能以及所述加速性能;
所述加速器加载装置还用于根据根据所述加速功能和加速性能更新所述加速数据库,并将所述可用加速器的状态修改为已锁定。
CN201610989129.9A 2016-11-09 2016-11-09 一种加速器加载方法、系统和加速器加载装置 Active CN108073423B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201610989129.9A CN108073423B (zh) 2016-11-09 2016-11-09 一种加速器加载方法、系统和加速器加载装置
PCT/CN2017/105880 WO2018086437A1 (zh) 2016-11-09 2017-10-12 一种加速器加载方法、系统和加速器加载装置
EP17868926.1A EP3531280B1 (en) 2016-11-09 2017-10-12 Accelerator loading method and system, and accelerator loading apparatus
US16/407,934 US11221866B2 (en) 2016-11-09 2019-05-09 Accelerator loading method, system, and apparatus
US17/491,885 US20220100550A1 (en) 2016-11-09 2021-10-01 Accelerator Loading Method, System, and Apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610989129.9A CN108073423B (zh) 2016-11-09 2016-11-09 一种加速器加载方法、系统和加速器加载装置

Publications (2)

Publication Number Publication Date
CN108073423A true CN108073423A (zh) 2018-05-25
CN108073423B CN108073423B (zh) 2020-01-17

Family

ID=62109422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610989129.9A Active CN108073423B (zh) 2016-11-09 2016-11-09 一种加速器加载方法、系统和加速器加载装置

Country Status (4)

Country Link
US (2) US11221866B2 (zh)
EP (1) EP3531280B1 (zh)
CN (1) CN108073423B (zh)
WO (1) WO2018086437A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11221866B2 (en) 2016-11-09 2022-01-11 Huawei Technologies Co., Ltd. Accelerator loading method, system, and apparatus
US11416267B2 (en) * 2016-11-09 2022-08-16 Huawei Technologies Co., Ltd. Dynamic hardware accelerator selection and loading based on acceleration requirements
WO2023173276A1 (en) * 2022-03-15 2023-09-21 Intel Corporation Universal core to accelerator communication architecture

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3355225B1 (en) * 2017-01-31 2022-07-27 Sony Group Corporation Apparatus and method for providing a ethereum virtual device
CN109240716B (zh) * 2018-09-10 2022-10-25 福建星瑞格软件有限公司 一种大数据平台版本管理与快速迭代部署方法及系统
CN110968413A (zh) * 2018-09-28 2020-04-07 华为技术有限公司 一种数据管理方法、装置和服务器
US11507403B2 (en) * 2019-01-24 2022-11-22 Vmware, Inc. Host computing systems determination to deploy virtual machines based on disk specifications

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102906738A (zh) * 2010-06-24 2013-01-30 国际商业机器公司 混合存储服务器中的数据访问管理
CN103092678A (zh) * 2013-01-22 2013-05-08 华中科技大学 一种多增量虚拟机内存管理系统和方法
CN105159753A (zh) * 2015-09-25 2015-12-16 华为技术有限公司 加速器虚拟化的方法、装置及集中资源管理器
CN105577801A (zh) * 2014-12-31 2016-05-11 华为技术有限公司 一种业务加速方法及装置
US9424136B1 (en) * 2013-06-12 2016-08-23 Veritas Technologies Llc Systems and methods for creating optimized synthetic backup images

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6510469B1 (en) * 1998-05-13 2003-01-21 Compaq Information Technologies Group,L.P. Method and apparatus for providing accelerated content delivery over a network
US8434087B2 (en) * 2008-08-29 2013-04-30 International Business Machines Corporation Distributed acceleration devices management for streams processing
US8914626B1 (en) 2011-05-20 2014-12-16 Amazon Technologies, Inc. Providing configurable bootstrapping of software image execution
CN103399758B (zh) 2011-12-31 2016-11-23 华为数字技术(成都)有限公司 硬件加速方法、装置和系统
US9116812B2 (en) * 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
WO2015026373A1 (en) 2013-08-23 2015-02-26 Empire Technology Development, Llc Detacenter-based hardware accelerator integration
CN105579959B (zh) 2013-09-24 2019-06-07 渥太华大学 硬件加速器虚拟化
US10261813B2 (en) 2013-09-25 2019-04-16 Arm Limited Data processing system for dispatching tasks from a plurality of applications to a shared resource provided by an accelerator
EP4071605A1 (en) * 2013-10-23 2022-10-12 Huawei Cloud Computing Technologies Co., Ltd. Method, system and apparatus for creating virtual machine
CN104951353B (zh) 2014-03-28 2018-09-21 华为技术有限公司 一种对vnf实现加速处理的方法及装置
US9986434B2 (en) * 2014-04-30 2018-05-29 Avago Technologies General Ip (Singapore) Pte. Ltd. System for accelerated network route update through exclusive access to routing tables
EP2955631B1 (en) * 2014-06-09 2019-05-01 Nokia Solutions and Networks Oy Controlling of virtualized network functions for usage in communication network
US10423414B2 (en) 2014-11-12 2019-09-24 Texas Instruments Incorporated Parallel processing in hardware accelerators communicably coupled with a processor
US9483291B1 (en) * 2015-01-29 2016-11-01 Altera Corporation Hierarchical accelerator registry for optimal performance predictability in network function virtualization
KR102364712B1 (ko) * 2015-04-03 2022-02-18 한국전자통신연구원 분산 클라우드 환경에서 서비스 오케스트레이션 시스템 및 방법
US9378043B1 (en) 2015-05-28 2016-06-28 Altera Corporation Multilayer quality of service (QOS) for network functions virtualization platforms
US9606836B2 (en) * 2015-06-09 2017-03-28 Microsoft Technology Licensing, Llc Independently networkable hardware accelerators for increased workflow optimization
US9819542B2 (en) * 2015-06-26 2017-11-14 Microsoft Technology Licensing, Llc Configuring acceleration components over a network
US10048977B2 (en) 2015-12-22 2018-08-14 Intel Corporation Methods and apparatus for multi-stage VM virtual network function and virtual service function chain acceleration for NFV and needs-based hardware acceleration
US9967136B2 (en) 2016-03-28 2018-05-08 Dell Products L.P. System and method for policy-based smart placement for network function virtualization
US10346201B2 (en) * 2016-06-15 2019-07-09 International Business Machines Corporation Guided virtual machine migration
CN105979007B (zh) 2016-07-04 2020-06-02 华为技术有限公司 加速资源处理方法、装置及网络功能虚拟化系统
US10303899B2 (en) 2016-08-11 2019-05-28 Intel Corporation Secure public cloud with protected guest-verified host control
CN108073423B (zh) 2016-11-09 2020-01-17 华为技术有限公司 一种加速器加载方法、系统和加速器加载装置
US11380005B2 (en) * 2017-05-19 2022-07-05 Movidius Limited Methods, systems and apparatus to optimize pipeline execution
US11210126B2 (en) * 2019-02-15 2021-12-28 Cisco Technology, Inc. Virtual infrastructure manager enhancements for remote edge cloud deployments

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102906738A (zh) * 2010-06-24 2013-01-30 国际商业机器公司 混合存储服务器中的数据访问管理
CN103092678A (zh) * 2013-01-22 2013-05-08 华中科技大学 一种多增量虚拟机内存管理系统和方法
US9424136B1 (en) * 2013-06-12 2016-08-23 Veritas Technologies Llc Systems and methods for creating optimized synthetic backup images
CN105577801A (zh) * 2014-12-31 2016-05-11 华为技术有限公司 一种业务加速方法及装置
CN105159753A (zh) * 2015-09-25 2015-12-16 华为技术有限公司 加速器虚拟化的方法、装置及集中资源管理器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11221866B2 (en) 2016-11-09 2022-01-11 Huawei Technologies Co., Ltd. Accelerator loading method, system, and apparatus
US11416267B2 (en) * 2016-11-09 2022-08-16 Huawei Technologies Co., Ltd. Dynamic hardware accelerator selection and loading based on acceleration requirements
WO2023173276A1 (en) * 2022-03-15 2023-09-21 Intel Corporation Universal core to accelerator communication architecture

Also Published As

Publication number Publication date
US20220100550A1 (en) 2022-03-31
CN108073423B (zh) 2020-01-17
WO2018086437A1 (zh) 2018-05-17
EP3531280B1 (en) 2023-03-29
EP3531280A1 (en) 2019-08-28
EP3531280A4 (en) 2019-12-11
US20190266006A1 (en) 2019-08-29
US11221866B2 (en) 2022-01-11

Similar Documents

Publication Publication Date Title
CN108073423A (zh) 一种加速器加载方法、系统和加速器加载装置
CN113296792B (zh) 存储方法、装置、设备、存储介质和系统
CN112104723B (zh) 一种多集群的数据处理系统及方法
CN108667859A (zh) 一种实现资源调度的方法及装置
CN108322325B (zh) 一种虚拟机管理方法及装置
CN108089913B (zh) 一种超融合系统的虚拟机部署方法
WO2011156922A1 (en) Method and system for workload distributing and processing across a network of replicated virtual machines
CN109886693B (zh) 区块链系统的共识实现方法、装置、设备和介质
EP3442201B1 (en) Cloud platform construction method and cloud platform
US11036535B2 (en) Data storage method and apparatus
CN110520844A (zh) 云管理平台、虚拟机管理方法及其系统
US10761869B2 (en) Cloud platform construction method and cloud platform storing image files in storage backend cluster according to image file type
US11416267B2 (en) Dynamic hardware accelerator selection and loading based on acceleration requirements
CN108540408B (zh) 一种基于Openstack的分布式虚拟交换机的管理方法及系统
CN116932130A (zh) 一种基于OpenStack的仿真实验环境部署方法
CN108667750B (zh) 虚拟资源管理方法及装置
CN112631994A (zh) 数据迁移方法及系统
CN111949378B (zh) 虚拟机启动模式切换方法和装置、存储介质及电子设备
CN115546008B (zh) 一种gpu虚拟化管理系统和方法
US11924336B1 (en) Cryptographic artifact generation using virtualized security modules
CN117692359A (zh) 一种端口监听方法、装置、设备及介质
CN117369935A (zh) 用于libGDX引擎的多视图渲染方法、装置及设备
CN113703798A (zh) 分布式服务更新方法、装置、计算机设备及存储介质
CN118567789A (zh) 容器端口的管理方法、装置、存储介质及电子设备
CN116954632A (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