Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer...
Transcript of Design and Analysis of Real-Time Systems · Real-Time Systems Jan Reineke Advanced Lecture, Summer...
![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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/1.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/2.jpg)
(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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/3.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/5.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/6.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/7.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/8.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/9.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/10.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/11.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/12.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/13.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/14.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/15.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/16.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/17.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/18.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/19.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/20.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022050604/5fabdb7b2d092f49957422d3/html5/thumbnails/21.jpg)
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, …