US10545896B2ActiveUtilityA1

Service acceleration method and apparatus

Assignee: HUAWEI TECH CO LTDPriority: Dec 31, 2014Filed: Jun 30, 2017Granted: Jan 28, 2020
Est. expiryDec 31, 2034(~8.4 yrs left)· nominal 20-yr term from priority
G06F 13/36G06F 13/42Y02D50/10H04L 67/51Y02D30/50
39
PatentIndex Score
0
Cited by
11
References
10
Claims

Abstract

A service acceleration method is disclosed. The method includes: querying acceleration type information and information about an idle acceleration ability that are of the multiple acceleration engines, and forming an accelerator resource pool according to the acceleration type information and the information about the idle acceleration ability; after receiving an acceleration application of a first service processing unit in the multiple service processing units, allocating, from the accelerator resource pool according to a preset allocation granularity, a first idle acceleration ability and a connection number that are corresponding to the first acceleration ability and a first acceleration type; and feeding back a result packet that is obtained after acceleration processing to the first service processing unit. The method and the apparatus that are provided in the present invention resolve a prior-art problem of resource waste caused by inappropriate utilization of accelerator resources.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A service acceleration apparatus, wherein the apparatus is connected to multiple service processing units and multiple acceleration engines, and the apparatus comprises a memory comprising instructions and one or more processors in communication with the memory, wherein the one or more processors execute the instructions to:
 form an accelerator resource pool according to information that indicates an acceleration type and an idle acceleration ability of each acceleration engine of the multiple acceleration engines; 
 determine, in response to receiving an acceleration application from a first service processing unit in the multiple service processing units, a first acceleration ability and a first acceleration type that are requested by the first service processing unit; 
 determine that a first quantity of a first idle acceleration ability in the accelerator resource pool corresponding to the first acceleration type is greater than a second quantity that indicates a requirement of the first service processing unit; 
 allocate, from the accelerator resource pool according to a preset allocation granularity, the first idle acceleration ability and a connection number corresponding to the first idle acceleration ability; 
 send the connection number to the first service processing unit to enable the first service processing unit to establish a connection to the service acceleration apparatus according to the connection number; 
 send a to-be-accelerated packet that is received using the connection to at least one acceleration engine of the multiple acceleration engines that provides the first acceleration ability for acceleration processing; and 
 send, to the first service processing unit, a result packet that is obtained from the at least one acceleration engine after acceleration processing. 
 
     
     
       2. The apparatus according to  claim 1 , wherein the one or more processors further execute the instructions to:
 determine, when the acceleration application indicates multiple acceleration types, multiple target acceleration engines corresponding to the multiple acceleration types, 
 generate routing information according to identifier information of the multiple target acceleration engines, and 
 add the routing information to the to-be-accelerated packet. 
 
     
     
       3. The apparatus according to  claim 1 , wherein the one or more processors further execute the instructions to:
 add a sequence number to the to-be-accelerated packet, wherein the sequence number identifies the to-be-accelerated packet in a sequence of to-be-accelerated packets; 
 determine that the acceleration processing performed on the to-be-accelerated packet is abnormal based on a sequence number included in the result packet; and 
 send a retransmission indication to the first service processing unit in response to determining that the acceleration processing is abnormal. 
 
     
     
       4. The apparatus according to  claim 1 , wherein the one or more processors further execute the instructions to:
 obtain a storage address carried in the to-be-accelerated packet, wherein the storage address corresponds to a first storage area in the first service processing unit; and 
 write the result packet into the first storage area in accordance with a remote direct memory access (RDMA) connection established between the first service processing unit and the service acceleration apparatus. 
 
     
     
       5. The apparatus according to  claim 1 , wherein the one or more processors further execute the instructions to:
 receive an acceleration resource release request sent by the first service processing unit; 
 delete, in response to receiving the acceleration resource release request, the connection between the first service processing unit and the service acceleration apparatus; and 
 update the accelerator resource pool to indicate the first idle acceleration ability is released. 
 
     
     
       6. A service acceleration method, wherein the method is applied in a service acceleration apparatus, and the apparatus is connected to multiple service processing units and multiple acceleration engines; and the method comprises:
 forming an accelerator resource pool according to information that indicates an acceleration type and an idle acceleration ability of each acceleration engine of the multiple acceleration engines; 
 determining, in response to receiving an acceleration application from a first service processing unit in the multiple service processing units, a first acceleration ability and a first acceleration type that are requested by the first service processing unit; 
 determining that a first quantity of a first idle acceleration ability in the accelerator resource pool corresponding to the first acceleration type is greater than a second quantity that indicates a requirement of the first service processing unit 
 allocating, from the accelerator resource pool according to a preset allocation granularity, the first idle acceleration ability and a connection number corresponding to the first idle acceleration ability; 
 sending the connection number to the first service processing unit to enable the first service processing unit to establish a connection to the service acceleration apparatus according to the connection number; 
 sending a to-be-accelerated packet that is received using the connection to at least one acceleration engine of the multiple acceleration engines that provides the first acceleration ability for acceleration processing; and 
 sending, to the first service processing unit, a result packet that is obtained from the at least one acceleration engine after acceleration processing. 
 
     
     
       7. The method according to  claim 6 , the method further comprising
 determining, when the acceleration application indicates multiple acceleration types, multiple target acceleration engines corresponding to the multiple acceleration types, 
 generating routing information according to identifier information of the multiple target acceleration engines, and 
 adding the routing information to the to-be-accelerated packet. 
 
     
     
       8. The method according to  claim 6 , the method further comprising:
 adding a sequence number to the to-be-accelerated packet, wherein the sequence number identifies the to-be-accelerated packet in a sequence of to-be-accelerated packets; and 
 determining that the acceleration processing performed on the to-be-accelerated packet is abnormal; and 
 sending a retransmission indication to the first service processing unit in response to determining that the acceleration processing is abnormal. 
 
     
     
       9. The method according to  claim 6 , the method further comprising:
 obtaining a storage address carried in the to-be-accelerated packet, wherein the storage address corresponds to a first storage area in the first service processing unit; and 
 writing the result packet into the first storage area in accordance with a remote direct memory access (RDMA) connection established between the first service processing unit and the service acceleration apparatus. 
 
     
     
       10. The method according to  claim 6 , the method further comprising:
 receiving an acceleration resource release request sent by the first service processing unit; 
 deleting, in response to receiving the acceleration resource release request, the connection between the first service processing unit and the service acceleration apparatus; and 
 updating the accelerator resource pool to indicate the first idle acceleration ability is released.

Join the waitlist — get patent alerts

Track US10545896B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.