Execution time prediction for energy-efficient computer systems
AssigneeCornell University
InventorsDaniel Lo, Tao Chen, Gookwon Edward Suh, Taejoon Song
Life of this patent
Estimating the term…
Abstract
Methods, systems, and devices of using prediction-guided resource allocation technologies for software applications are disclosed, comprising generating a plurality of program features that impact execution time of a plurality of program tasks; predicting execution time of the plurality of program tasks on one or more computing cores using the plurality of program features, wherein each of the plurality of program features is mapped to an execution time estimate on a selected computing core; and con trolling resources for the one or more computing cores based on a predicted execution time of the plurality of program tasks.
Claims21
A computer-implemented method of using prediction-guided resource allocation technologies to improve energy efficiency while meeting a response-time requirement for software applications, comprising:
- generating a plurality of program features that impact execution time of a plurality of program tasks;
- predicting an execution time for each of the plurality of program tasks on one or more computing cores using the plurality of program features, wherein each of the plurality of program features is mapped to an execution time estimate on a selected computing core;
- controlling resources for the one or more computing cores based on the predicted execution time for the plurality of program tasks;
- and
- training and fitting a mathematical model to map the plurality of program features to the execution time estimates, wherein the training and fitting the mathematical model places more weight on avoiding exceeding a time budget of the plurality of program tasks than on conserving energy usage by a corresponding computing core.
A computer program product comprising a computer-readable non-transitory program medium having code stored thereon, the code, when executed, causing a processor to implement a method of using prediction-guided resource allocation technologies to improve energy efficiency while meeting response-time requirement for software applications, the method comprising:
- generating a plurality of program features that impact execution time of a plurality of program tasks;
- predicting an execution time for each of the plurality of program tasks on one or more computing cores using the plurality of program features, wherein each of the plurality of program features is mapped to an execution time estimate on a selected computing core;
- and
- controlling resources for the one or more computing cores based on the predicted execution time for the plurality of program tasks;
- and
- training and fitting a mathematical model to map the plurality of program features to the execution time estimates, wherein the training and fitting the mathematical model places more weight on avoiding exceeding a time budget of the plurality of program tasks than on conserving energy usage by a corresponding computing core.
An apparatus using prediction-guided resource allocation technologies to improve energy efficiency while meeting response-time requirement for computer hardware systems, comprising:
- a logic module including a control unit comprising one or more finite state machines (FSMs) for handling input requests, output responses, and generating control signals, and a data-path module for performing computations on input requests to generate output data and signals;
- one or more computing cores;
- a prediction controller that 1) records execution time of a plurality of features during training runs by Register Transfer Level (RTL) instrumentation and analysis, wherein the plurality of features impact an execution time of a task associated with a deadline;
- 2) predicts execution time of the task on the one or more computing cores using the plurality of features, wherein each of the plurality of features is mapped to an execution time estimate on a selected computing core based on data from the training runs;
- and 3) controls resources for the one or more computing cores based on the predicted execution time for the task;
- and
- training and fitting a mathematical model to map the plurality of program features to the execution time estimates, wherein the training and fitting the mathematical model places more weight on avoiding exceeding a time budget of the plurality of program tasks than on conserving energy usage by a corresponding computing core.
Dependencies are inferred from the claim text.