Static WCET Analysis vs. Measurement: What is the Right Way to Assess Real-Time Task Timing?

Preview:

DESCRIPTION

Static WCET Analysis vs. Measurement: What is the Right Way to Assess Real-Time Task Timing? Worst Case Execution Time Prediction by Static Program Analysis Is your program always fast enough? Christian Ferdinand AbsInt Angewandte Informatik GmbH. Hard Real-Time Systems. - PowerPoint PPT Presentation

Citation preview

Static WCET Analysis vs. Measurement: What is the Right Way to Assess Real-Time Task Timing?

Worst Case Execution Time Prediction by Static Program Analysis

Is your program always fast enough?

Christian Ferdinand

AbsInt Angewandte Informatik GmbH

2

Controllers in planes, cars, plants, … are expected to finish their tasks within reliable time bounds.

Schedulability analysis must be performed Hence, it is essential that an upper bound on the

execution times of all tasks is known Commonly called the Worst-Case Execution Time (WCET)

Hard Real-Time Systems

3

The Timing ProblemPr

obab

ility

Execution Time

Best CaseExecution Time

Exact Worst CaseExecution Time

Safe Worst Case Execution TimeEstimate

Unsafe: Execution TimeMeasurement

4

Embedded Control Software

Tends to be large and complex Much functionality Code generator tools 3rd party software

RTOS communication libraries

5

The Timing Problem

LOAD r2, _a

LOAD r1, _b

ADD r3,r2,r1

0

10

20

30

0 WaitCycles

1 WaitCycle

External(6,1,1,1,...)

Execution Time depending on Flash Memory(Clock Cycles)

Clock Cycles

0

50

100

150

200

250

300

350

Best Case Worst Case

Execution Time (Clock Cycles)

Clock Cycles

MPC 5xx (2000) PPC 755 (2001)

x = a + b;

0

50

100

150

200

250

300

350

Best Case Worst Case

Execution Time (Clock Cycles)

Clock Cycles

68K (1990)

6

Some Architectural Features that make Measurement-Based WCET Analysis a Challenge

The empty cache is not necessarily the “worst case cache”

“Domino” effects A cache miss is not necessarily the worst case

7

Solution: Static WCET Analysis

The WCET analyzer computes safe upper bounds of the execution times of the tasks in a program for all inputs

Static program analysis based on Abstract Interpretation

The analysis design is proven to be correct

8

Combines global program analysis by abstract interpretation for cache, pipeline, and value analysis with integer linear programming for path analysis in a single intuitive GUI.

aiT WCET AnalyzerA Solution to the Timing Problem

9

aiT WCET Analyzer Advantages

aiT WCET analyzer allows you to: inspect the timing behavior

of (timing critical parts of) your code

The analysis results are determined without the

need to change the code hold for all inputs and all

executions (for the intrinsic cache and pipeline behavior)

10

Conclusion

Static WCET analysis enables development of complex hard real-time systems on state-of-the-art hardware.

Increases safety.

Saves development time.

Usability proven in industrial practice.

11When to Use Runtime Measurements?

Offline: To validate the pipeline model wrt. the real

hardware

Online (e.g., in the scheduler): To monitor the correct working (detect

hardware failures, …) To improve the exploitation of resources …

email: info@AbsInt.comhttp://www.AbsInt.com

Recommended