US2023133020A1PendingUtilityA1

Accelerator or accelerated functions as a service using networked processing units

Assignee: SAKALLEY DEBOLEENA MINZPriority: Nov 16, 2022Filed: Dec 29, 2022Published: May 4, 2023
Est. expiryNov 16, 2042(~16.3 yrs left)· nominal 20-yr term from priority
G06F 9/3885G06F 9/3005H04L 41/5019H04L 41/0889H04L 67/63H04L 67/10H04L 67/1091H04L 67/12Y02D10/00G06F 9/5038H04L 41/5003H04L 63/0876G06F 9/5083G06F 12/0851G06F 9/5072G06F 9/505G06F 9/4881G06F 9/54H04L 63/12G06F 12/0873G06F 9/5077G06F 11/0793G06F 9/5094G06F 9/5044G06F 9/5066H04L 67/1097G06F 11/0709G06F 3/067G06F 3/0611G06F 3/0659
75
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Various approaches for deploying and controlling distributed accelerated compute operations with the use of infrastructure processing units (IPUs) and similar networked processing units are disclosed. A system for orchestrating acceleration functions in a network compute mesh is configured to access a flowgraph, the flowgraph including data producer-consumer relationships between a plurality of tasks in a workload; identify available artifacts and resources to execute the artifacts to complete each of the plurality of tasks, wherein an artifact is an instance of a function to perform a task of the plurality of tasks; determine a configuration assigning artifacts and resources to each of the plurality of tasks in the flowgraph; and schedule, based on the configuration, the plurality of tasks to execute using the assigned artifacts and resources.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A system for orchestrating acceleration functions in a network compute mesh, comprising:
 a memory device configured to store instructions; and   a processor subsystem, which when configured by the instructions, is operable to:
 access a flowgraph, the flowgraph including data producer-consumer relationships between a plurality of tasks in a workload; 
 identify available artifacts and resources to execute the artifacts to complete each of the plurality of tasks, wherein an artifact is an instance of a function to perform a task of the plurality of tasks; 
 determine a configuration assigning artifacts and resources to each of the plurality of tasks in the flowgraph; and 
 schedule, based on the configuration, the plurality of tasks to execute using the assigned artifacts and resources. 
   
     
     
         2 . The system of  claim 1 , wherein the artifact comprises a bitstream to program a field-programmable gate array (FPGA). 
     
     
         3 . The system of  claim 1 , wherein the artifact comprises an executable file to execute on a central processing unit (CPU). 
     
     
         4 . The system of  claim 1 , wherein the artifact comprises a binary file to configure a coarse-grained reconfigurable array (CGRA). 
     
     
         5 . The system of  claim 1 , wherein the resources comprise a central processing unit. 
     
     
         6 . The system of  claim 1 , wherein the resources comprise a network-accessible processing unit. 
     
     
         7 . The system of  claim 1 , wherein the resources comprise a graphics processing unit. 
     
     
         8 . The system of  claim 1 , wherein the resources comprise an application specific integrated circuit (ASIC). 
     
     
         9 . The system of  claim 1 , wherein the resources comprise a field-programmable gate array (FPGA). 
     
     
         10 . The system of  claim 1 , wherein the resources comprise a coarse-grained reconfigurable array (CGRA). 
     
     
         11 . The system of  claim 1 , wherein determining the configuration comprises:
 analyzing a service level objective (SLO); and   assigning artifacts and resources to each of the plurality of tasks to satisfy the SLO.   
     
     
         12 . The system of  claim 1 , wherein determining the configuration comprises performing one or more of minimizing an amount of data movement between the plurality of tasks and a storage device, minimizing latency of workload execution, maximizing resource utilization for the workload, maximizing capacity of acceleration available resources, minimizing the power consumption of the workload, or optimizing the perf/watt or perf/$/watt metric for the workload. 
     
     
         13 . The system of  claim 1 , wherein scheduling the plurality of tasks comprises:
 communicating from a first network-accessible processing unit to a second network-accessible processing unit via an application programming interface (API), to schedule a task of the plurality of tasks to execute using an artifact executing on a resource managed by the second network-accessible processing unit.   
     
     
         14 . The system of  claim 13 , wherein scheduling the plurality of task comprises:
 lending or transferring resources from the first network-accessible processing unit to the second network-accessible processing unit for use when executing the artifact.   
     
     
         15 . The system of  claim 1 , wherein a task of the plurality of tasks produces a data result, which is stored in a distributed databased accessible by at least one other task of the plurality of tasks. 
     
     
         16 . A method for orchestrating acceleration functions in a network compute mesh, comprising:
 accessing a flowgraph, the flowgraph including data producer-consumer relationships between a plurality of tasks in a workload;   identifying available artifacts and resources to execute the artifacts to complete each of the plurality of tasks, wherein an artifact is an instance of a function to perform a task of the plurality of tasks;   determining a configuration assigning artifacts and resources to each of the plurality of tasks in the flowgraph; and   scheduling, based on the configuration, the plurality of tasks to execute using the assigned artifacts and resources.   
     
     
         17 . The method of  claim 16 , wherein determining the configuration comprises:
 analyzing a service level objective (SLO); and   assigning artifacts and resources to each of the plurality of tasks to satisfy the SLO.   
     
     
         18 . The method of  claim 16 , wherein determining the configuration comprises performing one or more of minimizing an amount of data movement between the plurality of tasks and a storage device, minimizing latency of workload execution, maximizing resource utilization for the workload, maximizing capacity of acceleration available resources, minimizing the power consumption of the workload, or optimizing the perf/watt or perf/$/watt metric for the workload. 
     
     
         19 . The method of  claim 16 , wherein scheduling the plurality of tasks comprises:
 communicating from a first network-accessible processing unit to a second network-accessible processing unit via an application programming interface (API), to schedule a task of the plurality of tasks to execute using an artifact executing on a resource managed by the second network-accessible processing unit.   
     
     
         20 . The method of  claim 19 , wherein scheduling the plurality of task comprises:
 lending or transferring resources from the first network-accessible processing unit to the second network-accessible processing unit for use when executing the artifact.   
     
     
         21 . The method of  claim 16 , wherein a task of the plurality of tasks produces a data result, which is stored in a distributed databased accessible by at least one other task of the plurality of tasks. 
     
     
         22 . At least one machine-readable medium including instructions for orchestrating acceleration functions in a network compute mesh, which when executed by a machine, cause the machine to:
 access a flowgraph, the flowgraph including data producer-consumer relationships between a plurality of tasks in a workload;   identify available artifacts and resources to execute the artifacts to complete each of the plurality of tasks, wherein an artifact is an instance of a function to perform a task of the plurality of tasks;   determine a configuration assigning artifacts and resources to each of the plurality of tasks in the flowgraph; and   schedule, based on the configuration, the plurality of tasks to execute using the assigned artifacts and resources.   
     
     
         23 . The at least one machine-readable medium of  claim 22 , wherein the instructions to determine the configuration comprise the instructions to:
 analyze a service level objective (SLO); and   assign artifacts and resources to each of the plurality of tasks to satisfy the SLO.   
     
     
         24 . The at least one machine-readable medium of  claim 22 , wherein the instructions to determine the configuration comprises instructions to performing one or more of minimizing an amount of data movement between the plurality of tasks and a storage device, minimizing latency of workload execution, maximizing resource utilization for the workload, maximizing capacity of acceleration available resources, minimizing the power consumption of the workload, or optimizing the perf/watt or perf/$/watt metric for the workload. 
     
     
         25 . The at least one machine-readable medium of  claim 22 , wherein the instructions to schedule the plurality of tasks comprise instructions to:
 communicate from a first network-accessible processing unit to a second network-accessible processing unit via an application programming interface (API), to schedule a task of the plurality of tasks to execute using an artifact executing on a resource managed by the second network-accessible processing unit.

Join the waitlist — get patent alerts

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

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