Optimizing concurrent execution using networked processing units
Abstract
Various approaches for managing distributed compute operations for workload execution of concurrent tasks, including with the use of infrastructure processing units (IPUs) and similar networked processing units, are disclosed. An example method may include: identifying multiple tasks of a computing workload, for a workload that provides processing dependencies among the tasks, and that uses concurrent execution with one or more of the tasks; monitoring an execution time for each of the tasks, relative to an execution time threshold for each of the tasks; identifying the execution time of a particular task as exceeding an execution time threshold for the particular task; determining a remediation based on the particular task and the identified execution time, with the remediation including use of other compute resources in the distributed computing environment for the workload; and applying the remediation to increase speed of execution of the workload.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for task management of a workload in a distributed computing environment, comprising:
identifying multiple tasks of a computing workload, wherein the workload includes processing dependencies among the tasks, and wherein two or more of the tasks are executed concurrently; monitoring an execution time for each of the tasks, relative to a respective execution time threshold applicable for each of the tasks; identifying the execution time of a particular task as exceeding an execution time threshold for the particular task; determining a remediation based on the particular task and the identified execution time, the remediation including use of other compute resources in the distributed computing environment; and applying the remediation to increase speed of execution of the workload.
2 . The method of claim 1 , wherein the particular task provides an input to a dependent task, and wherein the dependent task is a join point of the workload that receives a control input or data input from the particular task and at least one previous task of the workload.
3 . The method of claim 2 , wherein the remediation is applied in response to determining that the dependent task is a join point of the workload.
4 . The method of claim 2 , the method further comprising:
calculating the execution time threshold for the particular task, wherein the execution time threshold is weighted by an amount of waiting time elapsed for at least one completed task to reach the join point and wait for the particular task.
5 . The method of claim 1 , wherein identifying the multiple tasks of the workload comprises splitting the workload into the multiple tasks, and wherein the method further comprises distributing the multiple tasks among multiple compute locations of the distributed computing environment.
6 . The method of claim 1 , wherein the remediation includes use of fallback compute infrastructure to perform at least a portion of the workload for at least a defined period of time.
7 . The method of claim 6 , wherein the use of the fallback compute infrastructure includes use of hardware-assisted resumption, to migrate the particular task from a first compute location to a second compute location in the distributed computing environment.
8 . The method of claim 6 , wherein the use of the fallback compute infrastructure includes use of a deferred execution arrangement for at least one task in the workload that does not have dependencies, and wherein the use of the deferred execution arrangement is coordinated during underutilization of the fallback compute infrastructure.
9 . The method of claim 6 , wherein the use of the fallback compute infrastructure is based on a classification of the remediation, the classification provided from among a plurality of priority categories according to the particular task.
10 . The method of claim 1 , wherein the method is performed by a first networked processing unit operating as an orchestrator or scheduler of the workload, and wherein the remediation for the particular task is implemented with use of a second networked processing unit.
11 . The method of claim 10 , wherein the particular task is executed by a first set of compute resources, and wherein the remediation includes use of a second set of compute resources associated with the second networked processing unit.
12 . A device, comprising:
a networked processing unit, the networked processing unit connected to a distributed computing environment via a network; and a storage medium including instructions embodied thereon, wherein the instructions, which when executed by the networked processing unit, configure the networked processing unit to:
identify multiple tasks of a computing workload, wherein the workload includes processing dependencies among the tasks, and wherein two or more of the tasks are executed concurrently;
monitor an execution time for each of the tasks, relative to a respective execution time threshold applicable for each of the tasks;
identifying the execution time of a particular task as exceeding an execution time threshold for the particular task;
determining a remediation based on the particular task and the identified execution time, the remediation including use of other compute resources in the distributed computing environment; and
applying the remediation to increase speed of execution of the workload.
13 . The device of claim 12 , wherein the particular task provides an input to a dependent task, and wherein the dependent task is a join point of the workload that receives a control input or data input from the particular task and at least one previous task of the workload.
14 . The device of claim 13 , wherein the remediation is applied in response to determining that the dependent task is a join point of the workload.
15 . The device of claim 13 , the instructions further to configure the networked processing unit to:
calculate the execution time threshold for the particular task, wherein the execution time threshold is weighted by an amount of waiting time elapsed for at least one completed task to reach the join point and wait for the particular task.
16 . The device of claim 12 , wherein to identify the multiple tasks of the workload is performed in response to splitting the workload into the multiple tasks, and wherein the instructions further configure the networked processing unit to cause the multiple tasks to be distributed among multiple compute locations of the distributed computing environment.
17 . The device of claim 12 , wherein the remediation includes causing fallback compute infrastructure to perform at least a portion of the workload for at least a defined period of time.
18 . The device of claim 17 , wherein use of the fallback compute infrastructure includes use of hardware-assisted resumption, to migrate the particular task from a first compute location to a second compute location in the distributed computing environment.
19 . The device of claim 17 , wherein use of the fallback compute infrastructure includes use of a deferred execution arrangement for at least one task in the workload that does not have dependencies, and wherein the use of the deferred execution arrangement is coordinated during underutilization of the fallback compute infrastructure.
20 . The device of claim 17 , wherein use of the fallback compute infrastructure is based on a classification of the remediation, the classification provided from among a plurality of priority categories according to the particular task.
21 . The device of claim 12 , wherein the networked processing unit operates as an orchestrator or scheduler of the workload, and wherein the remediation for the particular task is implemented with use of a second networked processing unit connected via the network.
22 . The device of claim 21 , wherein the particular task is executed by a first set of compute resources associated with the device, and wherein the remediation includes use of a second set of compute resources associated with the second networked processing unit.
23 . A non-transitory machine-readable storage medium comprising information representative of instructions, wherein the instructions, when executed by processing circuitry, cause the processing circuitry to:
identify multiple tasks of a computing workload in a distributed computing environment, wherein the workload includes processing dependencies among the tasks, and wherein two or more of the tasks are executed concurrently; evaluate an execution time for each of the tasks, relative to a respective execution time threshold applicable for each of the tasks; identify the execution time of a particular task as exceeding an execution time threshold for the particular task; determine a remediation based on the particular task and the identified execution time, the remediation including use of other compute resources in the distributed computing environment; and cause the remediation to be applied to increase speed of execution of the workload.
24 . The non-transitory machine-readable storage medium of claim 23 ,
wherein the particular task provides an input to a dependent task, wherein the dependent task is a join point of the workload that receives a control input or data input from the particular task and at least one previous task of the workload, and wherein the remediation is applied in response to determining that the dependent task is a join point of the workload.
25 . The non-transitory machine-readable storage medium of claim 23 ,
wherein the processing circuitry is a first networked processing unit operating as an orchestrator or scheduler of the workload, wherein the remediation for the particular task is implemented with use of a second networked processing unit, wherein the particular task is executed by a first set of compute resources, and wherein the remediation includes use of a second set of compute resources associated with the second networked processing unit.Join the waitlist — get patent alerts
Track US2023136612A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.