Coupling Profile and Historical Methods to Predict Execution Time of Parallel Applications

This article describes some work in the domain of application execution time prediction, which is always necessary for schedulers. We define a hybrid method of time prediction that is both profile-based and historic-based. This prediction is achieved by combining a program structure analysis with an instance-based learning method. We demonstrate that taking account of an application's profile improves predictions compared with classical historic-based prediction methods.

[1]  Jakob Engblom,et al.  Processor Pipelines and Static Worst-Case Execution Time Analysis , 2002 .

[2]  Olivier Brun,et al.  Parallelisation of the particle filtering technique and application to Doppler-bearing tracking of maneuvering sources , 2003, Parallel Comput..

[3]  David B. Whalley,et al.  Integrating the timing analysis of pipelining and instruction caching , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[4]  Richard Gibbons,et al.  A Historical Application Profiler for Use by Parallel Schedulers , 1997, JSSPP.

[5]  Sang Lyul Min,et al.  An Accurate Worst Case Timing Analysis for RISC Processors , 1995, IEEE Trans. Software Eng..

[6]  David B. Whalley,et al.  Timing analysis for data caches and set-associative caches , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

[7]  Luciano José Senger,et al.  An Instance-based Learning Approach for Predicting Execution Times of Parallel Applications , 2004 .

[8]  Lee C. Potter,et al.  Statistical prediction of task execution times through analytic benchmarking for scheduling in a heterogeneous environment , 1999, Proceedings. Eighth Heterogeneous Computing Workshop (HCW'99).

[9]  Dror G. Feitelson,et al.  Utilization, Predictability, Workloads, and User Runtime Estimates in Scheduling the IBM SP2 with Backfilling , 2001, IEEE Trans. Parallel Distributed Syst..

[10]  Isabelle Puaut,et al.  Worst Case Execution Time Analysis for a Processor with Branch Prediction , 2004, Real-Time Systems.

[11]  Jakob Engblom,et al.  Clustered worst-case execution-time calculation , 2005, IEEE Transactions on Computers.

[12]  Andrew W. Moore,et al.  Locally Weighted Learning , 1997, Artificial Intelligence Review.

[13]  Gert Frølund Pedersen,et al.  Grid-Based SCT Approach for the Global Electromagnetic Simulation and Design of Finite-Size and Thick Dichroïc Plate , 2010 .

[14]  Greger Ottosson,et al.  Worst-case execution time analysis for modern hardware architectures , 1997 .

[15]  Alan Burns,et al.  Fixed priority pre-emptive scheduling: An historical perspective , 1995, Real-Time Systems.

[16]  Jakob Engblom,et al.  Efficient longest executable path search for programs with complex flows and pipeline effects , 2001, CASES '01.

[17]  Giorgio Buttazzo,et al.  Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications , 1997 .

[18]  Allen B. Downey Predicting queue times on space-sharing parallel computers , 1997, Proceedings 11th International Parallel Processing Symposium.

[19]  Warren Smith,et al.  Using Run-Time Predictions to Estimate Queue Wait Times and Improve Scheduler Performance , 1999, JSSPP.

[20]  Aloysius K. Mok,et al.  Evaluating tight execution time bounds of programs by annotations , 1989 .

[21]  Tony R. Martinez,et al.  Improved Heterogeneous Distance Functions , 1996, J. Artif. Intell. Res..

[22]  A. Moore A Locally Weighted Learning Tutorial using Vizier 1.0 , 1997 .

[23]  Christine Rochange,et al.  History-based Schemes and Implicit Path Enumeration , 2006, WCET.

[24]  Thierry Monteil,et al.  Non-Intrusive Autonomic Approach with Self-Management Policies Applied to Legacy Infrastructures for Performance Improvements , 2011, Int. J. Adapt. Resilient Auton. Syst..

[25]  David B. Whalley,et al.  Bounding Pipeline and Instruction Cache Performance , 1999, IEEE Trans. Computers.

[26]  Raimund Kirner,et al.  Classification of Code Annotations and Discussion of Compiler-Support for Worst-Case Execution Time Analysis , 2005, WCET.

[27]  Peter P. Puschner,et al.  Calculating the maximum execution time of real-time programs , 1989, Real-Time Systems.

[28]  Friedhelm Stappert,et al.  Complete worst-case execution time analysis of straight-line hard real-time programs , 2000, J. Syst. Archit..

[29]  Carla E. Brodley,et al.  Predictive application-performance modeling in a computational grid environment , 1999, Proceedings. The Eighth International Symposium on High Performance Distributed Computing (Cat. No.99TH8469).

[30]  Henrik Theiling,et al.  Convenient User Annotations for a WCET Tool , 2003, WCET.

[31]  Sharad Malik,et al.  Performance Analysis of Embedded Software Using Implicit Path Enumeration , 1995, 32nd Design Automation Conference.

[32]  WilhelmReinhard,et al.  The worst-case execution-time problemoverview of methods and survey of tools , 2008 .

[33]  Sharad Malik,et al.  Efficient microarchitecture modeling and path analysis for real-time software , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[34]  Jakob Engblom,et al.  Pipeline timing analysis using a trace-driven simulator , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[35]  Nicky Williams WCET measurement using modified path testing , 2007 .

[36]  Warren Smith,et al.  Resource Selection Using Execution and Queue Wait Time Predictions , 2002 .

[37]  Thierry Monteil,et al.  Hybrid Method to Predict Execution Time of Parallel Applications , 2008, CSC.

[38]  Warren Smith,et al.  Predicting Application Run Times Using Historical Information , 1998, JSSPP.

[39]  Sang Lyul Min,et al.  Efficient worst case timing analysis of data caching , 1996, Proceedings Real-Time Technology and Applications.

[40]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.