Out-of-order workload execution
AssigneeMercedes-Benz Group AG
InventorFrancois Piednoel
Life of this patent
Estimating the term…
Abstract
A computing system can include a sensor data input chiplet to (i) obtain sensor data from a sensor system, and (ii) store the sensor data in a cache. One or more workload processing chiplets can perform out-of-order execution on workloads corresponding to the sensor data stored in the cache, where respective workloads comprise sets of dependencies. The one or more workload processing chiplets perform out-of-order execution on the workloads by dynamically determining whether one or more dependencies exists for the respective workload, and when no data dependencies exist for the respective workload, executing the respective workload.
Claims20
A computing system for operating a vehicle, the computing system comprising:
- a sensor data input chiplet to continuously (i) obtain sensor data from a sensor system of the vehicle when the vehicle is being operated, (ii) store the sensor data in a cache;
- and
- a reservation table that includes a reference for each workload of a plurality of workloads, the reference for each workload identifying corresponding sensor data in the cache and dependency information for each workload;
- one or more workload processing chiplets to execute a plurality of workloads, corresponding to driving tasks of the vehicle, using corresponding sensor data stored in the cache, the one or more workload processing chiplets to perform out-of-order execution on at least some of the plurality of workloads, by:
- continuously monitoring the reservation table to determine available workloads that are ready for execution, each available workload referencing dependency information that indicates the workload has no unresolved dependency;
- upon determining each available workload, executing the workload using the corresponding sensor data that is referenced for the workload;
- and
- for workloads that, based on their dependency information referenced by the reservation table, are determined to not be ready for execution, buffering each of the respective workloads until the workload is determined to be ready for execution, then executing the respective workload using the corresponding sensor data that is referenced for the workload.
A non-transitory computer readable medium storing instructions that, when executed by one or more processors of a computing system for operating a vehicle, cause the computing system to:
- on a sensor data input chiplet of the computing system, continuously (i) obtain sensor data from a sensor system, and (ii) store the sensor data in a cache;
- implement a reservation table that includes a reference for each workload of a plurality of workloads, the reference for each workload identifying corresponding sensor data in the cache and dependency information for each workload;
- on one or more workload processing chiplets of the computing system, execute a plurality of workloads, corresponding to driving tasks of the vehicle, using corresponding sensor data stored in the cache, the one or more workload processing chiplets to perform out-of-order execution on at least some of the plurality of workloads, by:
- continuously monitoring the reservation table to determine available workloads that are ready for execution, each available workload referencing dependency information that indicates the workload has no unresolved dependency;
- upon determining each available workload, executing the workload using the corresponding sensor data that is referenced for the workload;
- and
- for workloads that, based on their dependency information referenced by the reservation table, are determined to not be ready for execution, buffering each of the respective workloads until the workload is determined to be ready for execution, then executing the respective workload using the corresponding sensor data that is referenced for the workload.
A computer-implemented method for operating a vehicle, the method being performed by one or more processors of a computing system and comprising:
- continuously (i) obtaining sensor data from a sensor system, and (ii) storing the sensor data in a cache;
- executing a plurality of workloads, corresponding to driving tasks of the vehicle, using corresponding sensor data stored in the cache, including performing out-of-order execution on at least some of the plurality of workloads, by:
- continuously monitoring a reservation table to determine available workloads that are ready for execution, each available workload referencing, in the reservation table, dependency information that indicates the workload has no unresolved dependency;
- upon determining each available workload, executing the workload using the corresponding sensor data that is referenced in the reservation table for the workload;
- and
- wherein for workloads that, based on their dependency information referenced by the reservation table, are determined to not be ready for execution, performing out-of-order execution on at least some of the plurality of workloads further comprises buffering each of the respective workloads until the workload is determined to be ready for execution, then executing the respective workload using the corresponding sensor data that is referenced for the workload in the reservation table.
Dependencies are inferred from the claim text.