CN114253704A - 一种分配资源的方法及装置 - Google Patents

一种分配资源的方法及装置 Download PDF

Info

Publication number
CN114253704A
CN114253704A CN202011026503.8A CN202011026503A CN114253704A CN 114253704 A CN114253704 A CN 114253704A CN 202011026503 A CN202011026503 A CN 202011026503A CN 114253704 A CN114253704 A CN 114253704A
Authority
CN
China
Prior art keywords
acceleration
computing power
application
resources
hardware
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
CN202011026503.8A
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.)
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 CN202011026503.8A priority Critical patent/CN114253704A/zh
Publication of CN114253704A publication Critical patent/CN114253704A/zh
Pending legal-status Critical Current

Links

Images

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

一种分配资源的方法及装置,方法包括:服务器将视频压缩卡或者图形处理器等加速硬件的资源分解为多个单位算力;当所述服务器接收容器或虚拟机中的应用发送的算力申请请求时;所述服务器为所述应用分配算力,从而可提升加速资源的利用效率。

Description

一种分配资源的方法及装置
技术领域
本申请计算机技术领域,尤其涉及一种分配资源的方法及装置。
背景技术
随着机器学习技术及云计算技术的发展,传统的中央处理器(centralprocessing unit,简称CPU)资源算力已经无法满足海量数据的分析和计算请求。基于数据处理的需求,当前针对不同的业务需求针对性开发配套的加速硬件,例如图形处理器(graphics processing unit,简称GPU)能够大幅提高图形数据的计算效率,视频压缩卡能够提高视频图像的压缩效率,这一些加速硬件的资源可统称为加速资源。当前主流的数据处理系统都是基于容器或者虚拟机进行业务部署的,对于加速资源的使用方式,通常是直接将加速硬件直通到容器/虚拟机内部,在业务处理过程中,容器/虚拟机中执行的应用直接调用加速硬件提供的接口进行加速资源的申请和使用。因此在实际使用场景中,一个加速资源的全部算力由一个容器或者虚拟机独占。但是在现有的云计算场景下,各类业务并不是持续在使用申请的加速资源,可能会存在部分空闲时段,这种独占加速资源的方式将导致无法充分利用加速资源,存在加速资源的空闲浪费,利用效率较低。
发明内容
本申请实施例提供一种分配资源的方法及装置,可以解决加速资源利用效率较低的问题。
第一方面,本申请的实施例提供了一种分配资源的方法,包括:
服务器将加速硬件对应的加速资源分解为多个单位算力,其中,所述服务器包括多个所述加速硬件所述服务器接收容器或虚拟机中的应用发送的算力申请请求,所述容器或者虚拟器中运行所述应用;所述服务器为所述应用分配包括一个或者多个所述单位算力的算力。
服务器通过对加速资源进行算力分解,可以将加速资源的计算能力分解为多个单位算力,这样,应用可以根据业务需求请求合适的算力分配。从而可以实现对加速资源的精细化管理和使用,提高了加速资源的利用效率,也提升了多个同类型业务的并行处理效率。且通过本申请的资源分配方法,当一个加速资源故障时,服务器在进行算力分配的时候会过滤掉故障的加速资源,从状态正常的加速资源中分配对应的算力,实现应用无感知切换。
在一种可能的实现方式中,所述多个单位算力中,至少一个单位算力的加速资源是来自于复数个所述加速硬件。
单位算力可以是跨硬件设备的,因此可以实现多个加速硬件的加速资源的统一管理,利于提升加速资源的利用率和灵活性。
在一种可能的实现方式中,多个所述单位算力的加速资源来自于同一个加速硬件。
在一种可能的实现方式中,所述服务器将加速硬件对应的加速资源分解为多个单位算力,包括:
所述服务器根据所述加速资源所对应业务的规格,以及加速硬件的硬件规格,对所述加速资源进行算力分解,将所述加速资源的计算能力分解为多个单位算力。
服务器可以根据业务的规格和加速硬件的硬件规格来对加速资源进行算力分解,可以将加速资源的计算能力分解为适合该业务数据处理的多个单位算力,这样,应用可以根据业务需求请求合适的算力分配。从而可以实现对加速资源的精细化管理和使用,提高了加速资源的利用效率。在一种可能的实现方式中,所述服务器根据所述加速资源所对应业务的规格,以及加速硬件的硬件规格,对所述加速资源进行算力分解,包括:
所述服务器根据所述加速资源所对应业务的最小规格,以及加速资源的硬件规格,对所述加速资源进行算力分解。
通过这样的算力分解方式,可以以实现当前标准下最精细化的划分和管理。
在一种可能的实现方式中,在所述服务器将加速硬件对应的加速资源分解为多个单位算力之前,所述方法还包括:
所述服务器获取算力分配策略的配置信息;
所述服务器为所述应用分配包括一个或者多个所述单位算力的算力,包括:
所述服务器根据所述配置信息和所述算力申请请求,为所述应用分配包括一个或者多个所述单位算力的算力。
当分配算力时,可以综合配置信息和算力申请请求进行考虑。例如当前算力充足,则可以按照配置信息中的分配策略进行按需分配,若当前算力不足,则可以先按照配置信息中的分配策略进行分配,当存在空闲算力后,再结合算力申请请求进行分配。通过算力分配策略的配置,可以对算力分配规则进行统一管理和定义,应用系统可以基于业务的特点定制不同的分配策略以及优先级,确保加速资源的充分利用以及高优先业务的顺利执行。
在一种可能的实现方式中,所述配置信息中包括以下至少一种:
加速资源负载均衡的分配策略信息;
业务优先级信息;
容器优先级信息或虚拟机优先级信息。
在一种可能的实现方式中,所述加速资源包括以下至少一种:
视频压缩卡的视频压缩资源;
图形处理器的视频解码资源。
在一种可能的实现方式中,所述服务器为所述应用分配包括一个或者多个所述单位算力的算力,包括:
所述服务器调用所述加速硬件的驱动,申请与被分配的算力对应的物理资源;
所述驱动为所述应用提供被分配的算力对应的加速资源。
在一种可能的实现方式中,所述服务器为所述应用分配包括一个或者多个所述单位算力的算力,包括:
所述服务器调用所述加速硬件的驱动,申请与被分配的算力对应的物理资源;
所述服务器接收所述驱动返回的算力标识,所述算力标识与分配给所述应用的物理资源对应,将所述算力标识发送给所述应用,所述算力标识用于当所述应用发送所述算力标识给所述驱动时,所述驱动为所述应用分配所述算力标识对应的加速资源。
第二方面,本申请的实施例提供了一种分配资源的装置,可包括:
处理单元,用于将加速硬件对应的加速资源分解为多个单位算力,其中,所述服务器包括多个所述加速硬件;
收发单元,用于接收容器或虚拟机中的应用发送的算力申请请求,所述容器或者虚拟器中运行所述应用;
所述处理单元还用于为所述应用分配包括一个或者多个所述单位算力的算力。
在一种可能的实现方式中,所述多个单位算力中,至少一个单位算力的加速资源是来自于复数个所述加速硬件。
在一种可能的实现方式中,多个所述单位算力的加速资源来自于同一个加速硬件。
在一种可能的实现方式中,所述处理单元具体用于:
根据所述加速资源所对应业务的规格,以及加速硬件的硬件规格,对所述加速资源进行算力分解,将所述加速资源的计算能力分解为多个单位算力。
在一种可能的实现方式中,所述处理单元具体用于:
根据所述加速资源所对应业务的最小规格,以及加速资源的硬件规格,对所述加速资源进行算力分解。
在一种可能的实现方式中,所述收发单元还用于:
获取算力分配策略的配置信息;
所述处理单元具体用于:
根据所述配置信息和所述算力申请请求,为所述应用分配算力。
在一种可能的实现方式中,所述配置信息中包括以下至少一种:
加速资源负载均衡的分配策略信息;
业务优先级信息;
容器优先级信息或虚拟机优先级信息。
在一种可能的实现方式中,所述加速资源包括以下至少一种:
视频压缩卡的视频压缩资源;
图形处理器的视频解码资源。
在一种可能的实现方式中,所述处理单元具体用于:
调用所述加速硬件的驱动,申请与被分配的算力对应的物理资源;
所述驱动为所述应用提供被分配的算力对应的加速资源。
在一种可能的实现方式中,所述处理单元具体用于:
调用所述加速硬件的驱动,申请与算力对应的物理资源;
所述收发单元还用于接收所述驱动返回的算力标识,所述算力标识与分配给所述应用的物理资源对应,将所述算力标识发送给所述应用,所述算力标识用于当所述应用发送所述算力标识给所述驱动时,所述驱动为所述应用分配所述算力标识对应的物理资源。
第三方面,本申请实施例提供了一种装置。本申请提供的装置具有实现上述方法方面中服务器行为的功能,其包括用于执行上述方法方面所描述的步骤或功能相对应的部件(means)。所述步骤或功能可以通过软件实现,或硬件(如电路)实现,或者通过硬件和软件结合来实现。
在一种可能的设计中,上述装置包括一个或多个处理器和通信单元。所述一个或多个处理器被配置为支持所述装置执行上述方法中服务器相应的功能。例如,对加速资源进行算力分解以及为应用分配算力。所述通信单元用于支持所述装置与其他设备通信,实现接收和/或发送功能。例如,接收应用发送的算力申请请求,以及发送分配好的算力标识给应用。
可选的,所述装置还可以包括一个或多个存储器,所述存储器用于与处理器耦合,其保存装置必要的程序指令和/或数据。所述一个或多个存储器可以和处理器集成在一起,也可以与处理器分离设置。本申请并不限定。
所述装置可以为业务服务器等,所述通信单元可以是收发器,或收发电路。可选的,所述收发器也可以为输入/输出电路或者接口。
所述装置还可以为通信芯片。所述通信单元可以为通信芯片的输入/输出电路或者接口。
另一个可能的设计中,上述装置,包括收发器、处理器和存储器。该处理器用于控制收发器或输入/输出电路收发信号,该存储器用于存储计算机程序,该处理器用于运行该存储器中的计算机程序,使得该装置执行第一方面或第一方面中任一种可能实现方式服务器完成的方法。
第四方面,本申请实施例提供了一种服务器,包括:
加速硬件,用于提供加速资源;
处理器,和所述加速硬件通过总线连接,所述处理器用于调用程序代码,执行上述第一方面或第一方面中任一种可能实现方式中的方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面中任一种可能实现方式中的方法的指令。
第六方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面中任一种可能实现方式中的方法。
附图说明
图1为本申请实施例提供的一种服务器的架构示意图;
图2为本申请实施例提供的一种分配资源的方法的流程示意图;
图3为本申请实施例提供的另一种分配资源的方法的流程示意图;
图4为本申请实施例提供的一种分配视频压缩卡的算力的方法的流程示意图;
图5为本申请实施例提供的一种分配资源的装置的组成示意图;
图6为本申请实施例提供的另一种分配资源的装置的组成示意图;
图7为本申请实施例提供的一种分配视频压缩卡的算力的装置的组成示意图;
图8为本申请实施例提供的又一种分配资源的装置的组成示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请的实施例进行描述。
本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选的还包括没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面结合附图对本申请实施例的分配资源的方法及装置进行详细说明。
请参照图1,为本申请实施例中提供的一种服务器的架构示意图。该服务器可提供云计算服务,生成容器或虚拟机供用户使用,并对自身配置的各种加速资源进行算力管理和分配。其具体可以包括容器10或虚拟机20,以及处理单元30、收发单元40(图1未示出)、加速资源50,可选地,还可以进一步包括算力分配策略管理单元60。容器10(或者虚拟机20)、处理单元30以及算力分配策略管理单元60可以运行在服务器中,具体而言可以运行在服务器的处理器(图1未示出)中,处理器(可以是多种形态:例如单处理器、多处理器组成的组合)通过总线等方式和加速资源连接。容器10(或者虚拟机20)中运行有应用。
其中,容器10(container)是计算机操作系统中的一种虚拟化技术。该技术使得进程运行于相对独立和隔离的环境(包含独立的文件系统、命名空间、资源视图等),从而能够简化软件的部署流程,增强软件的可移植性和安全性,并提高系统资源利用率。容器技术广泛应用于云计算领域的服务化场景。
虚拟机20(virtual machine,简称VM)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在服务器或计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。用户可以像使用实体机一样对虚拟机进行操作。
容器10或虚拟机20中运行的应用需要使用加速资源时,可以向处理单元30发起请求,以获取相应的加速资源对业务数据进行加速处理。
处理单元30可用于对加速资源40进行算力分解,以及对分解后的算力进行分配。
收发单元40(图1未示出),用于接收容器10或虚拟机20中应用的算力申请请求并发送给处理单元30,由处理单元30为容器10或虚拟机20中的应用分配算力。以及为处理单元30与其他设备或应用之间进行信息交互或数据传输提供通道或接口。例如收发单元40可以为处理单元30与容器10之间,处理单元30与虚拟机20之间,处理单元30与加速资源之间,处理单元30与算力分配策略管理单元60之间信息交互或数据传输提供通道或接口,为了附图的简洁清晰,图1未示出收发单元40。
加速资源50(acceleration resource)是可以提供加速功能的资源,该资源拥有独立标识,支持容器10/虚拟机20通过直通方式进行使用的最小单元,例如GPU中的芯片以及视频压缩卡中的压缩芯片等。
算力(computing power),用于表示加速资源的计算能力,通过将加速资源的业务规格进行逻辑化处理,将一个或者多个加速资源的计算能力分解成多个单位算力,每个单位算力对应加速资源的部分加速能力,例如假设视频压缩卡中最大规格为同时支持64路1080P视频压缩,而视频业务当前支持的业务规格包括480P、720P、1080P等,则整体算力可以抽象为256路480P压缩能力,单位算力则为1路480P压缩能力。GPU加速资源的处理同视频压缩卡类似,例如某个GPU卡的最大规格为支持8路1080P视频解码,则整体算力可以抽象为32路480P解码能力,单位算力则为1路480P解码能力。其中,视频压缩卡是视频监控领域对视频流量进行数据压缩的加速硬件,其可以通过对视频流数据进行快速压缩达到减少视频存储空间的目的。本申请把多个加速硬件的资源的计算能力池化,形成多个单位算力组成的算力资源池。池中不同的单位算力所拥有的资源可以相同,也可以不同。同一个单位算力的资源可以来自于单个的加速硬件,也可以来自于多个加速硬件,例如:2个视频压缩卡为同一个算力单元提供算力。
可选地,还可以包括算力分配策略管理单元60,用于生成算力分配策略的配置信息,可发送给处理单元30,作为处理单元30分配算力的依据和参考。需要说明的是,算力分配策略管理单元60可以设置在服务器内,与服务器集成设置,也可以设置在服务器外,作为独立的管理服务器的一部分,实现对该服务器或多个服务器的管理。本申请实施例不作任何限定。
请参见图2,图2为本申请实施例提供的一种分配资源的方法的流程示意图;包括如下步骤:
S201,服务器将加速硬件对应的加速资源分解为多个单位算力。
其中,所述服务器包括多个所述加速硬件。多个加速硬件可以为相同类型的加速硬件,可用于处理同一类业务;也可以为不同类型的加速硬件,可分别用于处理不同类型的业务。且本申请实施例中的服务器可以对多个加速硬件的加速资源进行分解,当只有一个加速硬件存在或正常工作时,服务器也可以采用本申请实施例中的方法对这一个加速硬件的加速资源进行分解。
可选地,服务器可以根据所述加速资源所对应业务的规格,以及加速硬件的硬件规格,对所述加速资源进行算力分解,将所述加速资源的计算能力分解为多个单位算力。或者也可以将加速硬件的加速资源作为一个资源池,然后根据预配置的业务类型与分解粒度的对应关系表来对加速资源进行分解。
其中,业务的规格用于表示业务所支持的各种处理规格。例如对于视频压缩的处理业务,其支持的处理规格可以是按照480P、720P、1080P、2K、4K等规格进行视频压缩处理。加速硬件的硬件规格用于表示加速硬件本身的硬件加速能力,用于表征其支持的最大处理规格,例如对于视频压缩卡,用于视频压缩的处理业务,其支持的最大处理规格为同时支持64路1080P视频压缩,则可以结合业务支持的处理规格来对视频压缩卡的加速资源进行更细的划分,如分解成256路480P的视频压缩能力。又例如对于GPU,其支持的最大处理规格为同时支持8路1080P的视频解码,则可以结合视频解码业务支持的处理规格来对GPU的加速资源进行更细的划分,如分解成32路480P的视频解码能力。通常,为了对加速资源更精细化的管理和分配,可以将加速硬件的硬件规格按照小于该硬件规格的标准进行细分。
更进一步的,所述服务器可以根据加速资源所对应业务的最小规格,以及加速资源的硬件规格,对所述加速资源进行算力分解。以实现当前标准下最精细化的划分和管理。
且对于每一个单位算力而言,其可以是由一个或多个加速硬件中的部分加速资源生成。即在一种可能的实现方式中,所述多个单位算力中,至少一个单位算力的加速资源是来自于复数个所述加速硬件。例如,一个加速硬件中的加速资源可以分解成多个单位算力,当存在多个同类型的加速硬件时,可以将同类的加速硬件的加速资源作为一个资源池进行统一的管理和分解,因此,一个单位算力也可以是由多个加速硬件中的部分加速资源生成的。在另一种实现方式中,多个所述单位算力的加速资源来自于同一个加速硬件。即可以将一个加速硬件的加速资源分解为多个单位算力。
可选地,所述加速资源可以包括以下至少一种:
视频压缩卡的视频压缩资源;
图形处理器的视频解码资源。
在服务器进行算力分解之前,服务器可以通过各类加速资源提供的驱动获取服务器上所有的加速资源信息(包括编号、位置、名称等信息)以及每个加速资源上的算力,组成算力资源池并进行统一管理。
S202,所述服务器接收容器或虚拟机中的应用发送的算力申请请求。
所述容器或者虚拟器中运行所述应用。
应用可以根据当前的业务需求来申请算力。可在请求中携带应用基本信息、加速资源类型、算力数量等。
S203,所述服务器为所述应用分配包括一个或者多个所述单位算力的算力。
具体的分配流程可以根据如下步骤进行:
所述服务器调用所述加速硬件的驱动,申请与算力对应的物理资源;
所述服务器接收所述驱动返回的算力标识,所述算力标识与分配给所述应用的物理资源对应,将所述算力标识发送给所述应用。所述算力标识用于当所述应用发送所述算力标识给所述驱动时,所述驱动为所述应用分配所述算力标识对应的物理资源。
本申请实施例的方法适用于各类加速资源,这类加速资源是一个独立的系统,拥有完整的驱动层,驱动层可以控制和调用算力,从而可以进行算力的分解。处理器、内存、网卡、声卡等不是独立的系统,因此无法做到这一点,所以不属于本申请中加速资源的范畴。
例如,在一种虚拟化技术中,主要是在进行虚拟机以及容器初始化的时候,指定对应的CPU以及内存资源等,并通过虚拟化层进行资源映射的方式将对应的资源映射到虚拟机/容器内部,由应用通过虚拟化层实现对这些资源的使用。这种方法相关的资源在使用过程中难以轻易按需进行申请和调整。例如,为一个虚拟机分配32GB的内存,那么这32GB内存归这个虚拟机所有,难以被其他虚拟机分享。而一旦用户认为32GB内存难以满足需求,想要把内存扩容为32GB,则整个过程非常复杂。
而本申请所使用的方法能够实现应用在实际运行过程中根据实际需要按需申请对应的加速资源,当使用完成后可以及时进行释放,资源的使用更加灵活。并且中间无需经过虚拟化层进行映射,而是直接采用“直通”的方式,由虚拟机/容器内的应用直接与加速资源进行交互,可以提升业务处理效率。
而相对于另外一种通过驱动独占加速资源的方式,本申请实施例的方法中服务器通过对加速资源进行算力分解,将少量加速资源的计算能力分解大量的单位算力(例如:一个加速资源所提供的计算能力是一个单位算力单元的算力的多倍),这样,应用可以根据业务需求请求合适的算力分配。从而可以实现对加速资源的精细化管理和使用,提高了加速资源的利用效率,也提升了多个同类型业务的并行处理效率。且通过本申请的资源分配方法,当一个加速资源故障时,服务器在进行算力分配的时候会过滤掉故障的加速资源,从状态正常的加速资源中分配对应的算力,实现应用无感知切换。
更进一步的,在分配算力时,还可以对算力分配进行规则化的管理。请参见图3,为本申请实施例提供的另一种分配资源的方法的流程示意图,包括如下步骤:
S301,服务器获取算力分配策略的配置信息。
其中,所述配置信息中包括以下至少一种:
加速资源负载均衡的分配策略信息;用于控制算力分配时的负载均衡。
业务优先级信息;用于指示业务的优先级,当同时存在多个业务的算力申请请求时,可优先满足高优先级业务的请求,以确保高优先级业务的及时和高效处理。
容器优先级信息或虚拟机优先级信息,用于指示容器或虚拟机的优先级,当同时存在多个容器或虚拟机的算力申请请求时,可优先满足高优先级容器或虚拟机的请求,以确保高优先级容器或虚拟机的业务得到及时和高效的处理。
S302,根据所述加速资源所对应业务的规格,以及加速硬件的硬件规格,对所述加速资源进行算力分解,将所述加速资源的计算能力分解为多个单位算力。
S303,接收容器或虚拟机中的应用发送的算力申请请求。
S304,所述服务器根据所述配置信息和所述算力申请请求,为所述应用分配包括一个或者多个所述单位算力的算力。
当分配算力时,可以综合配置信息和算力申请请求进行考虑。例如当前算力充足,则可以按照配置信息中的分配策略进行按需分配,若当前算力不足,则可以先按照配置信息中的分配策略进行分配,当存在空闲算力后,再结合算力申请请求进行分配。
通过算力分配策略的配置,可以对算力分配规则进行统一管理和定义,应用系统可以基于业务的特点定制不同的分配策略以及优先级,确保加速资源的充分利用以及高优先业务的顺利执行。
下面,以算力分配策略管理单元配置在外部的管理服务器上,并以视频压缩卡中的加速资源的分配流程进行详细举例说明,具体请参见图4,为本申请实施例提供的一种分配视频压缩卡的算力的方法的流程示意图;包括以下步骤:
S401,服务器中的处理单元从管理服务器的算力分配策略单元获取算力分配策略的配置信息。
具体地,系统启动的时候,服务器中的各个服务启动,服务器中的处理单元通过网络与管理服务器中的算力分配策略管理单元通信,下载算力分配策略的配置信息到本地,并作为算力分配策略保存在本地的存储器中。当需要使用时,处理单元可以从存储器中读取算力分配策略,将配置信息加载到内存中。
S402,处理单元调用视频压缩卡的驱动提供的接口,读取服务器上的所有视频压缩卡的信息。
S403,处理单元对视频压缩卡的加速资源进行算力分解,初始化视频压缩卡算力资源池。
可选地,处理单元可以建立一个视频压缩卡所包括的压缩芯片的列表(例如[0x00:08.0.01,0x00:08.0.02……0x00:09.0.01,0x00:09.0.02],其中0x00:08.0为视频压缩卡对应的外设部件互连标准(Peripheral Component Interconnect,简称PCI)槽位号,最后两位为视频压缩卡内的压缩芯片编号)。然后根据每颗视频压缩芯片的规格,初始化视频压缩卡算力资源池,将1路480P压缩能力作为单位算力(D1),则一颗视频压缩芯片包含64个单位算力(D1),并保存在内存中。
S404,应用向处理单元发送申请视频压缩算力的算力申请请求。
当应用需要使用视频压缩资源时,可通过socket接口发送接口消息(消息内容包括压缩的码率以及路数,例如1路720P)到处理器的资源申请处理队列中。
S405,处理单元根据算力分配策略的配置信息和算力申请请求为应用分配算力。
处理单元从处理队列中获取待处理的算力申请请求,并根据算力分配策略中的配置信息(例如采用均衡分配,则将不同请求平均分配到不同视频压缩芯片中)和算力申请请求分配对应的算力,例如分配算力资源池中编号为"000800100","000800101"的算力资源供该应用使用。
在本实施例中,由于引入了算力分配策略的管理功能,所有的算力申请都需要经过处理单元,因此当所有的压缩算力已经被占用,会导致新申请算力的应用在队列中等待,此时在分配策略中可以配置应用对应的优先级,高优先级的应用可以在队列调度的时候优先调度。
S406,处理单元将分配给应用的算力编号发送给驱动。
处理单元可以从视频压缩卡算力资源池中获取满足资源要求的视频压缩芯片信息,调用视频压缩卡驱动提供的接口申请视频压缩算力(传入视频压缩芯片的标识以及申请的单位算力数量,例如0x00:08.0.01为视频压缩芯片标识,算力数量为2,因为1路720P的处理需要2个单位算力来处理)。
S407,驱动向视频压缩卡中的视频压缩芯片申请算力编号对应的压缩通道。即用于处理视频压缩的物理资源。
视频压缩卡的驱动可以在对应的视频压缩芯片中申请算力编号对应的算力的压缩通道(例如0x10005001)。
S408,申请成功后,驱动将压缩通道标识即算力标识(0x10005001)返回给处理单元。
S409,处理单元向驱动申请用于数据交互的交互内存。
处理单元申请压缩通道成功后,需要调用视频压缩卡驱动接口(传入压缩通道标识0x10005001)申请对应的内存用于传输视频数据,需要申请2个内存(每块内存64K),内存1用于视频压缩芯片接收原始视频数据,内存2用于视频压缩芯片发送压缩后的视频数据,并将内存与压缩通道标识0x10005001绑定。
S410,申请成功后,驱动将对应的内存地址返回给处理单元。
S411,处理单元将接收到的内存地址返回给应用。
S412,应用将视频数据存放到内存1中。
S413,视频压缩卡中的视频压缩芯片通过PCI内存映射,读取内存1中的数据,并使用压缩通道标识0x10005001对应的算力进行数据压缩,压缩完成后将结果存储到内存2中。
S414,应用读取内存2中的压缩后的数据,并对压缩后的数据进行处理和存储。
请参照图5,为本申请实施例提供的一种分配资源的装置的组成示意图;包括:
处理单元100,用于将加速硬件对应的加速资源分解为多个单位算力;
其中,所述服务器包括多个所述加速硬件。
具体地,处理单元100可以通过各类加速资源提供的驱动获取该装置上所有的加速资源信息(包括编号、位置、名称等信息)并进行算力分解得到每个加速硬件对应的加速资源的算力,组成算力资源池并进行统一管理。
收发单元200,用于接收容器或虚拟机中的应用发送的算力申请请求;所述容器或者虚拟器中运行所述应用。
具体地,容器或者虚拟机的业务需要对应的算力进行业务运算的时候,可以调用处理单元100提供的算力申请接口(物理上可以是收发单元200中的接收模块)进行算力申请。
所述处理单元100还用于为所述应用分配包括一个或者多个所述单位算力的算力。
处理单元100收到请求后,从算力资源池中选择对应加速资源上未使用的算力资源,将算力资源标识(例如压缩卡中的对应的压缩通道)通过收发单元200中的发送模块发送给容器或者虚拟机的业务模块。并将分配的算力资源标记为已使用。
容器或者虚拟机申请到算力资源后,便可以调用加速资源对应的功能接口,传入业务数据以及从申请到的算力资源标识,由对应的加速资源对业务数据进行处理。
可选地,所述多个单位算力中,至少一个单位算力的加速资源是来自于复数个所述加速硬件。
可选地,多个所述单位算力的加速资源来自于同一个加速硬件。
可选地,所述处理单元100具体用于:
根据所述加速资源所对应业务的规格,以及加速硬件的硬件规格,对所述加速资源进行算力分解,将所述加速资源的计算能力分解为多个单位算力。
可选地,所述处理单元100具体用于:
所述加速资源所对应业务的最小规格,以及加速资源的硬件规格,对所述加速资源进行算力分解。
可选地,所述加速资源包括以下至少一种:
视频压缩卡的视频压缩资源;
图形处理器的视频解码资源。
可选地,所述处理单元100具体用于:
调用所述加速硬件的驱动,申请与被分配的算力对应的物理资源;
所述驱动为所述应用提供被分配的算力对应的加速资源。
可选地,所述处理单元100具体用于:
调用所述加速硬件的驱动,申请与被分配的算力对应的物理资源;
所述收发单元200还用于接收所述驱动返回的算力标识,所述算力标识与分配给所述应用的物理资源对应,将所述算力标识发送给所述应用,所述算力标识用于当所述应用发送所述算力标识给所述驱动时,所述驱动为所述应用分配所述算力标识对应的加速资源。
请参照图6,图6为本申请实施例提供的另一种分配资源的装置的组成示意图;
可选地,由于加速资源可以是多种多样的,因此,所述处理单元100可以包括多个算力分配模块1001,每个算力分配模块1001负责一类加速资源的分解和分配。
根据加速资源的类型,可以启动对应的算力分配模块1001,算力分配模块1001调用该类加速资源提供的驱动接口,获取该类加速资源的基本信息,包括加速资源的类型、个数、编号、位置、名称等信息,同时还获取每个加速资源内部的算力标识(算力标识可以为一个字符串如0x000001,0x0000002等)。
算力分配模块1001可以在内存中预留一块空间用于管理算力资源池。算力资源池中的每一个算力单元拥有唯一的标识例如为一个编号或编码,通过该编号或编码可以查找到对应加速资源的基本信息以及算力标识。
可选地,所述收发单元200还用于:
获取算力分配策略的配置信息;
所述处理单元100还可以包括算力分配策略模块1002,用于存储算力分配策略的配置信息,以使得所述处理单元100具体用于:
根据所述配置信息和所述算力申请请求,为所述应用分配算力。
即算力分配策略模块1002可以通过收发单元200从外部的管理服务器上获取各类加速资源的算力分配策略的配置信息,实现与外部的管理服务器上的配置信息同步。并可以将这些配置信息发送给各个算力分配模块1001,使得算力分配模块1001根据配置信息和算力申请请求来为应用分配算力。处理单元100获取到配置信息后,可以将配置信息保存在本地或内存中。
可选地,所述配置信息中包括以下至少一种:
加速资源负载均衡的分配策略信息;
业务优先级信息;
容器优先级信息或虚拟机优先级信息。
算力分配策略模块1002除了集成在处理单元100内部之外,在另一种可能的实现方式中,算力分配策略模块1002也可以与处理单元100分离设置,作为一个独立的存储单元,用于存储算力分配策略的配置信息,本申请实施例不作任何限定。
上述装置中各个模块的详细作用及执行方法的流程可以参见图2-图3所述实施例中的描述,此处不再赘述。
对应于图4所示实施例的方法,请参照图7,图7为本申请实施例提供的一种分配视频压缩卡的算力的装置的组成示意图;
在一种可能的实现方式中,该装置可以为一种提供业务处理的业务服务器,其可以包括处理单元100,收发单元200,运行应用1的容器300,运行应用2的虚拟机400,驱动500以及第一视频压缩卡600,第二视频压缩卡700。
其中,处理单元100可以包括算力分配模块1001和算力分配策略模块1002,收发单元200用于供处理单元100与容器300,虚拟机400,驱动500,算力分配策略管理单元800等设备或模块之间的信息交互及数据传输(为了附图清晰,部分设备之间的连线描绘为处理单元与其他设备或模块直连)。例如,处理单元100中的算力分配模块1001与容器300运行的应用1之间采用socket接口进行通信,该算力分配模块1001模块还可以通过压缩卡驱动提供的接口操作第一视频压缩卡中的压缩芯片。
驱动500为第一视频压缩卡600和第二视频压缩卡700的配套驱动程序,也可以称为硬件驱动或驱动程序等,对于视频压缩卡的访问以及操作主要通过驱动500来进行。
第一视频压缩卡600和第二视频压缩卡700,每个视频压缩卡为实际的物理硬件,一张视频压缩卡占用一个PCI槽位,一张视频压缩卡中由若干颗压缩芯片组成(图7黑色实体方块所示),为了描述简便,图7示出4颗压缩芯片作为示例,在实际的视频压缩卡产品中,可以包含更多其他数目的视频压缩芯片。视频压缩的工作由压缩芯片完成压缩芯片可以直通到容器内部,容器内的应用可以通过驱动操作压缩芯片。
以处理单元100基于策略信息和算力申请请求为应用分配算力为例,处理单元100中的算力分配策略模块1002从外部的管理服务器中的算力分配策略管理单元800获取算力分配策略的配置信息并发送给算力分配模块1001,算力分配模块1001对第一视频压缩卡600和第二视频压缩卡700提供的加速资源进行分解,得到多个单位算力,组成视频压力的算力资源池。当收到容器300运行的应用1发出的算力申请请求时,便可以根据算力申请请求以及配置信息为应用1分配算力。具体的分配过程可以参见图4所示实施例的描述,此处不再赘述。
可选地,如果应用1和应用2同时申请算力,且当前算力资源紧缺,则可以根据配置信息中容器300和虚拟机400的优先级高低来分配算力。
通过管理服务器可以同时为多个业务服务器提供算力分配策略的配置信息。在另一种可能的实施方式中,管理服务器中的算力分配策略管理单元800也可以集成在业务服务器内部,本申请实施例不作任何限定。
请参照图8,为本申请实施例提供的一种服务器的组成示意图;如图8所示,该装置可以包括处理器110和加速硬件120。处理器110和加速硬件120通过总线130连接,该处理器110用于执行调用存储的程序代码,以实现如上图2-4对应的方法中服务器执行的步骤。
可选地,程序代码可以存储在处理器110上,也可以存储在独立的存储器140中,处理器110可以读取存储器140中的程度代码,以完成上述方法中服务器执行的步骤。
作为一种实现方式,处理器110可以考虑通过专用处理芯片、处理电路、处理器或者通用芯片实现。
该装置所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。
作为本实施例的另一种形式,提供一种计算机可读存储介质,其上存储有指令,该指令被执行时执行上述方法实施例中服务器执行的方法。
作为本实施例的另一种形式,提供一种包含指令的计算机程序产品,该指令被执行时执行上述方法实施例中服务器执行的方法。
本领域技术人员可以理解,为了便于说明,图8中仅示出了一个存储器和处理器。在实际的控制器中,可以存在多个处理器和存储器。存储器也可以称为存储介质或者存储设备等,本申请实施例对此不做限制。
应理解,在本申请实施例中,处理器可以是中央处理单元(central processingunit,简称CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessing,简称DSP)、专用集成电路(application specific integrated circuit,简称ASIC)、现成可编程门阵列(field-programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
还应理解,本发明实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,简称ROM)、可编程只读存储器(programmable ROM,简称PROM)、可擦除可编程只读存储器(erasable PROM,简称EPROM)、电可擦除可编程只读存储器(electrically EPROM,简称EEPROM)或闪存。易失性存储器可以是随机存取存储器(randomaccess memory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,简称SRAM)、动态随机存取存储器(dynamic RAM,简称DRAM)、同步动态随机存取存储器(synchronous DRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,简称DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,简称ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,简称DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
该总线除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线。
还应理解,本文中涉及的第一、第二、第三、第四以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请的范围。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
根据本申请实施例提供的方法,本申请实施例还提供一种系统,其包括前述的服务器和管理服务器等。
在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrative logical block,简称ILB)和步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (20)

1.一种分配资源的方法,其特征在于,包括:
服务器将加速硬件对应的加速资源分解为多个单位算力,其中,所述服务器包括多个所述加速硬件;
所述服务器接收容器或虚拟机中的应用发送的算力申请请求,所述容器或者虚拟器中运行所述应用;
所述服务器为所述应用分配包括一个或者多个所述单位算力的算力。
2.根据权利要求1所述的方法,其特征在于,其中:
所述多个单位算力中,至少一个单位算力的加速资源是来自于复数个所述加速硬件。
3.根据权利要求1所述的方法,其特征在于,其中:
多个所述单位算力的加速资源来自于同一个加速硬件。
4.根据权利要求1所述的方法,其特征在于,所述服务器将加速硬件对应的加速资源分解为多个单位算力,包括:
所述服务器根据所述加速资源所对应业务的规格,以及加速硬件的硬件规格,对所述加速资源进行算力分解,将所述加速资源的计算能力分解为多个单位算力。
5.根据权利要求4所述的方法,其特征在于,所述服务器根据所述加速资源所对应业务的规格,以及加速硬件的硬件规格,对所述加速资源进行算力分解,包括:
所述服务器根据所述加速资源所对应业务的最小规格,以及加速资源的硬件规格,对所述加速资源进行算力分解。
6.根据权利要求1所述的方法,其特征在于,在所述服务器将加速硬件对应的加速资源分解为多个单位算力之前,所述方法还包括:
所述服务器获取算力分配策略的配置信息;
所述服务器为所述应用分配包括一个或者多个所述单位算力的算力,包括:
所述服务器根据所述配置信息和所述算力申请请求,为所述应用分配包括一个或者多个所述单位算力的算力;
其中,所述配置信息中包括以下至少一种:
加速资源负载均衡的分配策略信息;
业务优先级信息;
容器优先级信息或虚拟机优先级信息。
7.根据权利要求1-5任一项所述的方法,所述加速资源包括以下至少一种:
视频压缩卡的视频压缩资源;
图形处理器的视频解码资源。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述服务器为所述应用分配包括一个或者多个所述单位算力的算力,包括:
所述服务器调用所述加速硬件的驱动,申请与被分配的算力对应的物理资源;
所述驱动为所述应用提供被分配的算力对应的加速资源。
9.根据权利要求1-8任一项所述的方法,所述服务器为所述应用分配包括一个或者多个所述单位算力的算力,包括:
所述服务器调用所述加速硬件的驱动,申请与被分配的算力对应的物理资源;
所述服务器接收所述驱动返回的算力标识,所述算力标识与分配给所述应用的物理资源对应,将所述算力标识发送给所述应用,所述算力标识用于当所述应用发送所述算力标识给所述驱动时,所述驱动为所述应用分配所述算力标识对应的加速资源。
10.一种分配资源的装置,其特征在于,包括:
处理单元,用于将加速硬件对应的加速资源分解为多个单位算力,其中,所述服务器包括多个所述加速硬件;
收发单元,用于接收容器或虚拟机中的应用发送的算力申请请求,所述容器或者虚拟器中运行所述应用;
所述处理单元还用于为所述应用分配包括一个或者多个所述单位算力的算力。
11.根据权利要求10所述的装置,其特征在于,其中:
所述多个单位算力中,至少一个单位算力的加速资源是来自于复数个所述加速硬件。
12.根据权利要求10所述的装置,其特征在于,其中:
多个所述单位算力的加速资源来自于同一个加速硬件。
13.根据权利要求10所述的装置,其特征在于,所述处理单元具体用于:
根据所述加速资源所对应业务的规格,以及加速硬件的硬件规格,对所述加速资源进行算力分解,将所述加速资源的计算能力分解为多个单位算力。
14.根据权利要求13所述的装置,其特征在于,所述处理单元具体用于:
根据所述加速资源所对应业务的最小规格,以及加速资源的硬件规格,对所述加速资源进行算力分解。
15.根据权利要求10所述的装置,其特征在于,所述收发单元还用于:
获取算力分配策略的配置信息;
所述处理单元具体用于:
根据所述配置信息和所述算力申请请求,为所述应用分配算力;
其中,所述配置信息中包括以下至少一种:
加速资源负载均衡的分配策略信息;
业务优先级信息;
容器优先级信息或虚拟机优先级信息。
16.根据权利要求10-15任一项所述的装置,其特征在于,所述加速资源包括以下至少一种:
视频压缩卡的视频压缩资源;
图形处理器的视频解码资源。
17.根据权利要求10-16任一项所述的装置,其特征在于,所述处理单元具体用于:
调用所述加速硬件的驱动,申请与被分配的算力对应的物理资源;
所述驱动为所述应用提供被分配的算力对应的加速资源。
18.根据权利要求10-16任一项所述的装置,其特征在于,所述处理单元具体用于:
调用所述加速硬件的驱动,申请与被分配的算力对应的物理资源;
所述收发单元还用于接收所述驱动返回的算力标识,所述算力标识与分配给所述应用的物理资源对应,将所述算力标识发送给所述应用,所述算力标识用于当所述应用发送所述算力标识给所述驱动时,所述驱动为所述应用分配所述算力标识对应的加速资源。
19.一种服务器,其特征在于,包括:
加速硬件,用于提供加速资源;
处理器,和所述加速硬件通过总线连接,所述处理器用于调用程序代码,执行如权利要求1-9任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,包括:
所述计算机可读存储介质中存储有指令,当其在计算机上运行时,实现如权利要求1-9任一项所述的方法。
CN202011026503.8A 2020-09-25 2020-09-25 一种分配资源的方法及装置 Pending CN114253704A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011026503.8A CN114253704A (zh) 2020-09-25 2020-09-25 一种分配资源的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011026503.8A CN114253704A (zh) 2020-09-25 2020-09-25 一种分配资源的方法及装置

Publications (1)

Publication Number Publication Date
CN114253704A true CN114253704A (zh) 2022-03-29

Family

ID=80789377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011026503.8A Pending CN114253704A (zh) 2020-09-25 2020-09-25 一种分配资源的方法及装置

Country Status (1)

Country Link
CN (1) CN114253704A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115550370A (zh) * 2022-12-01 2022-12-30 浩鲸云计算科技股份有限公司 一种基于多因素策略的算力资源最优调度分配方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115550370A (zh) * 2022-12-01 2022-12-30 浩鲸云计算科技股份有限公司 一种基于多因素策略的算力资源最优调度分配方法

Similar Documents

Publication Publication Date Title
CN105183565B (zh) 计算机、服务质量控制方法及装置
US8417848B2 (en) Method and apparatus for implementing multiple service processing functions
EP3481007A1 (en) Method, device, and equipment for processing resource pool
CN112905342B (zh) 资源调度方法、装置、设备及计算机可读存储介质
US10275558B2 (en) Technologies for providing FPGA infrastructure-as-a-service computing capabilities
EP2882168A1 (en) Method, system and client device for mapping multiple virtual machines
CN112825042A (zh) 资源管理方法和装置、电子设备及存储介质
JP2022105146A (ja) アクセラレーションシステム、アクセラレーション方法、及びコンピュータプログラム
CN103049328A (zh) 计算机系统中内存资源分配方法
CN116774933A (zh) 存储设备的虚拟化处理方法、桥接设备、系统及介质
CN111176829A (zh) 虚拟化处理系统中的物理功能和虚拟功能的灵活资源分配
CN116248414B (zh) 基于虚拟化硬件实现密码加速的方法、装置及电子设备
CN110752937B (zh) 一种物理功能复用方法、装置和计算机存储介质
CN110990114A (zh) 一种虚拟机资源分配方法、装置、设备及可读存储介质
CN113296926B (zh) 一种资源分配方法、计算设备及存储介质
CN112416359A (zh) 动态分区定制方法、装置、设备和计算机可读存储介质
CN115237589A (zh) 一种基于sr-iov的虚拟化方法、装置和设备
CN114253704A (zh) 一种分配资源的方法及装置
CN115686346A (zh) 一种数据存储方法、设备及计算机可读存储介质
US7900010B2 (en) System and method for memory allocation management
CN117130571A (zh) 基于多核异构系统的显示方法、设备、芯片、存储介质
CN113254160B (zh) 一种io资源请求方法和装置
CN115756868A (zh) 内存分配方法、装置、设备、存储介质及计算机程序产品
CN114661465A (zh) 资源管理的方法、装置、存储介质及电子设备
CN112241307A (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