50 likes | 167 Views
Worst-Case Execution Time. Problem: Given a program and an architecture, find the worst-case execution time (WCET) of that program on the given architecture
E N D
Worst-Case Execution Time • Problem: Given a program and an architecture, find the worst-case execution time (WCET) of that program on the given architecture • Fundamental Limitation: Given an arbitrary program, the problem of deciding if it will ever stop is undecidable (known as the Halting Problem) • By restricting the programming constructs used, we can, in many cases, get an upper bound
Approaches to WCET Estimation • Program and architecture analysis • Easy to do when the architecture is simple • No cache • No pipelining • Single instruction issue width • Very difficult in modern speculative architectures • Deep pipelines with interlocks between stages • Multiple levels of caching • Multiple instructions issued per clock • Speculative execution and branch prediction
WCET Estimation Approaches • Profiling-based statistical approach • Estimate, based on experimental results, the confidence associated with some estimate of WCET • Technique uses the statistics of extremes
Gumbel Distribution Function • Given a set of sample data {x1, x2, …, xn}, define • m = E[x] - ls • s=(sqrt(6)/p).StDev(x) • l = 0.5772156649... • Mean and standard deviation are estimated from the data using the standard statistical formulae • Then, G(x) = exp(-exp(-(x-m)/s)), x>s is the Gumbel distribution function
Using the Gumbel PDF • Run the software under application conditions: make a total of n such profiling runs for some selected n • Calculate the parameters for the Gumbel distribution • Condition the Gumbel distribution on the maximum observed value • Read from the conditioned distribution the WCET estimate for the desired confidence level