450 likes | 561 Views
Real Time Systems (Uniprocessor, Parallel, & Distributed). Johnnie W. Baker. 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.
E N D
Real Time Systems(Uniprocessor, Parallel, & Distributed) Johnnie W. Baker
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 environment • Examples • Real-time temperature control of a chemical reactor • Space mission control system • Nuclear power generator system • Many safety-critical systems
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
Key Properties • Real-time systems • Timeliness & Concurrency • Reliability • Reactivity • QoS • Embedded systems • Timeliness & Concurrency • Dedicated (not “general purpose”) • Liveness (Non-terminating programs) • Reliability • QoS
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
Cars • Today’s high-end automobile may have 100 microprocessors • 4-bit microcontroller checks seat belt • Microcontrollers run dashboard devices • 16/32-bit microprocessor controls engine
Anti-lock Brake System (ABS) • Pumps brake to reduce skidding • Provides real-time safety
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
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.
What’s 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
Taxonomy: Static • Task arrival times can be predicted • Static (compile-time) analysis possible • Allows good resource usage (low idle time for processors).
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.
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 requirements • Set somewhat loose hard timing constraints • Informal design and testing • Formulate as an optimization problem
Taxonomy: Hard Real-Time • Creates difficult problems. • Some timing constraints are inflexible • Simplifies problem formulation.
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).
Taxonomy: Periodic with Single-Rate • One period in the system • Simple but inflexible • Used in implementing a lot of wireless sensor networks.
Taxonomy: Multirate Periodic • Multiple periods • Can use notion of circular time to simplify static (i.e., compile-time) schedule analysis.
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.
Definitions • Tasks and Jobs • Processor and parallel & distributed systems • Deadline violations
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.
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.
Missed 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
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
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.
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
Parallel & 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.
Why 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.
Challenging 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)
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 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)
Characteristics 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
Characteristics 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
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
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
High-Level Challenges • System evolution • Open real-time systems • Unknown hardware characteristics • Mixture of applications, resource and time requirements • Composibility • Software Engineering
Basic Challenges • Science of performance guarantees • Reliability & formal verification • General system issues • Real-time multimedia • Programming languages • Education about real-time systems
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?
Goals 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
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.
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.