Computing system, method, and apparatus, and acceleration device
A computing system includes a host device and an acceleration device. The host device is in a communication connection with the acceleration device. The host device is configured to send invocation information to the acceleration device. The invocation information indicates a storage address of the first data. The acceleration device is configured to receive the invocation information from the host device, obtain the first data from a memory based on the storage address, and perform the to-be-processed task based on the first data to obtain a processing result. The host device notifies the acceleration device of the storage address, and the acceleration device directly obtains the data from the memory based on the storage address such that the host device is prevented from obtaining the data from the memory.
1 . A system comprising:
a host device configured to send invocation information, wherein the invocation information indicates a storage address of first data for a to-be-processed service, wherein the to-be-processed service comprises N consecutive operations, and wherein N is an integer greater than 1;
a memory configured to store the first data; and
an acceleration device coupled to the host device and the memory and configured to:
receive the invocation information from the host device;
obtain the first data from the memory based on the storage address; and
perform a to-be-processed task based on a virtual storage address of the first data to obtain a first processing result, wherein performing the to-be-processed task comprises performing an (i+1) th operation based on a second processing result of an i th operation in the N consecutive operations to obtain a third processing result of the (i+1) th operation, wherein i is an integer, wherein 1≤i≤N−1, and wherein a fourth processing result of an N th operation is the first processing result.
2 . The system of claim 1 , wherein the memory is further configured to store the second processing result.
3 . The system of claim 1 , wherein the host device is further configured to:
obtain proxy information comprising the virtual storage address; and
generate the invocation information based on the proxy information.
4 . The system of claim 3 , wherein the host device is further configured to store the proxy information.
5 . The system of claim 1 , wherein the memory is further configured to further store the first data is in a memory object, and wherein the memory object is a storage space of a segment of physical addresses from the memory.
6 . The system of claim 3 , wherein the acceleration device is further configured to send the virtual storage address to the host device, and wherein the host device is further configured to receive the virtual storage address from the acceleration device.
7 . A method comprising:
receiving invocation information from a host device, wherein the invocation information indicates a storage address of first data for a to-be-processed service, wherein the to-be-processed service comprises N consecutive operations, and wherein N is an integer greater than 1;
obtaining the first data from a memory based on the storage address; and
performing a to-be-processed task based on a virtual storage address of the first data to obtain a first processing result, wherein performing the to-be-processed task comprises performing an (i+1) th operation based on a second processing result of an i th operation in the N consecutive operations to obtain a third processing result of the (i+1) th operation, wherein i is an integer, wherein 1≤i≤N−1, and wherein a fourth processing result of an N th operation is the first processing result.
8 . The method of claim 7 , further comprising storing the second processing result of the i th operation in the acceleration device.
9 . The method of claim 7 , wherein the first data is in a memory object, and wherein the memory object is a storage space of a segment of physical addresses from the memory.
10 . The method of claim 7 , further comprising sending a virtual storage address to the host device.
11 . An apparatus configured to couple in an acceleration device and comprising:
a communication interface configured to receive invocation information from a host device, wherein the invocation information indicates a storage address of first data for a to-be-processed service, service, wherein the to-be-processed service comprises N consecutive operations, wherein N is an integer greater than 1, and wherein the acceleration device is in a communication connection with the host device and coupled to a memory that stores the first data; and
one or more processors coupled to the communication interface and configured to:
obtain the first data from the memory based on the storage address; and
perform a to-be-processed task based on a virtual storage address of the first data to obtain a first processing result, wherein performing the to-be-processed task comprises performing an (i+1) th operation based on a second processing result of an i th operation in the N consecutive operations to obtain a third processing result of the (i+1) th operation, wherein i is an integer, wherein 1≤i≤N−1, and wherein a fourth processing result of an N th operation is the first processing result.
12 . The apparatus of claim 11 , wherein the one or more processors are further configured to store the second processing result in the memory or the acceleration device.
13 . The apparatus of claim 11 , wherein the first data is in a memory object, and wherein the memory object is a storage space of a segment of physical addresses from the memory.
14 . The apparatus of claim 11 , wherein the communication interface is further configured to send the virtual storage address of the first data to the host device.
15 . A computer program product comprising computer-executable instructions that are stored on a non-transitory computer readable medium and that, when executed by one or more processors, cause an acceleration device to:
receive invocation information from a host device, wherein the invocation information indicates a storage address of first data for a to-be-processed service, wherein the to-be-processed service comprises N consecutive operations, and wherein N is an integer greater than 1;
obtain the first data from a memory based on the storage address; and
perform a to-be-processed task based on a virtual storage address of the first data to obtain a first processing result, wherein performing the to-be-processed task comprises performing an (i+1) th operation based on a second processing result of an i th operation in the N consecutive operations to obtain a third processing result of the (i+1) th operation, wherein i is an integer, wherein 1≤i≤N−1, and wherein a fourth processing result of an N th operation is the first processing result.
16 . The computer program product of claim 15 , wherein the first data is in a memory object, and wherein the memory object is a storage space of a segment of physical addresses from a memory coupled to the acceleration device.
17 . The computer program product of claim 15 , wherein the one or more processors is further configured to send the virtual storage address to the host device.
18 . The computer program product of claim 15 , wherein the invocation information is based on proxy information comprising the virtual storage address.
19 . The computer program product of claim 15 , wherein the one or more processors is further configured to store the second processing result.
20 . The computer program product of claim 15 , wherein the one or more processors is further configured to obtain the first data from a memory object of the memory, wherein the memory object is a storage space of a segment of physical addresses of the memory.