IP Library Granted Patent US 12669810
Granted Patent B2
US 12669810 · App. 17/972,956 · Granted Jun 30, 2026

Orchestrating deterministic workload execution

Inventor: Dirk Schulz (Meckenheim, DE)
Assignee: ABB Schweiz AG
G05B19/41865G05B19/4185G05B2219/25421
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 12669810
App. No.
17/972,956
Granted
Jun 30, 2026
Kind
B2
Abstract

A computer-implemented method for orchestrating the deterministic execution of a given workload on at least one computing platform, comprising determining a consumption of at least one computing resource and a consumption of at least one communications resource that result from executing a given workload or a part thereof; determining, from these consumptions and a given set of requirements that relate to the timing, synchronicity and/or availability of executing the given workload or part thereof, at least one performance requirement with respect to execution of the workload or part thereof; and negotiating, with a management entity of the computing platform, execution of the workload or part thereof on the computing platform according to the at least one performance requirement.

Claims (50)

1 . A computer-implemented method for orchestrating a deterministic execution of a given workload on at least one computing platform, comprising the steps of:

determining a consumption of at least one computing resource and a consumption of at least one communications resource that result from executing a given workload or a part thereof, wherein the computing and communications consumptions are specifically determined for a cycle of a cyclically executed part of the workload, and determining, by analysis of machine code of the workload and/or of by analysis of the behavior of the workload, at least one cyclically executed part of the workload;

determining at least one performance requirement with respect to execution of the workload or part thereof that must be met to fulfill a given set of requirements that relate to timing, synchronicity, redundancy, and availability of executing the given workload or part thereof based on the determined consumptions, wherein the redundancy comprises physical redundancy between different compute instances drawn from a pool of anonymous spare resources, and specifying that workloads are to be distributed across at least two different physical computing platforms;

negotiating, with a management entity of the computing platform, execution of the workload or part thereof on the computing platform according to the at least one performance requirement, wherein negotiating comprises translating of the at least one performance requirement into a set of requirements for resources of the computing platform, wherein the set of requirements comprises configuration parameters for the resources;

wherein the negotiating comprises: grouping computation and communication related instructions of the workload or part thereof that have no mutual dependencies into one or more bound group; and requesting, from the computing platform, execution of each bound group with an upper bound for execution time and latency;

executing, by the computing platform, the workload or part thereof based on the at least one performance requirement.

2 . The method of claim 1 , wherein the negotiating comprises:

determining, for each compute instance configuration from a set of multiple compute instance configurations available on the computing platform, whether this compute instance configuration meets the at least one performance requirement;

assigning, to each compute instance configuration that meets the at least one performance requirement, a figure of merit based on at least one predetermined criterion; and

requesting execution of the workload or part thereof on a compute instance configuration with the best figure of merit.

3 . The method of claim 1 , wherein the workload comprises controlling at least one actuator and/or lower-level controller in an industrial plant such that at least one observable quantity of the industrial plant is maintained at a desired set-point value.

4 . The method of claim 1 , wherein the determining of the computing consumption and the communications consumption comprises: determining, from central processing unit (CPU) instructions of machine code of the workload executed in each cycle, a quantity of CPU cycles consumed during each cycle, and a quantity of data communicated during each cycle.

5 . The method of claim 1 , wherein the determining of the computing consumption and the communications consumption comprises test-executing one or more cycles of the cyclically executed part of the workload and measuring the created computing and/or communications load.

6 . The method of claim 1 , wherein a portion of the workload that comprises at least one communication to read input data, at least one computation performed on this input data and at least one communication to write the result of this computation as output data is determined as the cyclically executed part of the workload.

7 . The method of claim 1 , wherein the negotiating comprises:

translating a timing requirement for a modularized application to timing requirements on the execution of a set of workloads and the communication between the workloads; and

translating these requirements to requirements on the time synchronization of compute nodes within an execution environment and between execution environments.

8 . The method of claim 1 , further comprising:

checking that the resources are available for allocation in view of the current usage of the computing platform; and

when the resources are available for allocation, allocating the resources and executing the workload or part thereof using the resources.

9 . The method of claim 8 , wherein the checked resources comprise one or more of the following:

arithmetic-logical unit (ALU) operations on central processing unit (CPU) cores;

floating point operations;

CPU cycles;

memory capacity;

input/output bandwidth;

a robustness and/or redundancy level;

a fail-over time; and

a latency.

10 . The method of claim 1 , wherein the negotiating comprises:

providing information about the workload and the at least one performance requirement to a plurality of different management entities of respective computing platforms;

receiving, from each management entity, a value of a cost function for executing the workload or part thereof; and

requesting execution of the workload or part thereof from the management entity that has provided the best value of the cost function.

11 . A computer program comprising non-transitory machine-readable instructions that, when executed by one or more computers or compute instances, cause the one or more computers or compute instances to perform processes comprising:

determining a consumption of at least one computing resource and a consumption of at least one communications resource that result from executing a given workload or a part thereof, wherein the computing and communications consumptions are specifically determined for a cycle of a cyclically executed part of the workload, and determining, by analysis of machine code of the workload and/or of by analysis of the behavior of the workload, at least one cyclically executed part of the workload;

determining at least one performance requirement with respect to execution of the workload or part thereof that must be met to fulfill a given set of requirements that relate to timing, synchronicity, redundancy, and availability of executing the given workload or part thereof based on the determined consumptions, wherein the redundancy comprises physical redundancy between different compute instances drawn from a pool of anonymous spare resources, and specifying that workloads are to be distributed across at least two different physical computing platforms;

negotiating, with a management entity of the computing platform, execution of the workload or part thereof on the computing platform according to the at least one performance requirement, wherein negotiating comprises translating of the at least one performance requirement into a set of requirements for resources of the computing platform, wherein the set of requirements comprises configuration parameters for the resources;

wherein the negotiating comprises: grouping computation and communication related instructions of the workload or part thereof that have no mutual dependencies into one or more bound group; and requesting, from the computing platform, execution of each bound group with an upper bound for execution time and latency;

executing, by the computing platform, the workload or part thereof based on the at least one performance requirement.

12 . The computer program of claim 11 , wherein the negotiating further comprises:

determining, for each compute instance configuration from a set of multiple compute instance configurations available on the computing platform, whether this compute instance configuration meets the at least one performance requirement;

assigning, to each compute instance configuration that meets the at least one performance requirement, a figure of merit based on at least one predetermined criterion; and

requesting execution of the workload or part thereof on a compute instance configuration with the best figure of merit.

13 . The computer program of claim 11 , wherein the workload comprises controlling at least one actuator and/or lower-level controller in an industrial plant such that at least one observable quantity of the industrial plant is maintained at a desired set-point value.

14 . The computer program of claim 11 , wherein the negotiating comprises:

translating a timing requirement for a modularized application to timing requirements on the execution of a set of workloads and the communication between the workloads; and

translating these requirements to requirements on the time synchronization of compute nodes within an execution environment and between execution environments.

15 . The computer program of claim 11 , further comprising:

checking that the resources are available for allocation in view of the current usage of the computing platform; and

when the resources are available for allocation, allocating the resources and executing the workload or part thereof using the resources.