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

Slides:



Advertisements
Similar presentations
Introduction Frank Drews
Advertisements

© Alan Burns and Andy Wellings, 2001 Real-Time Systems and Programming Languages n Buy Real-Time Systems: Ada 95, Real-Time Java and Real-Time POSIX by.
ECE 697: Real-Time Systems
EE5900 Advanced Embedded System For Smart Infrastructure
Introduction CSCI 444/544 Operating Systems Fall 2008.
Basic Real Time Concepts Systems Concepts Real-Time Definitions Events and Determinism CPU Utilization Real-Time System Design Issues Example Real-Time.
CMSC 421: Principles of Operating Systems Section 0202 Instructor: Dipanjan Chakraborty Office: ITE 374
Chapter 1: Introduction
Real-Time Systems – The Big Picture Real-Time Systems Anders P. Ravn Aalborg University September 2009.
© Andy Wellings, 2004 Concurrent and Real-Time Programming in Java  Electronic copies of course foils available via 
CS599 Software Engineering for Embedded Systems1 Software Engineering for Real-Time: A Roadmap Presentation by: Mandar Samant Raghbir Singh Banwait.
Chapter 13 Embedded Systems
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
© Andy Wellings, 2003 Roadmap  Introduction  Concurrent Programming  Communication and Synchronization  Completing the Java Model  Overview of the.
Real-Time Systems and Programming Languages
Real-Time Systems – The big Picture
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
CprE 458/558: Real-Time Systems
Misconceptions About Real-time Computing : A Serious Problem for Next-generation Systems J. A. Stankovic, Misconceptions about Real-Time Computing: A Serious.
Real-Time Operating System Chapter – 8 Embedded System: An integrated approach.
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
EMBEDDED SOFTWARE Team victorious Team Victorious.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
Distributed Real-Time systems 1 By: Mahdi Sadeghizadeh Website: Sadeghizadeh.ir Advanced Computer Networks.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Real Time & Embedded Systems Lecture 1: Real Time Systems Software (RTSS) RTSS: the software half of the Real Time & Embedded Systems unit What do we mean.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
Introduction to Real-Time Systems
1. Introduction 1.1 Background 1.2 Real-time applications 1.3 Misconceptions 1.4 Issues in real-time computing 1.5 Structure of a real-time system.
1 Performance Evaluation of Computer Systems and Networks Introduction, Outlines, Class Policy Instructor: A. Ghasemi Many thanks to Dr. Behzad Akbari.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
EEL Software development for real-time engineering systems.
المحاضرة الاولى Operating Systems. The general objectives of this decision explain the concepts and the importance of operating systems and development.
Operating System Concepts Chapter One: Introduction What is an operating system? Simple Batch Systems Multiprogramming Systems Time-Sharing Systems Personal-Computer.
Scheduling policies for real- time embedded systems.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
1 Multiprocessor and Real-Time Scheduling Chapter 10 Real-Time scheduling will be covered in SYSC3303.
Real-Time Systems Mark Stanovich. Introduction System with timing constraints (e.g., deadlines) What makes a real-time system different? – Meeting timing.
Prepare by : Ihab shahtout.  Overview  To give an overview of fixed priority schedule  Scheduling and Fixed Priority Scheduling.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Introduction to Real-Time Systems.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
5 May CmpE 516 Fault Tolerant Scheduling in Multiprocessor Systems Betül Demiröz.
What Shape is Your Real-Time System? Lonnie R. Welch Intelligent, Real-Time, Secure Systems Lab. School of EECS Ohio University Michael.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Special Class on Real-Time Systems
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
Real-Time Systems, Events, Triggers. Real-Time Systems A system that has operational deadlines from event to system response A system whose correctness.
Operating System. Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
1.1 Sandeep TayalCSE Department MAIT 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Unit - I Real Time Operating System. Content : Operating System Concepts Real-Time Tasks Real-Time Systems Types of Real-Time Tasks Real-Time Operating.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
Embedded System Design and Development Introduction to Embedded System.
Real-Time Operating Systems RTOS For Embedded systems.
Embedded System Scheduling
Applied Operating System Concepts
Introduction Frank Drews
Albert M. K. Cheng Embedded Real-Time Systems
Chapter 1- Introduction
Wayne Wolf Dept. of EE Princeton University
Real-time Software Design
Introduction to Realtime Systems (& Embedded Systems)
חוברת שקפים להרצאות של ד"ר יאיר ויסמן מבוססת על אתר האינטרנט:
Operating System Concepts
Subject Name: Operating System Concepts Subject Number:
Operating System Concepts
Presentation 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 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, John A. Stankovic, et. al., Strategic Directions in Real-Time and Embedded Systems, USC Slide Presentation, G. Marimaran, Lecture Slides on Real Time Systems, Iowa State University, Chenyang Lu, Lecture Slides on Real-Time Systems, Washington University in St. Louis, Fall 2005, Andy Wellings, University of York Research Group, Lecture slides for text “Concurrent and Real-Time Programming in Java” by Wellings, Jane W. S. Liu, Real-Time Systems, Prentice Hall, 2000, ISBN John A. Stankovic, et. al., Deadline Scheduling for Real-Time Systems: EDF and Related Algorithms, Kluwer Academic Publishers (now Springer), ISBN , 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.