Title: Real Time Systems (Uniprocessor, Parallel,
1Real Time Systems(Uniprocessor, Parallel,
Distributed)
2Introduction
- 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
environment - Examples
- Real-time temperature control of a chemical
reactor - Space mission control system
- Nuclear power generator system
- Many safety-critical systems
3Introduction (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
4Key Properties
- Real-time systems
- Timeliness Concurrency
- Reliability
- Reactivity
- QoS
- Embedded systems
- Timeliness Concurrency
- Dedicated (not general purpose)
- Liveness (Non-terminating programs)
- Reliability
- QoS
5Specific 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
6Cars
- Todays high-end automobile may have 100
microprocessors - 4-bit microcontroller checks seat belt
- Microcontrollers run dashboard devices
- 16/32-bit microprocessor controls engine
7Anti-lock Brake System (ABS)
- Pumps brake to reduce skidding
- Provides real-time safety
8Air Traffic Control
9Evolution of Real-Time Embedded Systems
10Wireless Sensor Network (WSN)
- Smart Sensor Processor Sensor Wireless
Interface - Miniature devices manufactured economically in
large numbers - Embedded in environments for distributed sensing
and control
11Smart Sensor Networks Applications
12Other Real-Time Embedded Systems
- PDAs
- Printers
- IPODs
- Television
- Household appliances
- Wrist watches
- Game consoles
- Mars rovers
- Power grid management systems
- Air Traffic Control (??)
- Observation gt95 of all microprocessors are
used for real-time embedded systems.
13Whats Special About Embedded Systems
- Must worry about non-functional constraints
- Real Time
- For systems to function correctly, their timing
constraints must be satisfied. - Memory footprint
- Power
- Reliability
- Safety
- Cost
- Just functionally working is NOT ENOUGH
14Taxonomy of Real-Time Systems
15Taxonomy of Real-Time Systems
16Taxonomy of Real-Time Systems
17Taxonomy Static
- Task arrival times can be predicted
- Static (compile-time) analysis possible
- Allows good resource usage (low idle time for
processors).
18Taxonomy 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.
19Taxonomy 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 requirements - Set somewhat loose hard timing constraints
- Informal design and testing
- Formulate as an optimization problem
20Taxonomy Hard Real-Time
- Creates difficult problems.
- Some timing constraints are inflexible
- Simplifies problem formulation.
21Taxonomy 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).
22Taxonomy Periodic with Single-Rate
- One period in the system
- Simple but inflexible
- Used in implementing a lot of wireless sensor
networks.
23Taxonomy Multirate Periodic
- Multiple periods
- Can use notion of circular time to simplify
static (i.e., compile-time) schedule analysis.
24Taxonomy 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.
25Definitions
- Tasks and Jobs
- Processor and parallel distributed systems
- Deadline violations
26Tasks 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.
27Processor 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.
28Missed Deadline Penalties
- Hard real-time systems
- Example Air Traffic Control, Medical Systems
- Firm real-time systems
- Example Banking, Production Control System
- Soft real-time systems
- Video on Demand, Inventory Management, Habitat
Monitoring, Weather Prediction System
29Central 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
30Allocation, 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.
31Operating 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
32Parallel distributed systems and scheduling
- How to best control (usually dynamically)
scheduling regarding - Assigning tasks to processing nodes
- Scheduling execution of these tasks
- For distributed systems with processors separated
over large distances - Bound task deadline violations, when possible
- Minimize deadline violations, when no bound is
possible.
33Why Parallel or Distributed Systems
- A single processor is unable to handle many
actual real-time applications - Can 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.
34Challenging Aspects of Distributed and
Asynchronous Parallel Systems
- Shared resource management is challenging
- No global knowledge on workload
- No global knowledge on resource allocation
- Load balancing between processors is required
- Dynamic task scheduling normally used
- Almost all dynamic scheduling problems are
NP-hard - Must 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)
35Asynchronous 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 systems
- Communication related errors
- E.g., out of order delivery of packets, packet
loss, etc. - No synchronized clock (or else clocks need to be
synchronized regularly)
36Characteristics of a RTS
- Usually large and complex
- Vary 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 components
- Devices 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
37Characteristics of a RTS (cont)
- Extreme reliability and safe
- Embedded 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 times
- we 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
38Some 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
39Future 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
40High-Level Challenges
- System evolution
- Open real-time systems
- Unknown hardware characteristics
- Mixture of applications, resource and time
requirements - Composibility
- Software Engineering
41Basic Challenges
- Science of performance guarantees
- Reliability formal verification
- General system issues
- Real-time multimedia
- Programming languages
- Education about real-time systems
42RT 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?
43Goals for Spring 2006 Course Parallel
Distributed RTS
- Cover basic concepts of RTS
- Additional focus on computational challenging
aspects of Parallel Distributed RTS - Taught 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 textbook
- Book 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
44Main References
- Peter Dinda and Robert Dick, pdf lecture slides
on Real-Time Systems, Fall 2005, Northwestern
University, http//www.cse.wustl.edu/lu/cs520s/52
0.htm - John A. Stankovic, et. al., Strategic Directions
in Real-Time and Embedded Systems, USC Slide
Presentation, http//sunset.usc.edu/neno/cs589_20
03/Week5b.ppt - G. Marimaran, Lecture Slides on Real Time
Systems, Iowa State University,
http//vulcan.ee.iastate.edu/gmani/cpre558.F00/in
dex.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.
45Things to Possibly Add
- Common misconceptions one set of slides has
this, as does Stankovics book. - Some of the computational complex problems for
multiprocessors that I want to include in this
course.