Best performance delivery in heterogeneous computing unit environment
AssigneeLenovo Enterprise Solutions (Singapore) Pte. Ltd.
InventorsJianbang Zhang, John W. Nicholson, Michael T. Vanover
Life of this patent
Estimating the term…
Abstract
An apparatus for selecting an efficient processor includes a comparison module that compares performance characteristics of a plurality of processors available for execution of a function, where each performance characteristic varies as a function of function size. The apparatus includes a selection module that selects, based on a size of the function, a processor from the plurality of processors with a best performance for execution of the function, and an execution module that executes the function on the selected processor.
Claims16
A method comprising:
- determining a performance characteristic of each of a main processor and a plurality of alternate processors based on function execution data from a plurality of previously executed functions;
- tracking a context for each previously executed function executed on the main processor and on a processor of the alternate plurality of processors;
- comparing performance characteristics of the main processor and the plurality of the alternate processors available for execution of a function, wherein the compared performance characteristics are derived from the plurality of previously executed functions and comprise a similar context to the function, and wherein each performance characteristic varies as a function of function size, the performance characteristics comprising an amount of time to execute the function on a particular processor of the main processor and the plurality of alternate processors;
- selecting, based on a size of the function;
- a processor from the main processor and the plurality of alternate processors with a best performance for execution of the function, wherein the selected processor has a lowest execution time for the function;
- and
- executing the function on the selected processor.
A program product comprising a non-transitory computer readable storage medium that stores code executable by a processor, the executable code comprising code to perform:
- determining a performance characteristic of each of a main processor and a plurality of alternate processors based on function execution data from a plurality of previously executed functions;
- tracking a context for each previously executed function executed on the main processor and on a processor of the plurality of alternate processors;
- comparing performance characteristics of the main processor and the plurality of the alternate processors available for execution of a function, wherein the compared performance characteristics are derived from the plurality of previously executed functions and comprise a similar context to the function, and wherein each performance characteristic varies as a function of function size, the performance characteristics comprising an amount of time to execute the function on a particular processor of the main processor and the plurality of alternate processors;
- selecting, based on a size of the function;
- a processor from the main processor and the plurality of alternate processors with a best performance for execution of the function, wherein the selected processor has a lowest execution time for the function;
- and
- executing the function on the selected processor.
Dependencies are inferred from the claim text.