IP Library › Granted Patent US 11,157,311
Granted Patent B2
US 11,157,311 · App. 16/586,576 · Granted Oct 26, 2021

Automatic localization of acceleration in edge computing environments

Inventors: Francesc Guim Bernat (Barcelona, ES); Karthik Kumar (Chandler, AZ); Ned M. Smith (Beaverton, OR); Thomas Willhalm (Sandhausen, DE); Timothy Verrall (Pleasant Hill, CA)
Assignee: Intel Corproation
G06F9/4862G06F9/455G06F9/45533G06F9/45558G06F9/48G06F9/485G06F9/4806G06F9/4843G06F9/4856G06F9/4881G06F9/4893G06F9/50G06F9/505G06F9/5005G06F9/5033G06F9/5044G06F9/5061G06F9/5072G06F9/5077G06F9/5083G06F9/5088G06F9/5094G06F11/30G06F16/2365G06F16/27G06F21/602H04L9/0637H04L9/0827H04L9/3247H04L12/66H04L41/12H04L47/82H04L67/18H04L67/32G06F2009/4557G06F2009/45562H04L2209/38
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,157,311
App. No.
16/586,576
Granted
Oct 26, 2021
Kind
B2
Abstract

Methods, apparatus, systems and machine-readable storage media of an edge computing device which is enabled to access and select the use of local or remote acceleration resources for edge computing processing is disclosed. In an example, an edge computing device obtains first telemetry information that indicates availability of local acceleration circuitry to execute a function, and obtains second telemetry that indicates availability of a remote acceleration function to execute the function. An estimated time (and cost or other identifiable or estimateable considerations) to execute the function at the respective location is identified. The use of the local acceleration circuitry or the remote acceleration resource is selected based on the estimated time and other appropriate factors in relation to a service level agreement.

Claims (57)

1. An edge computing device in an edge computing system, comprising:

acceleration circuitry;

processing circuitry; and

a memory device comprising instructions stored thereon, wherein the instructions, when executed by the processing circuitry, configure the processing circuitry to perform operations to:

obtain first telemetry information that indicates availability of the acceleration circuitry to execute a function;

obtain second telemetry information that indicates of a remote acceleration resource to execute the function, the remote acceleration resource located at a remote location in the edge computing system that is remote from the edge computing device;

identify an estimated time to execute the function at the acceleration circuitry or the remote acceleration resource, based on evaluation of the first and second telemetry information;

identify an urgency level for execution of the function; and

select use of the acceleration circuitry or the remote acceleration resource, to execute the function on a workload, based on identification of the estimated time to execute the function at the remote acceleration resource or the acceleration circuitry in relation to a service level agreement and the urgency level, wherein use of the acceleration circuitry or the remote acceleration resource includes:

in response to a determination that the remote acceleration resource can execute the entire function based on the service level agreement and the urgency level faster than the acceleration circuitry, causing the remote acceleration resource to execute the function;

in response to a determination that the acceleration circuitry can execute the entire function based on the service level agreement and the urgency level faster than the remote acceleration resource, causing the acceleration circuitry to execute the function; and

in response to a determination that the remote acceleration resource can execute a portion of the function based on the service level agreement and the urgency level faster than the acceleration circuitry, causing the remote acceleration resource to execute the portion of the function and causing the acceleration circuitry to execute a remaining portion of the function.

2. The edge computing device of claim 1 , wherein the second telemetry information includes an indication of the remote acceleration resource, a type of measurement for the remote acceleration resource, and a measurement value for the type of measurement.

3. The edge computing device of claim 2 , wherein the type of measurement relates to: resource utilization, resource availability, resource capabilities, performance measurements, power measurements, throughput, computational benchmarks, response time, monetary costs, resource usage costs, or latency.

4. The edge computing device of claim 2 , wherein the second telemetry information includes indications of a plurality of remote acceleration resources, wherein the type of measurement and the measurement value are provided for respective resources of the plurality of remote acceleration resources.

5. The edge computing device of claim 4 , wherein the plurality of remote acceleration resources includes a first acceleration resource at the remote location and a second acceleration resource at a peer of the remote location.

6. The edge computing device of claim 1 , wherein the estimated time to execute the function at the remote acceleration resource is based on a time to send the workload to the remote location, a time to execute the function on the workload at the remote location, and a time to obtain results of the function from the remote location, and wherein the use of the acceleration circuitry or the remote acceleration resource is further selected based on costs associated with a transport to the remote location and use of the acceleration resource at the remote location.

7. The edge computing device of claim 1 , the instructions further to perform operations to obtain features and hints of the remote acceleration resource for use of the remote acceleration resource at the remote location, wherein selecting use of the acceleration circuitry or the remote acceleration resource is further based on the features and hints obtained for the remote acceleration resource.

8. The edge computing device of claim 1 , the instructions further to perform operations to request, from the remote location, the second telemetry information, wherein the request communicates an identification of the function, a resource type, and requirements associated with the service level agreement.

9. The edge computing device of claim 8 , wherein the availability of the remote acceleration resource to execute the function is determined by the remote location, based on an estimated time to execute the function at the remote location which meets the requirements associated with the service level agreement.

10. The edge computing device of claim 1 , wherein a proxy function is used to produce an estimated time to execute the function at the remote acceleration resource, and wherein the acceleration circuitry or the remote acceleration resource is invoked based on a lower estimated time.

11. The edge computing device of claim 1 , wherein the acceleration circuitry includes at least one of a:

field-programmable gate array (FPGA), a graphics processing unit (GPU) hardware, central processing unit (CPU) hardware, or artificial intelligence (AI) processor hardware.

12. The edge computing device of claim 1 , wherein the remote location is a gateway, base station, or access point of the edge computing system, and wherein the edge computing device is a mobile computing device connected to the remote location via a wireless network.

13. At least one non-transitory machine-readable storage device comprising instructions stored thereupon, which when executed by a processing circuitry of a computing device, cause the processing circuitry to:

access first telemetry information that indicates availability of a local acceleration resource of the computing device to execute a function;

access second telemetry information that indicates availability of a remote acceleration resource to execute the function, the remote acceleration resource located at a remote location in an edge computing system;

identify an estimated time to execute the function at the remote acceleration resource or the local acceleration resource, based on evaluation of the first and second telemetry information;

identify an urgency level for the function; and

select use of the local acceleration resource or the remote acceleration resource, to execute the function on a workload, based on identification of the estimated time to execute the function at the remote acceleration resource or the local acceleration resource in relation to a service level agreement and the urgency level, wherein use of the acceleration circuitry or the remote acceleration resource includes:

in response to a determination that the remote acceleration resource can execute the entire function based on the service level agreement and the urgency level faster than the acceleration circuitry, causing the remote acceleration resource to execute the function;

in response to a determination that the acceleration circuitry can execute the entire function based on the service level agreement and the urgency level faster than the remote acceleration resource, causing the acceleration circuitry to execute the function; and

in response to a determination that the remote acceleration resource can execute a portion of the function based on the service level agreement and the urgency level faster than the acceleration circuitry, causing the remote acceleration resource to execute the portion of the function and causing the acceleration circuitry to execute a remaining portion of the function.

14. The machine-readable storage device of claim 13 , wherein the second telemetry information includes an indication of the remote acceleration resource, a type of measurement for the remote acceleration resource, and a measurement value for the type of measurement.

15. The machine-readable storage device of claim 14 , wherein the type of measurement relates to:

resource utilization, resource availability, resource capabilities, performance measurements, power measurements, throughput, computational benchmarks, response time, monetary costs, resource usage costs, or latency.

16. The machine-readable storage device of claim 14 , wherein the second telemetry information includes indications of a plurality of remote acceleration resources, wherein the type of measurement and the measurement value are provided for respective resources of the plurality of remote acceleration resources.

17. The machine-readable storage device of claim 16 , wherein the plurality of remote acceleration resources includes a first acceleration resource at the remote location and a second acceleration resource at a peer of the remote location.

18. The machine-readable storage device of claim 13 , wherein the estimated time to execute the function at the remote acceleration resource is based on a time to send the workload to the remote location, and a time to execute the function on the workload at the remote location, and a time to obtain results of the function from the remote location.

19. The machine-readable storage device of claim 13 , wherein the instructions further cause the processing circuitry to:

access features and hints of the remote acceleration resource for use of the remote acceleration resource at the remote location, wherein selecting use of the local acceleration resource or the remote acceleration resource is further based on the features and hints obtained from the remote location.

20. The machine-readable storage device of claim 13 , wherein the instructions further cause the processing circuitry to:

invoke the local acceleration resource or the remote acceleration resource, based on the invoked resource having a lower estimated time.

21. The machine-readable storage device of claim 13 , wherein the instructions further cause the processing circuitry to:

request, from the remote location, the second telemetry information, wherein the request communicates an identification of the function, a resource type, and requirements associated with the service level agreement.

22. The machine-readable storage device of claim 21 , wherein the availability of the remote acceleration resource to execute the function is determined by the remote location, based on an estimated time to execute the function at the remote location which meets the requirements associated with the service level agreement, and wherein the use of the local acceleration resource or the remote acceleration resource is further selected based on costs associated with a transport to the remote location and use of the acceleration resource at the remote location.

23. The machine-readable storage device of claim 13 , wherein a proxy function is used to produce an estimated time to execute the function at the remote acceleration resource.

24. A method performed by a computing system, comprising:

obtaining first telemetry information that indicates availability of a local acceleration resource of the computing system to execute a function;

obtaining second telemetry information that indicates availability of a remote acceleration resource to execute the function, the remote acceleration resource located at a remote location in an edge computing system;

identifying an estimated time to execute the function at the local acceleration resource or the remote acceleration resource, based on evaluation of the first and second telemetry information;

identifying an urgency level for execution of the function; and

selecting use of the local acceleration resource or the remote acceleration resource, to execute the function on a workload, based on identification of the estimated time to execute the function at the local acceleration resource or remote acceleration resource in relation to a service level agreement and the urgency level, wherein use of the local acceleration resource or the remote acceleration resource includes:

in response to determining that the remote acceleration resource can execute the entire function based on the service level agreement and the urgency level faster than the local acceleration resource, causing the remote acceleration resource to execute the function;

in response to determining that the local acceleration resource can execute the entire function based on the service level agreement and the urgency level faster than the remote acceleration resource, causing the local acceleration resource to execute the function; and

in response to a determination that the remote acceleration resource can execute a portion of the function based on the service level agreement and the urgency level faster than the local acceleration resource, causing the remote acceleration resource to execute the portion of the function and causing the local acceleration resource to execute a remaining portion of the function.

25. The method of claim 24 , wherein the second telemetry information includes an indication of the remote acceleration resource, a type of measurement for the remote acceleration resource, and a measurement value for the type of measurement, and wherein the type of measurement relates to: resource utilization, resource availability, resource capabilities, performance measurements, power measurements, throughput, computational benchmarks, response time, monetary costs, resource usage costs, or latency.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2020
From: GUIM BERNAT, FRANCESC; KUMAR, KARTHIK; SMITH, NED M; WILLHALM, THOMAS; VERRALL, TIMOTHY
To: INTEL CORPORATION
Reel/Frame 052069/0443 →
Continuity (2)
Provisional Application 62841042 · Apr 30, 2019
Related Publication 20200026575A1 · Jan 23, 2020
Cited By (1)
US 12,706,959