50 likes | 184 Vues
The Worst-Case Execution Time (WCET) problem involves determining the maximum time a program will take to execute on a given architecture. This challenge is framed by the fundamental limitation posed by the Halting Problem, which states it's undecidable if a program will halt. To overcome this, restricting programming constructs can yield upper bounds. Various approaches exist, including simple analysis for static architectures and complex statistical methods using Gumbel distribution for modern architectures with caches and speculative execution. This piece delves into WCET estimation techniques.
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