Analysis of the WorstCase Execution Time WCET A survey - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

Analysis of the WorstCase Execution Time WCET A survey

Description:

'flow facts' from source code. Whalley et al.: optimize WCET. optimizations for WC path ... branch chaining, remove useless blocks, ... goal: integrated ... – PowerPoint PPT presentation

Number of Views:152
Avg rating:3.0/5.0
Slides: 30
Provided by: Sto81
Category:

less

Transcript and Presenter's Notes

Title: Analysis of the WorstCase Execution Time WCET A survey


1
Analysisof theWorst-Case Execution Time
(WCET)-A survey
2
Introduction
  • correctness P Q R
  • logical correctness
  • temporal requirements
  • deadlines
  • temporal correctness
  • RTS .. real time system
  • timeliness
  • scheduling service time
  • WCET .. worst case execution time
  • design-aids for RTS

3
Why is WCET-analysis (WCETA) complicated ?
  • abstraction
  • mapping
  • optimizations
  • speculation
  • unpredictable
  • not aiming at worst-case
  • instruction execution times
  • ? problem-avoidance by simplification

4
WCET-analysis (WCETA)
  • the real WCET
  • by measurement
  • measurement-based search-methods
  • WCET-estimate
  • approximation
  • pessimism, optimism
  • WCET-analysis
  • statical analysis
  • tightness

5
Classification ofWCETA-techniques
  • Three orthogonal aspects
  • Criteria for finding tools

6
WCETA-classification, classical
  • high-level analysis
  • low-level analysis
  • Global-level analysis
  • WCET calculation

7
High-level WCET-analysisSummation of basic
blocks
  • Shaw
  • pseudo-language
  • execution time bounds
  • timing formulae

8
Summation of basic blocks
  • Puschner Koza
  • practical example for WCET-orientation
  • MAXT .. maximum execution time
  • limitations in language constructs
  • annotations markers scopes
  • formulae

9
Graphs
  • graphs widely used
  • replaced/extended sum of block method
  • advantages
  • portability, abstraction
  • graph-algorithms (i.e. path-problems)
  • example timing tree (Puschner Schedl)
  • cost function
  • maximum cycle
  • flow

10
(No Transcript)
11
WCETA and OOP-languages
  • additional dynamic features
  • encapsulation
  • inheritance
  • polymorphism
  • features complicate static analysis
  • improved pessimism
  • example dynamic dispatching
  • new annotations needed

12
class Triangle public double giveArea()
// herons formula
class RightTriangle extends
Triangle public double giveArea() // a
b / 2
class Program public static void
main( ) Triangle t new Triangle()
RightTriangle s new RightTriangle() t
s result t.giveArea() // right
class/method known only at run-time // ?
dispatching also at run-time dynamically
13
Automationavoidance of manual annotations
  • manual annotations error-prone
  • branch constraints by analysis
  • iteration-based constraints
  • effect-based constraints
  • timing analysis WCET, BCET
  • great effort needed, one example
  • correlation between conditional branches
  • ? O(C2) C .. of branches

14
Optimizing compilers
  • data-dependencies
  • transformations
  • Enblom et al. co-transformation
  • ODL
  • HLA and LLA
  • co-transformer transforms execution info
  • notion of portability (ODL)

15
Optimizing compilers
  • Puschner and Kirner
  • flow facts from source code
  • Whalley et al. optimize WCET
  • ? optimizations for WC path
  • approach reduce consuming instructions
  • feedback to compiler
  • possible drawback code explosion

16
  • example superblock-formation

17
Low- global-level WCETACaching
  • locality
  • caches unconsidered in WCETA
  • ? pessimism
  • Whalley et al. extending summation of blocks
    method for considering instruction caching
  • static cache simulator
  • instruction-categorization always/first hit/miss
  • timing tree

18
Caching
  • Li et al. with different approach
  • program path analysis used here
  • to construct an ILP
  • means path analysis gives constraints
  • 2 types of constraints
  • automatically derived constraints (structural)
  • user-provided constraints (functional)
  • cost-function total execution time
  • where N of basic blocks
  • xi execution count of the basic block i
  • ci execution time of the basic block i

19
example
20
Caching
  • Extension cache-hit and cache-miss times
  • for instruction caching
  • l-block (line-block)
  • ? grouping of instructions
  • total execution time
  • where N basic blocks
  • ni l-blocks of basic block i
  • cache hit and cache miss counts of l-block
    Bi,j
  • execution time of l-block Bi,j in case of
    hit/miss
  • data-caching

21
Pipelining
  • Whalley et al. significant reduction of
    pessimism considering pipelining
  • pipeline-analysis, pipeline-simulation
  • ? overlapping
  • virtual pipeline
  • many simulations
  • ? hardware-dependent offset
  • (can be positive !)

22
overlapping-example
23
Tools for practical use Tuning the WCET by
feedback
  • many possible optimizations
  • branch chaining, remove useless blocks,
  • goal integrated development tool
  • roll-back
  • feedback
  • Kirner et al. extensions for Matlab

24
tuning the WCET by feedback
25
JAVA and WCETA
  • WCETA partitioned into two parts
  • machine-independent flow analysis
  • machine-dependent timing analysis
  • abstract analysis WCEF
  • annotations needed
  • compiler-independent solution dummy-class
  • portability

26
(No Transcript)
27
(No Transcript)
28
WCETA-friendly software design
  • Puschner Burns
  • temporally predictable code
  • only one path
  • avoids multiple paths and execution times
  • new language-construct needed
  • constant-time conditional
  • evaluates both possible results of a conditional
    execution
  • transformation rules for normal code
  • main drawback efficiency

29
Conclusion
Write a Comment
User Comments (0)
About PowerShow.com