Online execution time prediction for computationally intensive applications with periodic progress updates

  • Authors:
  • Maria Chtepen;Filip H. Claeys;Bart Dhoedt;Filip Turck;Jan Fostier;Piet Demeester;Peter A. Vanrolleghem

  • Affiliations:
  • Department of Information Technology Broadband Communication Networks, IBCN, Ghent University, IBBT, Gent, Belgium 9050;MOSTforWATER N.V., Kortrijk, Belgium 8500;Department of Information Technology Broadband Communication Networks, IBCN, Ghent University, IBBT, Gent, Belgium 9050;Department of Information Technology Broadband Communication Networks, IBCN, Ghent University, IBBT, Gent, Belgium 9050;Department of Information Technology Broadband Communication Networks, IBCN, Ghent University, IBBT, Gent, Belgium 9050;Department of Information Technology Broadband Communication Networks, IBCN, Ghent University, IBBT, Gent, Belgium 9050;modelEAU, Département de génie civil et génie des eaux, Pavillon Adrien-Pouliot, Université Laval, Québec, Canada G1V 0A6

  • Venue:
  • The Journal of Supercomputing
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

The effectiveness of distributed execution of computationally intensive applications (jobs) largely depends on the quality of the applied scheduling approach. However, most of the existing non-trivial scheduling algorithms rely on prior knowledge or on prediction of application parameters, such as execution time, size of input and output, dependencies, etc., to assign applications to the available computational resources. A major issue is that these parameters are hard to determine in advance, especially if the end user does not possess an extensive history of previous application runs.In this work we propose an online method for execution time prediction of applications, for which execution progress can be collected at run-time. Using dynamic progress information, the total job execution time can be predicted using extrapolation. However, the predictions achieved by extrapolation are far from precise and often vary over time as a result of changing application dynamics and varying resource load. Therefore, to compute the actual job execution time we match a number of predefined prediction evolution models against the consecutive extrapolations, by adopting nonlinear curve-fitting. The "best-fit" coefficients allow for more accurate execution time prediction.The predictions made are used to enhance a dynamic scheduling algorithm for workflows introduced in our earlier work. The scheduling algorithm is run with and without curve-fitting, showing a performance improvement of up to 15% in the former case.