Laufzeitgarantien f - PowerPoint PPT Presentation

About This Presentation
Title:

Laufzeitgarantien f

Description:

Analysis Results (Airbus Benchmark) Interpretation. Airbus' results obtained ... aiT's results were between real worst-case execution times and Airbus' results ... – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 34
Provided by: stepha184
Category:

less

Transcript and Presenter's Notes

Title: Laufzeitgarantien f


1
Laufzeitgarantien für EchtzeitsystemeReinha
rd WilhelmSaarbrücken
2
Zeit in der Informatik
  • (Fast) alle Informatiker abstrahieren von der
    physikalischen Zeit
  • (Ausführungs-)Zeit wird gezählt in Zahl von
    Schritten eines Algorithmus/Programms
  • Jeder Schritt braucht eine Zeiteinheit
  • Komplexitätsklassen fassen Probleme und
    Algorithmen zusammen, die größenordnungsmäßig
    gleich lang brauchen - Constants dont matter!
  • Typische Aussage, Quicksort braucht O(n log n)
    Schritte

3
Harte Echtzeit
  • Systeme mit harten Echtzeitanforderungen, oft in
  • sicherheitskritischen Anwendungen trifft man
    überall-
  • in Flugzeug, Auto, Zug, Fertigungssteuerung


4
Harte Echtzeit
  • Eingebettete Steuerung (embedded control)
    Rechnersystem steuert einen technischen Prozess
  • Reaktionszeiten vom zu steuernden System diktiert
  • Entwickler muss Laufzeitgarantieen abgeben
  • Dazu muss man sichere obere Schranken für die
    Laufzeit aller Tasks des Systems berechnen
  • Oft fälschlicherweise Worst-Case Execution Time
    (WCET) genannt
  • Analog, Best-Case Execution Time (BCET)

5
Basic Notions
6
Industrial Practice
  • Measurements computing maximum of some
    executions. Does not guarantee an upper bound to
    all executions
  • Measurement has acquired a bad reputation, is now
    called observed worst-case execution
    time.Heavily used outside of Old Europe.

7
Modern Hardware Features
  • Modern processors increase performance by using
    Caches, Pipelines, Branch Prediction
  • These features make WCET computation
    difficultExecution times of instructions vary
    widely
  • Best case - everything goes smoothly no cache
    miss, operands ready, needed resources free,
    branch correctly predicted
  • Worst case - everything goes wrong all loads
    miss the cache, resources needed are occupied,
    operands are not ready
  • Span may be several hundred cycles

8
(Concrete) Instruction Execution
mul
Execute Multicycle?
Retire Pending instructions?
Fetch I-Cache miss?
Issue Unit occupied?
4
1
3
30
1
s1
3
s2
41
9
Timing Accidents and Penalties
  • Timing Accident cause for an increase of the
    execution time of an instruction
  • Timing Penalty the associated increase
  • Types of timing accidents
  • Cache misses
  • Pipeline stalls
  • Branch mispredictions
  • Bus collisions
  • Memory refresh of DRAM
  • TLB miss

10
Fighting Murphys Law in WCET
  • Naïve, but safe guarantee accepts Murphys Law
    Any accident that may happen will happen
  • Example A. Rosskopf, EADS Ottobrunn, measured
    performance of PPC with all the caches switched
    off (corresponds to assumption all memory
    accesses miss the cache)Result Slowdown of a
    factor of 30!!!
  • Desirable a method to exclude timing accidents
  • The more accidents excluded, the lower the WCET

11
Static Program Analysis
  • Determination of invariants about program
    execution at compile time
  • Most of the (interesting) properties are
    undecidable gt approximations
  • An approximate program analysis is safe, if its
    results can always be depended on. Results are
    allowed to be imprecise as long as they are on
    the safe side
  • Quality of the results (precision) should be as
    good as possible

12
Approximation
True Answers
yes
no
13
Approximation
Safe
True Answers
no!
yes?
Precision
14
Safety and Liveness Properties
  • Safety something bad will not happenExamples
  • Evaluation of 1/x will never divide by 0
  • Array index not out of bounds
  • Liveness something good will happenExamples
  • Program will react to input,
  • Request will be eventually served

15
Analogies
  • Rules-of-Sign Analysis ? VAR -gt ,?,0,
    ?,TDerivable safety properties from invariant
    ?(x)
  • sqrt(x) ? No exception sqrt of negative number
  • a/x ? No exception Division by 0
  • Must-Cache Analysis mc ADDR -gt CS x CLDerivable
    safety propertiesMemory access will always hit
    the cache

16
Natural Modularization
  • Processor-Behavior Prediction
  • Uses Abstract Interpretation
  • Excludes as many Timing Accidents as possible
  • Determines WCET for basic blocks (in contexts)
  • Worst-case Path Determination
  • Codes Control Flow Graph as an Integer Linear
    Program
  • Determines upper bound and associated path

17
Overall Structure
Static Analyses
Processor-Behavior Prediction
Worst-case Path Determination
18
Analysis Results (Airbus Benchmark)
19
Interpretation
  • Airbus results obtained with legacy
    methodmeasurement for blocks, tree-based
    composition, added safety margin
  • 30 overestimation
  • aiTs results were between real worst-case
    execution times and Airbus results

20
Caches Fast Memory on Chip
  • Caches are used, because
  • Fast main memory is too expensive
  • The speed gap between CPU and memory is too large
    and increasing
  • Caches work well in the average case
  • Programs access data locally (many hits)
  • Programs reuse items (instructions, data)
  • Access patterns are distributed evenly across the
    cache

21
Speed gap betweenprocessor main RAM increases
P.Marwedel
22
Caches How the work
  • CPU wants to read/write at memory address a,
    sends a request for a to the bus
  • Cases
  • Block m containing a in the cache (hit) request
    for a is served in the next cycle
  • Block m not in the cache (miss) m is
    transferred from main memory to the cache, m may
    replace some block in the cache,request for a is
    served asap while transfer still continues
  • Several replacement strategies LRU, PLRU,
    FIFO,...determine which line to replace

23
A-Way Set Associative Cache
CPU
Address
Compare address prefix If not equal, fetch block
from memory
Main Memory
Byte select align
Data Out
24
LRU Strategy
  • Each cache set has its own replacement logic gt
    Cache sets are independent Everything explained
    in terms of one set
  • LRU-Replacement Strategy
  • Replace the block that has been Least Recently
    Used
  • Modeled by Ages
  • Example 4-way set associative cache

age

0 1 2 3




m0 m1 m2 m3
25
Cache Analysis
  • How to statically precompute cache contents
  • Must AnalysisFor each program point (and
    calling context), find out which blocks are in
    the cache
  • May Analysis
    For each program point (and
    calling context), find out which blocks may be in
    the cacheComplement says what is not in the cache

26
Must-Cache and May-Cache- Information
  • Must Analysis determines safe information about
    cache hitsEach predicted cache hit reduces WCET
  • May Analysis determines safe information about
    cache misses Each predicted cache miss increases
    BCET

27
Example Fully Associative Cache (2 Elements)
28
Cache with LRU Replacement Transfer for must
29
Cache Analysis Join (must)
Join (must)
Interpretation memory block a is definitively in
the (concrete) cache gt always hit
30
Cache with LRU Replacement Transfer for may
31
Cache Analysis Join (may)
Interpretation memory block s not in the
abstract cache gt s will definitively not be in
the (concrete) cache gt always miss
32
Current State and Future Work
  • WCET tools available for the ColdFire 5307, the
    PowerPC 755 and 5XX, C33, and the ARM7
  • Version for C167 under development
  • Learned, how time-predictable architectures look
    like
  • Adaptation effort still too big gt automation
  • Modeling effort error prone gt formal methods
  • Middleware, RTOS not treated gt challenging!

33
Acknowledgements
  • Christian Ferdinand, whose thesis started all
    this
  • Reinhold Heckmann, Mister Cache
  • Florian Martin, Mister PAG
  • Stephan Thesing, Mister Pipeline
  • Michael Schmidt, Value Analysis
  • Henrik Theiling, Mister Frontend Path Analysis
  • Jörn Schneider, OSEK
  • Marc Langenbach, trying to automatize

34
Recent Publications
  • R. Heckmann et al. The Influence of Processor
    Architecture on the Design and the Results of
    WCET Tools, IEEE Proc. on Real-Time Systems, July
    2003
  • C. Ferdinand et al. Reliable and Precise WCET
    Determination of a Real-Life Processor, EMSOFT
    2001
  • H. Theiling Extracting Safe and Precise Control
    Flow from Binaries, RTCSA 2000
  • M. Langenbach et al. Pipeline Analysis for the
    PowerPC 755, SAS 2002
  • St. Thesing et al. An Abstract
    Interpretation-based Timing Validation of Hard
    Real-Time Avionics Software, IPDS 2003
  • R. Wilhelm AI ILP is good for WCET, MC is not,
    nor ILP alone, VMCAI 2004
  • A. Rhakib et al. Component-wise Data-cache
    Behavior Prediction, WCET 2004
  • L. Thiele, R. Wilhelm Design for Timing
    Predictability, submitted
Write a Comment
User Comments (0)
About PowerShow.com