modern processor architectures make wcet analysis for hume challenging christian ferdinand absint...

12
Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH

Upload: alberto-dorey

Post on 31-Mar-2015

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH

Modern Processor Architectures Make WCET Analysis for HUME

Challenging

Christian FerdinandAbsInt Angewandte Informatik GmbH

Page 2: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH

The Timing ProblemPr

obab

ility

Execution Time

Best CaseExecution Time

Exact Worst CaseExecution Time

Page 3: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH

End-to-end MeasurementsPr

obab

ility

Execution Time

Best CaseExecution Time

Exact Worst CaseExecution Time

MeasuredWorst-caseUnsafe:

Execution TimeMeasurement

Page 4: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH

Hybrid ApproachsPr

obab

ility

Execution Time

Best CaseExecution Time

Exact Worst CaseExecution Time

Combination ofLocal Measurements

Page 5: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH

Static Timing Analysis (Abstract Interpretation)

Prob

abili

ty

Execution Time

Best CaseExecution Time

Exact Worst CaseExecution Time

Safe Worst Case Execution TimeEstimate

Page 6: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH

EmBounded Low-Level Timing Analysis for Renesas M32C85

High-level source code: Hume … … is translated to HAM code (Hume Abstract

Machine) HAM code is translated to C

Each HAM instruction becomes a snippet of C code

C code is translated to M32C binary code Each HAM instruction then becomes a snippet of M32C code

Use AbsInt’s aiT to analyze the M32C code corresponding to the HAM instructions

Page 7: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH

aiT vs. Measurement

Good precision in general

Note for MatchRule: Measurement error up to 3 cycles

See IFL06 paperArmelle Bonenfant et al.,

Worst-Case Execution Times for a Purely Functional Language

Page 8: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH

aiT WCET Analyzer Structure

Interprocedural PAG-generated analyzers based

on AI

Page 9: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH

Contexts with Loops

INTERPROC: VIVUINTERPROC_L: 3

Page 10: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH

e300

e300 / PPC603e +- 450 MHz Double precision FPU Caches (LRU) + store

buffer Superscalar pipeline with

out-of-order execution Branch prediction (static) Available in various

processors, e.g. Freescale MPC82xx

Page 11: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH

Recursive C-Program Example

Page 12: Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH

Conclusion

On M32-class processors Current WCET analysis for Hume works well

On e300-class processors Current WCET analysis for Hume will largely overestimate