1 / 45

Real Time Systems (Uniprocessor, Parallel, & Distributed)

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.

kamil
Download Presentation

Real Time Systems (Uniprocessor, Parallel, & Distributed)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 environment • Examples • 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 systems • Timeliness & Concurrency • Reliability • Reactivity • QoS • Embedded systems • Timeliness & Concurrency • Dedicated (not “general purpose”) • Liveness (Non-terminating programs) • Reliability • QoS

  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 microprocessors • 4-bit microcontroller checks seat belt • Microcontrollers run dashboard devices • 16/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 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

  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 requirements • Set somewhat loose hard timing constraints • Informal design and testing • Formulate 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 systems • Example: Banking, Production Control System • Soft real-time systems • Video 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 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.

  33. 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.

  34. 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)

  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 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)

  36. 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

  37. 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

  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 characteristics • Mixture 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 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

  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.

More Related