IP Library Granted Patent US 11,080,076
Granted Patent B2
US 11,080,076 · App. 16/852,408 · Granted Aug 3, 2021

Acceleration management node, acceleration node, client, and method

Inventors: Jianbang Wu (Hangzhou, CN); Peng Yuan (Beijing, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
G06F9/45533H04L29/08H04L41/5025H04L67/10H04L67/1002G06F2212/2542
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,080,076
App. No.
16/852,408
Granted
Aug 3, 2021
Kind
B2
Abstract

Embodiments of the present application provide an acceleration management node. The acceleration management node separately receives acceleration device information of all acceleration devices. The acceleration device information includes an acceleration type and an algorithm type. The acceleration management node obtains an invocation request from a client. The invocation request is used to invoke an acceleration device to accelerate a service of the client, and the invocation request includes a target acceleration type and a target algorithm type. The acceleration management node queries the acceleration device information to determine, from all the acceleration devices of the at least one acceleration node, a target acceleration device matching the invocation request. The acceleration management node further instructs a target acceleration node to respond to the invocation request.

Claims (66)

1. An acceleration management node, comprising:

a memory configured to store program instructions, and a processor coupled to the memory;

wherein, by executing the instructions, the processor is configured to:

receive, from each acceleration node, information of acceleration devices on the acceleration node;

receive an invocation request from a client, wherein the invocation request requests an acceleration device to accelerate a service of the client, and wherein the invocation request comprises an acceleration requirement;

determine a target acceleration device, wherein information of the target acceleration device matches the acceleration requirement in the invocation request; and

instruct a target acceleration node, to which the target acceleration device belongs, to respond to the invocation request;

wherein information of an acceleration device on an acceleration node comprises information of an acceleration type, and at least one of the following:

information of an algorithm type,

information of an acceleration bandwidth, or

non-uniform memory access architecture (NUMA) information.

2. The acceleration management node according to claim 1 , wherein in determining the target acceleration device, the processor is configured to:

determine the target acceleration device, wherein the algorithm type of the target acceleration device matches an algorithm type indicating by the invocation request from the client.

3. The acceleration management node according to claim 1 , wherein the information of an acceleration device comprises the information of an acceleration bandwidth, and the acceleration bandwidth comprises a total bandwidth and an occupied bandwidth; and in determining the target acceleration device, the processor is configured to:

determine the target acceleration device, wherein a remaining bandwidth of the target acceleration device is greater than or equal to a target acceleration bandwidth indicating by the invocation request, wherein the remaining bandwidth is the total bandwidth minus the occupied bandwidth.

4. The acceleration management node according to claim 3 , wherein when there are more than one acceleration devices that have remaining bandwidths greater than or equal to the target acceleration bandwidth indicating by the invocation request, one acceleration device that has a maximum remaining bandwidth is determined to be the target acceleration device.

5. The acceleration management node according to claim 1 , wherein when there are more than one acceleration devices that meet the acceleration requirement, one acceleration device having a maximum quantity of virtual functions is determined to be the target acceleration device.

6. The acceleration management node according to claim 1 , wherein when there are more than one acceleration devices that meet the acceleration requirement, one acceleration device that is first found according to a time sequence of querying the information of acceleration devices is determined to be the target acceleration device.

7. The acceleration management node according to claim 1 , wherein the information of an acceleration device comprises the NUMA information; and wherein in determining the target acceleration device, the processor is configured to:

determine the target acceleration device, wherein the NUMA information of the target acceleration device is consistent with NUMA information indicating by the invocation request.

8. The acceleration management node according to claim 1 , wherein in instructing the target acceleration node, to which the target acceleration device belongs, to respond to the invocation request, the processor

send a configuration instruction message to the target acceleration node, to instruct the target acceleration node to respond to the invocation request;

wherein the configuration instruction message indicates an acceleration type of the target acceleration device, and at least one of the following information of the target acceleration device:

information of an algorithm type,

information of an acceleration bandwidth, or

NUMA information.

9. The acceleration management node according to claim 1 , wherein the memory is further configured to store the information of the acceleration devices, and the processor is further configured to update the information of the acceleration devices stored in the memory or store an allocation result for the target acceleration device.

10. The acceleration management node according to claim 9 , wherein the processor is further configured to:

find the target acceleration device associated with the service according to the allocation result stored in the memory when detecting that the service of the client becomes abnormal; and

instruct the target acceleration node to release the target acceleration device.

11. The acceleration management node according to claim 1 , wherein the processor is further configured to:

receive a release request from the client for releasing the target acceleration device; and

instruct the target acceleration node to release the target acceleration device.

12. A method for managing acceleration resource, performed by an acceleration management node, comprising:

receiving, from each acceleration node, information of acceleration devices on the acceleration node;

receiving an invocation request from a client, wherein the invocation request requests an acceleration device to accelerate a service of the client, and wherein the invocation request comprises an acceleration requirement;

determining a target acceleration device, wherein information of the target acceleration device matches the acceleration requirement in the invocation request; and

instructing a target acceleration node, to which the target acceleration device belongs, to respond to the invocation request;

wherein information of an acceleration device on an acceleration node comprises information of an acceleration type, and at least one of the following:

information of an algorithm type,

information of an acceleration bandwidth, or

non-uniform memory access architecture (NUMA) information.

13. The method according to claim 12 , wherein determining the target acceleration device comprises:

determining the target acceleration device, wherein the algorithm type of the target acceleration device matches an algorithm type indicating by the invocation request from the client.

14. The method according to claim 12 , wherein the information of an acceleration device comprises the information of an acceleration bandwidth, and the acceleration bandwidth comprises a total bandwidth and an occupied bandwidth; and wherein determining the target acceleration device comprises:

determining the target acceleration device, wherein a remaining bandwidth of the target acceleration device is greater than or equal to a target acceleration bandwidth indicating by the invocation request, wherein the remaining bandwidth is the total bandwidth minus the occupied bandwidth.

15. The method according to claim 14 , wherein when there are more than one acceleration devices that have remaining bandwidths greater than or equal to the target acceleration bandwidth indicating by the invocation request, one acceleration device that has a maximum remaining bandwidth is determined to be the target acceleration device.

16. The method according to claim 12 , wherein when there are more than one acceleration devices that meet the acceleration requirement, one acceleration device having a maximum quantity of virtual functions is determined to be the target acceleration device.

17. The method according to claim 12 , wherein when there are more than one acceleration devices that meet the acceleration requirement, one acceleration device that is first found according to a time sequence of querying the information of acceleration devices is determined to be the target acceleration device.

18. The method according to claim 12 , wherein the information of an acceleration device comprises the NUMA information; and wherein determining the target acceleration device comprises:

determining the target acceleration device, wherein the NUMA information of the target acceleration device is consistent with NUMA information indicating by the invocation request.

19. The method according to claim 12 , wherein instructing the target acceleration node, to which the target acceleration device belongs, to respond to the invocation request comprises:

sending a configuration instruction message to the target acceleration node, to instruct the target acceleration node to respond to the invocation request;

wherein the configuration instruction message indicates an acceleration type of the target acceleration device, and at least one of following information of the target acceleration device:

information of an algorithm type,

information of an acceleration bandwidth, or

NUMA information.

20. A non-transitory storage medium, storing instructions which, when executed by one or more processors of an acceleration management device, cause the device to:

receive, from each acceleration node, information of acceleration devices on the acceleration node;

receive an invocation request from a client, wherein the invocation request requests an acceleration device to accelerate a service of the client, and wherein the invocation request comprises acceleration requirement;

determine a target acceleration device, wherein information of the target acceleration device matches the acceleration requirement received from the client; and

instruct a target acceleration node, to which the target acceleration device belongs, to respond to the invocation request;

wherein information of an acceleration device on an acceleration node comprises information of an acceleration type, and at least one of the following:

information of an algorithm type,

information of an acceleration bandwidth, or

non-uniform memory access architecture (NUMA) information.

Priority Claims (1)
CN 201510628762.0 · Sep 28, 2015 · national
Continuity (3)
Continuation 15937864 · Mar 28, 2018
Continuation PCTCN2016100137 · Sep 26, 2016
Related Publication 20200293345A1 · Sep 17, 2020