# US 12,224,903 B2 · Acceleration resource scheduling method and apparatus, and acceleration system

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

- Number: US 12,224,903 B2
- Document ID: US12224903B2
- Status: Granted
- Kind: B2
- Application number: 17/738,218
- Filed: 2022-05-06
- Published: 2022-08-18
- Granted: 2025-02-11
- Earliest claimed: 2017-11-15
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Xiaolin Jia; Junjie Wang
- Web page: https://patentgrep.com/patent/US12224903B2

## CPC

- H04L 41/083: for increasing network speed
- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/5072: {Grid computing}
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- H04L 41/0266: using meta-data, objects or commands for formatting management information, e.g. using eXtensible markup language [XML]
- H04L 67/1001: for accessing one among a plurality of replicated servers
- G06F 2009/45579: {I/O management, e.g. providing access to device drivers or storage}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F 2209/505: Clust
- G06F 2209/509: Offload
- 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

An acceleration resource scheduling method includes: receiving an acceleration instruction sent by the virtual machine, where the acceleration instruction includes to-be-accelerated data; determining a virtual accelerator allocated to the virtual machine; determining, based on the virtual accelerator, a network accelerator that is to process the acceleration instruction, and sending the acceleration instruction to the network accelerator, so that the network accelerator sends the acceleration instruction to a physical accelerator that is to process the acceleration instruction; receiving a computing result that is returned after the physical accelerator performs acceleration computing on the to-be-accelerated data by using the physical acceleration resource; and sending the computing result to the virtual machine.

## Claims

### Claim 1

A system comprising:
a computing device comprising:
a scheduling apparatus;
a virtual machine configured to generate data of an application running on the virtual machine; and
a hypervisor configured to create the virtual machine;
a plurality of physical accelerators, wherein the physical accelerators form a physical acceleration resource, and wherein the physical acceleration resource comprises a first physical acceleration resource; and
a management server configured to:
connect to the computing device and the physical accelerators through a network; and
send to the scheduling apparatus a command for allocating the first physical acceleration resource from the physical acceleration resource to the virtual machine after the virtual machine is created,
wherein the computing device, the physical accelerators, and the management server are separate components and are configured to connect to a network device for communication with each other,
wherein the scheduling apparatus is configured to transfer the data to the first physical acceleration resource, and
wherein the first physical acceleration resource is configured to:
receive the data from the scheduling apparatus; and
process the data to obtain a result.

### Claim 2 (depends on 1)

The system of claim 1, wherein the physical accelerators are remote from the virtual machine.

### Claim 3 (depends on 1)

The system of claim 1, wherein the physical acceleration resource is further configured to send the result to the virtual machine.

### Claim 4 (depends on 1)

The system of claim 1, wherein the first physical acceleration resource is from one or more of the physical accelerators.

### Claim 5 (depends on 1)

The system of claim 1, wherein the first physical acceleration resource is from a portion of one of the physical accelerators.

### Claim 6 (depends on 1)

The system of claim 1, wherein the scheduling apparatus is further configured to record the first physical acceleration resource.

### Claim 7 (depends on 6)

The system of claim 6, wherein the scheduling apparatus is further configured to release, in response to an instruction, the first physical acceleration resource.

### Claim 8 (depends on 1)

The system of claim 1, wherein the physical accelerators are heterogeneous and are graphic processing units (GPUs), field-programmable gate arrays (FPGAs), or application-specific integrated circuits (ASICs).

### Claim 9 (depends on 1)

The system of claim 1, wherein the scheduling apparatus is deployed in the virtual machine, another virtual machine, or a container.

### Claim 10 (depends on 1)

The system of claim 1, wherein the physical accelerators are located in distributed servers.

### Claim 11 (depends on 1)

The system of claim 1, further comprising additional virtual machines configured to share the physical accelerators.

### Claim 12 (depends on 11)

The system of claim 11, wherein the additional virtual machines are further configured to run applications, and wherein the applications are configured to share the physical accelerators.

### Claim 13

An acceleration method comprising:
creating, by a hypervisor of a computing device, a virtual machine;
sending, by a management server to a scheduling apparatus in the computing device, a command for allocating a first physical acceleration resource from a physical acceleration resource to the virtual machine after the virtual machine is created, wherein the physical acceleration resource is formed from a plurality of physical accelerators, wherein the computing device, the physical accelerators, and the management server are separate components and are configured to connect to a network device for communication with each other, and wherein the management server is connected to the computing device and the physical accelerators through a network;
transferring, by the scheduling apparatus to the first physical acceleration resource, data of the virtual machine;
receiving, by the first physical acceleration resource, the data; and
processing, by the first physical acceleration resource, the data to obtain a result.

### Claim 14 (depends on 13)

The method of claim 13, further comprising sending, by the first physical acceleration resource to the virtual machine, the result.

### Claim 15 (depends on 13)

The method of claim 13, further comprising recording, by the scheduling apparatus, the first physical acceleration resource.

### Claim 16 (depends on 15)

The method of claim 15, further comprising releasing, by the scheduling apparatus in response to an instruction, the physical acceleration resource.

### Claim 17 (depends on 13)

The method of claim 13, further comprising sharing, by additional virtual machines, the physical accelerators.

### Claim 18

A computer program product comprising instructions that are stored on a non-transitory computer-readable medium and that, when executed by one or more processors, cause an acceleration system to:
create, by a hypervisor of a computing device, a virtual machine;
send, by a management server to a scheduling apparatus in the computing device, a command for allocating a first physical acceleration resource from a physical acceleration resource to the virtual machine after the virtual machine is created, wherein the physical acceleration resource is formed from a plurality of physical accelerators in an acceleration resource cluster, wherein the computing device, the physical accelerators, and the management server are separate components and are configured to connect to a network device for communication with each other, and wherein the management server is connected to the computing device and the physical accelerators through a network;
transfer, by the scheduling apparatus to the first physical acceleration resource, data of the virtual machine;
receive, by the first physical acceleration resource, the data; and
process, by the first physical acceleration resource, the data to obtain a result.

### Claim 19 (depends on 18)

The computer program product of claim 18, wherein the first physical acceleration resource is from a portion of one of the physical accelerators.

### Claim 20 (depends on 18)

The computer program product of claim 18, wherein the instructions, when executed by the one or more processors, further cause the acceleration system to release, by the scheduling apparatus in response to an instruction, the first physical acceleration resource.

### Claim 21 (depends on 18)

The computer program product of claim 18, wherein the acceleration resource cluster is remote from the virtual machine.

### Claim 22 (depends on 18)

The computer program product of claim 18, wherein the instructions, when executed by the one or more processors further cause the acceleration system to send the result to the virtual machine.

### Claim 23 (depends on 18)

The computer program product of claim 18, wherein the first physical acceleration resource is from one or more of the physical accelerators.

### Claim 24 (depends on 18)

The computer program product of claim 18, wherein the instructions, when executed by the one or more processors further cause the acceleration system to record the first physical acceleration resource.

### Claim 25 (depends on 18)

The computer program product of claim 18, wherein the physical accelerators are heterogeneous and are graphic processing units (GPUs), field-programmable gate arrays (FPGAs), or application-specific integrated circuits (ASICs).

### Claim 26 (depends on 18)

The computer program product of claim 18, wherein the scheduling apparatus is deployed in the virtual machine, another virtual machine, or a container.

### Claim 27 (depends on 18)

The computer program product of claim 18, wherein the physical accelerators are located in distributed servers.

### Claim 28 (depends on 27)

The computer program product of claim 27, wherein the instructions, when executed by the one or more processors further cause the acceleration system to run applications, and wherein the applications are configured to share the acceleration resource cluster.
