A computer program product is provided for estimating algorithm run times given parameters of the algorithm, specifications of an architecture on which the algorithm will execute and dimensions of a data set which will be input into the algorithm. The computer program product includes instructions to cause a processing circuit to create training data sets, generate run time data of executions of instances of the algorithm on the architecture for each training data set, identify model-usable features, generate a map of the model-usable features to an expression of the run time data and iteratively tuning the model-usable features toward improving map accuracy until a target map accuracy is achieved, develop a predictive model based on iteratively tuned versions of the model-usable features and estimate a run time of an execution of the algorithm on a new data set and on a new architecture using the predictive model.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A computer program product for estimating algorithm run times given parameters of the algorithm, specifications of an architecture on which the algorithm will execute and dimensions of a data set which will be input into the algorithm, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions being readable and executable by a processing circuit to cause the processing circuit to: deploy the algorithm for execution on the architecture; create training data sets derived from the execution of the algorithm on the architecture; generate run time data associated with respective executions of parameterized instances of the algorithm on the architecture for each of the training data sets; identify model-usable features from polynomial expansions of the dimensions of the data set, the parameters of the algorithm and the specifications of the architecture reduced to simpler terms, wherein the specifications of the architecture comprise disk throughput data, central processing unit (CPU) frequency data, an inversion of available random access memory data and memory bandwidth data; generate a piecewise map of some or all of the model-usable features to output an expression of the run time data as a conglomeration of multiple map lines in corresponding ones of multiple map regions, respectively, the multiple map regions being respectively defined along a single axis of the piecewise map; iteratively tune the some or all of the model-usable features in each of the multiple map regions toward improving an accuracy of each of the multiple map lines of the piecewise map relative to target upper and lower range lines until a target accuracy in each of the multiple map regions is achieved; develop a predictive model based on iteratively tuned versions of the model-usable features in the multiple map regions; and estimate a run time of an execution of the algorithm on a new data set and on a new architecture using the predictive model. 2. The computer program product according to claim 1, wherein the training data sets are arranged in M rows by N columns. 3. The computer program product according to claim 1, wherein the parameterized instances of the algorithm are generated from one or more variables. 4. (canceled) 5. The computer program product according to claim 1, wherein the model-usable features are automatically or manually tunable. 6. The computer program product according to claim 1, wherein the expression of the run time data is calculated from regression analysis of the run time data. 7. The computer program product according to claim 1, wherein the target accuracy is predefined as a range of target accuracies. 8. A computing system for estimating algorithm run times given parameters of the algorithm, specifications of an architecture on which the algorithm will execute and dimensions of a data set which will be input into the algorithm, the computing system comprising a computer readable storage medium having instructions stored thereon that are executable by a processing circuit to cause the processing circuit to: deploy the algorithm for execution on the architecture; create training data sets derived from the execution of the algorithm on the architecture; generate run time data associated with respective executions of parameterized instances of the algorithm on the architecture for each of the training data sets; identify model-usable features from polynomial expansions of the dimensions of the data set, the parameters of the algorithm and the specifications of the architecture reduced to simpler terms, wherein the specifications of the architecture comprise disk throughput data, central processing unit (CPU) frequency data, an inversion of available random access memory data and memory bandwidth data; generate a piecewise map of some or all of the model-usable features to output an expression of the run time data as a conglomeration of multiple map lines in corresponding ones of multiple map regions, respectively, the multiple map regions being respectively defined along a single axis of the piecewise map; iteratively tune the some or all of the model-usable features in each of the multiple map regions toward improving an accuracy of each of the multiple map lines of the piecewise map relative to target upper and lower range lines until a target accuracy in each of the multiple map regions is achieved; develop a predictive model based on iteratively tuned versions of the model-usable features in the multiple map regions; and estimate a run time of an execution of the algorithm on a new data set and on a new architecture using the predictive model. 9. The computing system according to claim 8, wherein the training data sets are arranged in M rows by N columns. 10. The computing system according to claim 8, wherein the parameterized instances of the algorithm are generated from one or more variables. 11. (canceled) 12. The computing system according to claim 8, wherein the model-usable features are automatically or manually tunable. 13. The computing system according to claim 8, wherein the expression of the run time data is calculated from regression analysis of the run time data. 14. The computing system according to claim 8, wherein the target accuracy is predefined as a range of target accuracies. 15. A computer-implemented method for estimating algorithm run times given parameters of the algorithm, specifications of an architecture on which the algorithm will execute and dimensions of a data set which will be input into the algorithm, the computer-implemented method comprising: deploy the algorithm for execution on the architecture; creating training data sets derived from the execution of the algorithm on the architecture; generating run time data associated with respective executions of parameterized instances of the algorithm on the architecture for each of the training data sets; identifying model-usable features from polynomial expansions of the dimensions of the data set, the parameters of the algorithm and the specifications of the architecture reduced to simpler terms, wherein the specifications of the architecture comprise disk throughput data, central processing unit (CPU) frequency data, an inversion of available random access memory data and memory bandwidth data; generating a piecewise map of some or all of the model-usable features to output an expression of the run time data as a conglomeration of multiple map lines in corresponding ones of multiple map regions, respectively, the multiple map regions being respectively defined along a single axis of the piecewise map; iteratively tuning the some or all of the model-usable features in each of the multiple map regions toward improving an accuracy of each of the multiple map lines of the piecewise map relative to target upper and lower range lines until a target accuracy in each of the multiple map regions is achieved; developing a predictive model based on iteratively tuned versions of the model-usable features in the multiple map regions; and estimating a run time of an execution of the algorithm on a new data set and on a new architecture using the predictive model. 16. The computer-implemented method according to claim 15, wherein the training data sets are arranged in M rows by N columns. 17. The computer-implemented method according to claim 15, wherein the parameterized instances of the algorithm are generated from one or more variables. 18. (canceled) 19. The computer-implemented method according to claim 15, wherein the model-usable features are automatically or manually tunable. 20. The computer-implemented method according to claim 15, wherein the target accuracy is predefined as a range of target accuracies.