real time systems (uniprocessor, parallel, & distributed) johnnie w. baker

45
Real Time Systems (Uniprocessor, Parallel, & Distributed) Johnnie W. Baker

Upload: donald-patterson

Post on 31-Dec-2015

225 views

Category:

Documents


3 download

TRANSCRIPT

Real Time Systems(Uniprocessor, Parallel, & Distributed)

Johnnie W. Baker

2

Introduction

• What is a Real-Time System?Correctness of the system depends not only on the

logical results, but also on the time in which the results are produced.

Works in a reactive and time-constrained environmentExamples

Real-time temperature control of a chemical reactor

Space mission control system Nuclear power generator system Many safety-critical systems

3

Introduction (Cont)

• What is an Embedded System? A combination of hardware & software (a “computational

engine”) to perform a specific function Is part of a larger system, say a real-time system, that may not

be a “computer” Works in a reactive and time-constrained environment Example

Pacemaker & Defibrillator Smart card reader Elevator Weather/GPS satellite

4

Key Properties

• Real-time systemsTimeliness & ConcurrencyReliabilityReactivityQoS

• Embedded systemsTimeliness & ConcurrencyDedicated (not “general purpose”)Liveness (Non-terminating programs)ReliabilityQoS

5

Specific Examples of Real Time & Embedded Systems

• Cars• Anti-lock Brake System (ABS)• Air Traffic Control • Evolution of Real-Time Embedded Systems• Wireless Sensor Network• Smart Sensor Networks Applications

6

Cars

• Today’s high-end automobile may have 100 microprocessors4-bit microcontroller checks seat beltMicrocontrollers run dashboard devices16/32-bit microprocessor controls engine

7

Anti-lock Brake System (ABS)

• Pumps brake to reduce skidding

• Provides real-time safety

8

Air Traffic Control

9

Evolution of Real-Time Embedded Systems

10

Wireless Sensor Network (WSN)• Smart Sensor = Processor + Sensor + Wireless Interface• Miniature devices manufactured economically in large

numbers• Embedded in environments for distributed sensing and

control

11

Smart Sensor Networks Applications

12

Other Real-Time Embedded Systems

• PDAs• Printers• IPODs• Television• Household appliances• Wrist watches• Game consoles• Mars rovers• Power grid management systems• Air Traffic Control (??)

Observation: >95% of all microprocessors are used for real-time embedded systems.

13

What’s Special About Embedded Systems

• Must worry about non-functional constraintsReal Time

For systems to function correctly, their timing constraints must be satisfied.

Memory footprintPowerReliabilitySafetyCost

• Just functionally working is NOT ENOUGH

14

Taxonomy of Real-Time Systems

15

Taxonomy of Real-Time Systems

16

Taxonomy of Real-Time Systems

17

Taxonomy: Static

• Task arrival times can be predicted• Static (compile-time) analysis possible• Allows good resource usage (low idle time for

processors).

18

Taxonomy: Dynamic

• Arrival times unpredictable• Static (compile-time) analysis possible only for

simple cases.• Processor utilization decreases dramatically.• In many real systems, this is very difficult to

handle.• Must avoid over-simplifying assumptions

e.g., assuming that all tasks are independent, when this is unlikely.

19

Taxonomy: Soft Real-Time

• Allows more slack in the implementation• Timings may be suboptimal without being

incorrect.• Problem formulation can be much more

complicated than hard real-time• Two common and an uncommon way of

handling non-trivial soft real-time system requirementsSet somewhat loose hard timing constraints Informal design and testingFormulate as an optimization problem

20

Taxonomy: Hard Real-Time

• Creates difficult problems.Some timing constraints are inflexible

• Simplifies problem formulation.

21

Taxonomy: Periodic

• Each task (or group of tasks) executes repeatedly with a particular period.

• Allows some static analysis techniques to be used.

• Matches characteristics of many real problems• Not closely related to situations involving tasks

that designers pretend are periodic.• It is possible to have tasks with deadlines

smaller, equal to, or greater than their period.The later are difficult to handle (i.e., multiple

concurrent task instances occur).

22

Taxonomy: Periodic with Single-Rate

• One period in the system• Simple but inflexible• Used in implementing a lot of wireless sensor

networks.

23

Taxonomy: Multirate Periodic

• Multiple periods• Can use notion of circular time to simplify static

(i.e., compile-time) schedule analysis.

24

Taxonomy: Aperiodic

• Are also called sporadic, asynchronous, or reactive.

• Creates a dynamic situation• Bounded arrival time interval are easier to

handle • Unbounded arrival time intervals are impossible

to handle with resource-constrained systems.

25

Definitions

• Tasks and Jobs• Processor and parallel & distributed systems• Deadline violations

26

Tasks and Jobs

• Jobs are units of work that are scheduled and executed by the systems.

• The set of related jobs that can be solved by the same algorithm are called a task.A job is an instance of a task.

27

Processor Systems

• A processor execute tasks May be assigned multiple concurrent tasks

• Parallel and distributed systems Consists of multiple processors The interprocessor communications has an impact on the

systems performance. Communications can be difficult to evaluate, particularly for

distributed and asynchronous parallel systems Two types of distributed systems

Homogeneous: One processor type Heterogeneous: Multiple processor types.

28

Missed Deadline Penalties• Hard real-time systems

Example: Air Traffic Control, Medical Systems

• Firm real-time systemsExample: Banking, Production Control System

• Soft real-time systemsVideo on Demand, Inventory Management, Habitat

Monitoring, Weather Prediction System

29

Central Areas for Real-Time Study

• Allocation, assignment, and scheduling• Operating systems and scheduling• Parallel & distributed systems and scheduling

Observe: Scheduling is central to the study of real-time systems

30

Allocation, assignment, and scheduling

• Analyze task execution times Worst-case or average case (or both)Worst-case needed for critical, hard deadline systems

• Decide which processor will be used for each task.

• Decide how to manage allocation of resources to processors

• Decide the times at which all tasks will execute• Provide guarantees when possible –

predictability• Determine how deadlines will be met.

31

Operating systems and scheduling

How to best design operating systems to• Support control over scheduling, etc. without

increasing design error rate.• Design operating system schedulers to support

real time constraints• Support predictable costs for task and OS

service execution

32

Parallel & distributed systems and scheduling

• How to best control (usually dynamically) scheduling regarding Assigning tasks to processing nodesScheduling execution of these tasks

• For distributed systems with processors separated over large distancesBound task deadline violations, when possibleMinimize deadline violations, when no bound is

possible.

33

Why Parallel or Distributed Systems

• A single processor is unable to handle many actual real-time applicationsCan not execute the application within reasonable

time limitations Value of the results obtain may degrade with the

time required to obtain them. The memory is not sufficiently large to hold the

essential data and program code for the application. Execution speed is insufficient to meet hard

deadlines.A single point of failure is unacceptable for many

applications.

34

Challenging Aspects of Distributed and Asynchronous Parallel Systems

• Shared resource management is challengingNo global knowledge on workloadNo global knowledge on resource allocation

• Load balancing between processors is required• Dynamic task scheduling normally used

Almost all dynamic scheduling problems are NP-hardMust schedule execution so that all the critical hard

deadlines are met

• Communication time is very difficult to predict on large applications where multiple tasks are assigned to each processor (i.e.,multitasking)

35

Asynchronous Systems Problems (cont)

• Synchronization between different tasks and processors is expensive.

• A distributed database is normally required Must ensure data serializability and data integrity

• Problems unique to distributed systemsCommunication related errors

E.g., out of order delivery of packets, packet loss, etc.

No synchronized clock (or else clocks need to be synchronized regularly)

36

Characteristics of a RTS

• Usually large and complexVary from a few hundred lines of assembler or C to 20

million lines of Ada estimated for the Space Station Freedom

• Concurrent control of separate system componentsDevices operate in parallel in the real-world; better to

model this parallelism by concurrent entities in the program

• Facilities to interact with special purpose hardware need to be able to program devices in a reliable and

abstract way

37

Characteristics of a RTS (cont)

• Extreme reliability and safeEmbedded systems typically control the environment

in which they operate; failure to control can result in loss of life, damage to environment, or economic loss

• Guaranteed response timeswe need to be able to predict with confidence the

worst case response times for systems; efficiency is important but predictability is essential

Sometimes, no response is worse than a poor response

38

Some Current Research Areas

• Temporal Quality of Service (QoS) Schedulability Predictability Reactivity Fault tolerance

• Robustness Sustain the fast changing operating conditions High integrity Functional independence

• Accurate Time Validation Algorithms

39

Future Challenges

Numerous challenges have been discussed in several papers in RTS and this list does not cover all of them.

• Real-time precision responses & reactivity• Fault-Tolerance under strict timing requirements• Maintainability• Testability under competitive pressures

40

High-Level Challenges

• System evolution• Open real-time systems

Unknown hardware characteristicsMixture of applications, resource and time

requirements

• Composibility• Software Engineering

41

Basic Challenges

• Science of performance guarantees• Reliability & formal verification• General system issues• Real-time multimedia• Programming languages• Education about real-time systems

42

RT Market Growth in 1996

• Approx. 25% p.a.• Estimate annual spending $2 bn.• Robustness

Sustain the fast changing operating conditions

• Accurate Validation Algorithms• Current figures?

43

Goals for Spring 2006 Course Parallel & Distributed RTS

• Cover basic concepts of RTS• Additional focus on computational challenging

aspects of Parallel & Distributed RTSTaught more as a seminar course, with students

doing some of the presentation.

• Textbook and references (see next slide)Book by Jane W. S. Liu will probably be textbookBook by Stankovic will probably be a reference (with

copy in library or specific sections online)List of research papers

• Prerequisite for course Graduate Student in CS

44

Main References• Peter Dinda and Robert Dick, pdf lecture slides on Real-Time

Systems, Fall 2005, Northwestern University, http://www.cse.wustl.edu/~lu/cs520s/520.htm

• John A. Stankovic, et. al., Strategic Directions in Real-Time and Embedded Systems, USC Slide Presentation, http://sunset.usc.edu/~neno/cs589_2003/Week5b.ppt

• G. Marimaran, Lecture Slides on Real Time Systems, Iowa State University, http://vulcan.ee.iastate.edu/~gmani/cpre558.F00/index.html

• Chenyang Lu, Lecture Slides on Real-Time Systems, Washington University in St. Louis, Fall 2005, http://www.cse.wustl.edu/~lu/cs520s/520.htm

• Andy Wellings, University of York Research Group, Lecture slides for text “Concurrent and Real-Time Programming in Java” by Wellings, www.cs.york.ac.uk/rts/CRTJbook/Lecture1.ppt

• Jane W. S. Liu, Real-Time Systems, Prentice Hall, 2000, ISBN 0-13-099651-3.

• John A. Stankovic, et. al., Deadline Scheduling for Real-Time Systems: EDF and Related Algorithms, Kluwer Academic Publishers (now Springer), ISBN 0-7923-8269-2, 1998.

45

Things to Possibly Add

• Common misconceptions – one set of slides has this, as does Stankovic’s book.

• Some of the computational complex problems for multiprocessors that I want to include in this course.