# US 2021/0342170 A1 · Acceleration management node, acceleration node, client, and method

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0342170 A1
- Document ID: US20210342170A1
- Status: Published application
- Kind: A1
- Application number: 17/376,305
- Filed: 2021-07-15
- Published: 2021-11-04
- Earliest claimed: 2015-09-28
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Jianbang WU; Peng YUAN
- Web page: https://patentgrep.com/patent/US20210342170A1

## CPC

- H04L 41/0853: by actively collecting configuration information or by backing up configuration information
- G06F 9/45533: {Hypervisors; Virtual machine monitors}
- G06F 9/5005: {to service a request}
- H04L 41/0896: Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities (flow or congestion control using dynamic resource allocation, e.g. in-call renegotiation, H04L47/76)
- H04L 41/5025: by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
- H04L 41/5051: Service on demand, e.g. definition and deployment of services in real time
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/1001: for accessing one among a plurality of replicated servers
- G06F 2212/2542: Non-uniform memory access [NUMA] architecture
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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 algorithm type, an acceleration bandwidth or non-uniform memory access architecture (NUMA). The acceleration management node obtains an invocation request from a client. 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

### Claim 1

An acceleration management node, comprising:
a memory configured to store program instructions; and
a processor coupled to the memory, and, by executing the instructions, configured to:
receive, from each acceleration node, information of at least one acceleration device on the acceleration node, wherein the information of each of the at least one acceleration device comprises information indicating an algorithm type, an acceleration bandwidth or non-uniform memory access architecture (NUMA) information;
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 received from the client; and
instruct a target acceleration node, to which the target acceleration device belongs, to respond to the invocation request.

### Claim 2 (depends on 1)

The acceleration management node according to claim 1, wherein the information of each of the at least one acceleration device comprises the information indicating the algorithm type; and
the processor is further configured to:
determine the target acceleration device, wherein an algorithm type indicated by the information of the target acceleration device is matched with an algorithm type indicated by the acceleration requirement from the client.

### Claim 3 (depends on 1)

The acceleration management node according to claim 1, wherein the information of each of the at least one acceleration device comprises the information indicating the acceleration bandwidth, and the acceleration bandwidth comprises a total bandwidth and an occupied bandwidth; and
the processor is further 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 indicated by the acceleration requirement, wherein the remaining bandwidth is the total bandwidth minus the occupied bandwidth.

### Claim 4 (depends on 3)

The acceleration management node according to claim 3, wherein the processor is further configured to:
determine the target acceleration device, wherein, when there are more than one acceleration device whose remaining bandwidth is greater than or equal to the target acceleration bandwidth indicated by the acceleration requirement, one acceleration device that has a maximum remaining bandwidth is determined to be the target acceleration device.

### Claim 5 (depends on 1)

The acceleration management node according to claim 1, wherein the processor is further configured to:
determine the target acceleration device, wherein, when there are more than one acceleration device that meet the acceleration requirement, one acceleration device that has a maximum quantity of virtual functions is determined to be the target acceleration device.

### Claim 6 (depends on 1)

The acceleration management node according to claim 1, wherein the processor is further configured to:
determine the target acceleration device, wherein, when there are more than one acceleration device that meet the acceleration requirement, one acceleration device that is first found according to a time sequence of querying the information of the at least one acceleration device is determined to be the target acceleration device.

### Claim 7 (depends on 1)

The acceleration management node according to claim 1, wherein the information of each of the at least one acceleration device comprises the NUMA information; and
wherein the processor is further configured to:
determine the target acceleration device, wherein NUMA information of the target acceleration device is consistent with NUMA information indicated by the acceleration requirement from the client.

### Claim 8 (depends on 1)

The acceleration management node according to claim 1, wherein the processor is configured to:
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 further indicates an algorithm type, an acceleration bandwidth or NUMA information of the target acceleration device.

### Claim 9 (depends on 1)

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

### Claim 10 (depends on 1)

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.

### Claim 11 (depends on 9)

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.

### Claim 12

A method for managing acceleration resource performed by an acceleration management node, comprising:
receiving, from each acceleration node, information of at least one acceleration device on the acceleration node, wherein information of each of the at least one acceleration device comprises information indicating an algorithm type, an acceleration bandwidth or non-uniform memory access architecture (NUMA) information;
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 received from the client; and
instructing a target acceleration node, to which the target acceleration device belongs, to respond to the invocation request.

### Claim 13 (depends on 12)

The method according to claim 12, wherein the information of each of the at least one acceleration device comprises the information indicating the algorithm type; and the method further comprises:
determining the target acceleration device, wherein an algorithm type indicated by the information of the target acceleration device is matched with an algorithm type indicated by the acceleration requirement from the client.

### Claim 14 (depends on 12)

The method according to claim 12, wherein the information of each of the at least one acceleration device comprises the information indicating the acceleration bandwidth, and the acceleration bandwidth comprises a total bandwidth and an occupied bandwidth; and the method further 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 indicated by the acceleration requirement, wherein the remaining bandwidth is the total bandwidth minus the occupied bandwidth.

### Claim 15 (depends on 14)

The method according to claim 14, further comprising:
determining the target acceleration device, wherein, when there are more than one acceleration device whose remaining bandwidth is greater than or equal to the target acceleration bandwidth indicated by the acceleration requirement, one acceleration device that has a maximum remaining bandwidth is determined to be the target acceleration device.

### Claim 16 (depends on 12)

The method according to claim 12, further comprising:
determining the target acceleration device, wherein, when there are more than one acceleration device that meet the acceleration requirement, one acceleration device that has a maximum quantity of virtual functions is determined to be the target acceleration device.

### Claim 17 (depends on 12)

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

### Claim 18 (depends on 12)

The method according to claim 12, wherein the information of each of the at least one acceleration device comprises the NUMA information; and
the method further comprises: determining the target acceleration device, wherein NUMA information of the target acceleration device is consistent with NUMA information indicated by the acceleration requirement from the client.

### Claim 19 (depends on 12)

The method according to claim 12, further comprising:
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 further indicates an algorithm type, an acceleration bandwidth or NUMA information of the target acceleration device.

### Claim 20

A non-transitory storage medium, storing instructions that, when performed by one or more processors, cause the one or more processors to:
receive, from each acceleration node, information of at least one acceleration device on the acceleration node, wherein information of each of the at least one acceleration device comprises information that indicates an algorithm type, an acceleration bandwidth or non-uniform memory access architecture (NUMA) information;
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 received from the client; and
instruct a target acceleration node, to which the target acceleration device belongs, to respond to the invocation request.
