1 / 5

Estimating Worst-Case Execution Time (WCET) of Programs on Modern Architectures

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.

gary-dean
Télécharger la présentation

Estimating Worst-Case Execution Time (WCET) of Programs on Modern Architectures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

More Related