design and analysis of real-time systems · real-time systems jan reineke advanced lecture, summer...

21
Design and Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013

Upload: others

Post on 12-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

Design and Analysis of Real-Time Systems

Jan Reineke Advanced Lecture, Summer 2013

Page 2: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

(Design and) Analysis of Real-Time Systems

Jan Reineke Advanced Lecture, Summer 2013

Page 3: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

Organizational Issues

¢  Advanced Course (6 CPs) l  Lectures every Thursday 14-16, E1.3, HS003 l  Tutorials: 2 hours every week; potential dates:

•  Monday 10-12, 14-16 •  Tuesday 10-12, 14-16

l  Written examination at the end of the term •  Need to obtain > 50% of total points on exercises to

participate •  Grade determined by score on exam

l  Web: http://embedded.cs.uni-saarland.de/realtime.php

Page 4: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

Structure of Course

?  + Our Vision: PRET Machines

PREcision-Timed processors: Performance & Predicability

+ = PRET

(Image: John Harrison’s H4, first clock to solve longitude problem)

Precision-Timed (PRET) Machines – p. 11/19

Dependence on Initial Cache States and

Cache-Independent Side-Channel Analysis

Jan Reineke

Saarland University, Saarbrucken, Germany

April 11, 2013

|=

1

1. What are Real-Time Systems?

2. How are they programmed?

3. How to verify the real-time constraints?

Page 5: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

1. What are Real-Time Systems?

In a real-time system, correctness not only depends on the logical results but also on the time at which results are produced.

l  Typical misconception: •  Real-time computing ≠ compute things as fast as possible •  Real-time computing = compute as fast as necessary,

but not too fast

Page 6: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

1. What are Real-Time Systems?

¢  Real-time systems are often embedded control systems ¢  Timing requirements often dictated by interaction with

physical environment: l  Examples in Automotives:

•  ABS: Anti-lock braking systems •  ESP: Electronic stability control •  Airbag controllers

l  Many more examples in trains, avionics, and robotics…

Page 7: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

Classification of Real-Time Constraints Hard and Soft Real-Time Systems

¢  “A real-time constraint is called hard, if not meeting that constraint could result in a catastrophe“ [Kopetz, 1997] è  Safety-critical real-time systems è  Main focus of this course è  Can you think of examples?

¢  All other time-constraints are called soft. è  Can you think of examples?

¢  A guaranteed system response has to be explained without statistical arguments [Kopetz, 1997].

Page 8: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

2. How are they programmed?

Typical structure of control systems: A very basic approach to program such a system:

Controller

Physical Plant S

enso

rs

Act

uato

rs

initialize state; every clock-tick do read inputs; compute outputs and next state; emit outputs end-do

Can be modeled by automaton. How to describe such automata? à Synchronous Languages

Page 9: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

Basic Approach: Advantages

¢  Perfect match for sampled-data control theory ¢  Easy to implement, even on “bare” machine ¢  Timing analysis is comparably “simple”:

è Need to “only” verify: WCET < 1

0 1 2 3 4time

Page 10: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

Basic Approach: Limitations

¢  Distributed systems What if sensing, actuating, and computing happen at multiple locations?

¢  Event-triggered systems What if (some) computations are triggered by events rather than time?

¢  Multiperiodic systems What if different computations need to be performed at different periods?

Page 11: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

2. How are they programmed? Scheduling Policies

Sophisticated scheduling policies have been introduced to overcome these limitations. Example 1: Preemptive scheduling

Non-preemptive execution of two periodic tasks:

0 1 2 3 4

T1

T2

time

Page 12: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

2. How are they programmed? Scheduling Policies

Sophisticated scheduling policies have been introduced to overcome these limitations. Example 1: Preemptive scheduling

Preemptive execution of the two tasks:

0 1 2 3 4

T1

T2

time

Page 13: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

2. How are they programmed? Scheduling Policies

Sophisticated scheduling policies have been introduced to overcome these limitations. Example 2: Multiprocessor scheduling

0 1 2 3 4

T1

T2

time

T3

Is this task set schedulable on two processors?

Page 14: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

2. How are they programmed? Scheduling Policies

Sophisticated scheduling policies have been introduced to overcome these limitations. Example 2: Multiprocessor scheduling

0 1 2 3 4

T1

T2

time

T3

It is!

Page 15: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

3. How to verify the real-time constraints? Schedulability Analysis

Schedulability tests determine whether a given set of tasks is feasible under a particular scheduling policy. They all require bounds on the worst-case execution time (WCET) of all tasks.

Page 16: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

3. How to verify the real-time constraints? Worst-case Execution Time Analysis

Worst-case execution time = maximum execution time of a program on a given microarchitecture

+

Our Vision: PRET Machines

PREcision-Timed processors: Performance & Predicability

+ = PRET

(Image: John Harrison’s H4, first clock to solve longitude problem)

Precision-Timed (PRET) Machines – p. 11/19

Page 17: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

What does the execution time of a program depend on?

Input-dependent control flow

Microarchitectural State

+ Complex

CPUL1

Cache

Complex CPU

L1 Cache

...L2

CacheMain

Memory

Pipeline, Memory Hierarchy, Interconnect

Reineke et al., Berkeley 4

What does the execution time of a

program depend on?

Input-dependent

control flow Microarchitectural State

+

Complex CPU

L1 Cache

Complex CPU

L1 Cache

...L2

CacheMain

Memory

Pipeline,

Memory Hierarchy,

Interconnect

Page 18: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

Example of Influence of Microarchitectural State

Motorola PowerPC 755

Courtesy of Reinhard Wilhelm. Reineke et al., Berkeley 5

Example of Influence of

Microarchitectural State computer science

saarlanduniversityAccess Time

x=a+b;LOAD r2, _aLOAD r1, _bADD r3,r2,r1

MPC5xx PPC755

Reinhard Wilhelm Timing Analysis and Timing Predictability Tutorial ISCA 2010 5 / 63

computer science

saarlanduniversityAccess Time

x=a+b;LOAD r2, _aLOAD r1, _bADD r3,r2,r1

MPC5xx PPC755

Reinhard Wilhelm Timing Analysis and Timing Predictability Tutorial ISCA 2010 5 / 63

Motorola PowerPC 755

Courtesy of Reinhard Wilhelm.

Reineke et al., Berkeley 5

Example of Influence of

Microarchitectural State computer science

saarlanduniversityAccess Time

x=a+b;LOAD r2, _aLOAD r1, _bADD r3,r2,r1

MPC5xx PPC755

Reinhard Wilhelm Timing Analysis and Timing Predictability Tutorial ISCA 2010 5 / 63

computer science

saarlanduniversityAccess Time

x=a+b;LOAD r2, _aLOAD r1, _bADD r3,r2,r1

MPC5xx PPC755

Reinhard Wilhelm Timing Analysis and Timing Predictability Tutorial ISCA 2010 5 / 63

Motorola PowerPC 755

Courtesy of Reinhard Wilhelm.

Page 19: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

Notions in Worst-case Execution Time Analysis

Page 20: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

Worst-case Execution Time Analysis What is hard about it?

¢  Need to account for all possible paths through the program, but not many more for precision… l  Even termination is in general undecidable.

¢  Need to account for all possible states of the microarchitecture that may arise. l  We will see “unpredictable” components.

¢  Before performing WCET analysis, one needs to construct a faithful model of the microarchitecture; documentation is limited.

Page 21: Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer 2013 (Design and) Analysis of Real-Time Systems Jan Reineke Advanced Lecture, Summer

Overview of Topics

¢  Today: l  High-level Overview of Challenges

¢  Rest of the course: l  Worst-case Execution Time Analysis

•  Foundations of Abstract Interpretation •  Value and Control-flow Analyses •  Static Cache Analysis •  Analysis of Preemption Cost

l  Predictable Microarchitectures l  Scheduling Policies and Schedulability Analysis l  Control Algorithms and Synchronous Languages l  Clock Synchronization, Data-flow models, …