System and method for workload management between hardware components
AssigneeDell Products L.P.
InventorsJohn A. Lockman, III, Dharmesh M. Patel
Life of this patent
Estimating the term…
Abstract
Methods and systems for performing workloads are disclosed. To perform the workloads, operations may be performed by compute complexes. The compute complexes may perform some types of operations inefficiently. To accelerate completion of the workloads, operations to be performed by the compute complexes may be analyzed by other hardware components in a manner that is transparent to the compute complexes. Operations that may be performed more quickly by the other hardware components may be automatically and transparently offloaded.
Claims20
A method for managing performance of workloads across a heterogenous processing system, the method comprising:
- identifying operations queued by a compute complex to be performed to complete a workload;
- identifying an operation of the operations estimated to be completed more quickly by a data processing unit than an entity assigned to perform the operation, wherein identifying the operation comprises:
- compiling at least a portion of a first test operation of the operations for acceleration hardware of a second entity to obtain a compiled test operation;
- initiating execution of the compiled test operation for the acceleration hardware to identify an execution rate;
- making a determination regarding whether the execution rate exceeds a threshold;
- in a first instance of the determination where the execution rate exceeds the threshold:
- selecting the first test operation as the operation;
- and
- in a second instance of the determination where the execution rate does not exceed the threshold:
- discarding the first test operation as a candidate for being the operation;
- prior to initiation of performance of the operation by the entity:
- removing the operation from a queue;
- initiating performance of the operation by the second entity to obtain a result;
- and
- populating the compute complex with the result.
A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform computing operations for managing performance of workloads across a heterogenous processing system, the computing operations comprising:
- identifying operations queued by a compute complex to be performed to complete a workload;
- identifying an operation of the operations estimated to be completed more quickly by a data processing unit than an entity assigned to perform the operation, wherein identifying the operation comprises:
- compiling at least a portion of a first test operation of the operations for acceleration hardware of a second entity to obtain a compiled test operation;
- initiating execution of the compiled test operation for the acceleration hardware to identify an execution rate;
- making a determination regarding whether the execution rate exceeds a threshold;
- in a first instance of the determination where the execution rate exceeds the threshold:
- selecting the first test operation as the operation;
- and
- in a second instance of the determination where the execution rate does not exceed the threshold:
- discarding the first test operation as a candidate for being the operation;
- prior to initiation of performance of the operation by the entity:
- removing the operation from a queue;
- initiating performance of the operation by the second entity to obtain a result;
- and
- populating the compute complex with the result.
A data processing system, comprising:
- a processor, and
- a memory coupled to the processor to store instructions, which when executed by the processor, cause the data processing system to perform computing operations for managing performance of workloads across a heterogenous processing system, the computing operations comprising:
- identifying operations queued by a compute complex to be performed to complete a workload;
- identifying an operation of the operations estimated to be completed more quickly by a data processing unit than an entity assigned to perform the operation, wherein identifying the operation comprises:
- compiling at least a portion of a first test operation of the operations for acceleration hardware of a second entity to obtain a compiled test operation;
- initiating execution of the compiled test operation for the acceleration hardware to identify an execution rate;
- making a determination regarding whether the execution rate exceeds a threshold;
- in a first instance of the determination where the execution rate exceeds the threshold:
- selecting the first test operation as the operation;
- and
- in a second instance of the determination where the execution rate does not exceed the threshold:
- discarding the first test operation as a candidate for being the operation;
- prior to initiation of performance of the operation by the entity:
- removing the operation from a queue;
- initiating performance of the operation by a second entity to obtain a result;
- and
- populating the compute complex with the result.
Dependencies are inferred from the claim text.