Introduction to Embedded Systems Resource Management in (Embedded) Real-Time Systems Lecture 17.

Slides:



Advertisements
Similar presentations
Feedback Control Real-Time Scheduling: Framework, Modeling, and Algorithms Chenyang Lu, John A. Stankovic, Gang Tao, Sang H. Son Presented by Josh Carl.
Advertisements

Real Time Scheduling.
Introduction Frank Drews
EE5900 Advanced Embedded System For Smart Infrastructure
Chapter 7 - Resource Access Protocols (Critical Sections) Protocols: No Preemptions During Critical Sections Once a job enters a critical section, it cannot.
Introduction to Embedded Systems Resource Management - III Lecture 19.
Priority INHERITANCE PROTOCOLS
1 EE5900 Advanced Embedded System For Smart Infrastructure RMS and EDF Scheduling.
Real-time Systems Lab, Computer Science and Engineering, ASU Scheduling Algorithm and Analysis (ESP – Fall 2014) Computer Science & Engineering Department.
Real-Time Scheduling CIS700 Insup Lee October 3, 2005 CIS 700.
Module 2 Priority Driven Scheduling of Periodic Task
CS 3013 & CS 502 Summer 2006 Scheduling1 The art and science of allocating the CPU and other resources to processes.
Real-Time Systems and Programming Languages
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
CprE 458/558: Real-Time Systems
Spring 2002Real-Time Systems (Shin) Rate Monotonic Analysis Assumptions – A1. No nonpreemptible parts in a task, and negligible preemption cost –
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.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Real Time Process Control (Introduction)
Real Time Systems Design
Introduction to Real Time Systems Akos Ledeczi EECE 354, Fall 2010 Vanderbilt University.
 Dr. Syed Noman Hasany 1.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing.
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.
Chapter 6 Scheduling. Basic concepts Goal is maximum utilization –what does this mean? –cpu pegged at 100% ?? Most programs are I/O bound Thus some other.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Real-Time Scheduling CS4730 Fall 2010 Dr. José M. Garrido Department of Computer Science and Information Systems Kennesaw State University.
Scheduling policies for real- time embedded systems.
Real-Time Systems Mark Stanovich. Introduction System with timing constraints (e.g., deadlines) What makes a real-time system different? – Meeting timing.
1 Scheduling The part of the OS that makes the choice of which process to run next is called the scheduler and the algorithm it uses is called the scheduling.
Reference: Ian Sommerville, Chap 15  Systems which monitor and control their environment.  Sometimes associated with hardware devices ◦ Sensors: Collect.
Introduction to Real Time Systems
Real Time Scheduling Telvis Calhoun CSc Outline Introduction Real-Time Scheduling Overview Tasks, Jobs and Schedules Rate/Deadline Monotonic Deferrable.
Real-Time Scheduling CS 3204 – Operating Systems Lecture 20 3/3/2006 Shahrooz Feizabadi.
Real-Time Systems Real-Time Systems. Real-time research repository  For information on real-time research groups, conferences, journals, books, products,
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
2.5 Scheduling Given a multiprogramming system. Given a multiprogramming system. Many times when more than 1 process is waiting for the CPU (in the ready.
Undergraduate course on Real-time Systems Linköping 1 of 45 Autumn 2009 TDDC47: Real-time and Concurrent Programming Lecture 5: Real-time Scheduling (I)
Real-Time Systems. CS461 - Senior Design Project (AY2005)2 Real-time research repository For information on real-time research groups, conferences, journals,
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
CSE 522 Real-Time Scheduling (2)
Real-Time Scheduling CS 3204 – Operating Systems Lecture 13 10/3/2006 Shahrooz Feizabadi.
1 Real-Time Scheduling. 2Today Operating System task scheduling –Traditional (non-real-time) scheduling –Real-time scheduling.
CSCI1600: Embedded and Real Time Software Lecture 24: Real Time Scheduling II Steven Reiss, Fall 2015.
2.5 Scheduling. Given a multiprogramming system, there are many times when more than 1 process is waiting for the CPU (in the ready queue). Given a multiprogramming.
Introduction to Embedded Systems Rabie A. Ramadan 5.
A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling.
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
Dynamic Priority Driven Scheduling of Periodic Task
Introduction to Real-Time Systems
CS333 Intro to Operating Systems Jonathan Walpole.
For a good summary, visit:
Undergraduate course on Real-time Systems Linköping University TDDD07 Real-time Systems Lecture 2: Scheduling II Simin Nadjm-Tehrani Real-time Systems.
Clock Driven Scheduling
Unit - I Real Time Operating System. Content : Operating System Concepts Real-Time Tasks Real-Time Systems Types of Real-Time Tasks Real-Time Operating.
Undergraduate course on Real-time Systems Linköping TDDD07 – Real-time Systems Lecture 1: Introduction & Scheduling I Simin Nadjm-Tehrani Real-time Systems.
Real-Time Operating Systems RTOS For Embedded systems.
Embedded System Scheduling
REAL-TIME OPERATING SYSTEMS
Introduction Frank Drews
EEE 6494 Embedded Systems Design
Chapter 2 Scheduling.
Real-time Software Design
Chapter 6: CPU Scheduling
Operating Systems CPU Scheduling.
Rate Monotonic Analysis For Real-Time Scheduling A presentation for
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
CHAPTER 3 A Reference Model of Real-Time Systems
Presentation transcript:

Introduction to Embedded Systems Resource Management in (Embedded) Real-Time Systems Lecture 17

Introduction to Embedded Systems Summary of Previous Lecture More on Synchronization and Deadlocks –Mutex and Barrier synchronization –Deadlocks –Necessary conditions for deadlock –Deadlock prevention, avoidance and detection/recovery –Banker’s algorithm –Wait-for graphs

Introduction to Embedded Systems Mid-Term Exam Grades Scores at Pittsburgh Mean = 76.23%

Introduction to Embedded Systems Thought for the Day All our dreams can come true if we have the courage to pursue them. –Walt Disney

Introduction to Embedded Systems Outline of This Lecture Real-time Systems –characteristics and mis-conceptions –the “window of scarcity” Example real-time systems –simple control systems –multi-rate control systems –hierarchical control systems –signal processing systems Terminology Scheduling algorithms Rate-Monotonic Analysis (RMA) –Real time systems and you –Fundamental concepts –An Introduction to Rate-Monotonic Analysis: independent tasks We will zip through these!

Introduction to Embedded Systems Real-time System A real-time system is a system whose specification includes both logical and temporal correctness requirements. –Logical Correctness: Produces correct outputs. Can by checked, for example, by Hoare logic. –Temporal Correctness: Produces outputs at the right time. It is not enough to say that “brakes were applied” You want to be able to say “brakes were applied at the right time” –In this course, we spend much time on techniques for checking temporal correctness. –The question of how to specify temporal requirements, though enormously important, is shortchanged in this course.

Introduction to Embedded Systems Characteristics of Real-Time Systems Event-driven, reactive. High cost of failure. Concurrency/multiprogramming. Stand-alone/continuous operation. Reliability/fault-tolerance requirements. Predictable behavior.

Introduction to Embedded Systems Example Real-Time Applications Many real-time systems are control systems. Example 1: A simple one-sensor, one-actuator control system. control-law computation A/D D/A sensor plant actuator rkrk ykyk y(t) u(t) ukuk reference input r(t) The system being controlled

Introduction to Embedded Systems Simple Control System (cont’d) Pseudo-code for this system: set timer to interrupt periodically with period T; at each timer interrupt do do analog-to-digital conversion to get y; compute control output u; output u and do digital-to-analog conversion; end do set timer to interrupt periodically with period T; at each timer interrupt do do analog-to-digital conversion to get y; compute control output u; output u and do digital-to-analog conversion; end do T is called the sampling period. T is a key design choice. Typical range for T: seconds to milliseconds.

Introduction to Embedded Systems Multi-rate Control Systems More complicated control systems have multiple sensors and actuators and must support control loops of different rates. Example 2: Helicopter flight controller. Do the following in each 1/180-sec. cycle: validate sensor data and select data source; if failure, reconfigure the system Every sixth cycle do: keyboard input and mode selection; data normalization and coordinate transformation; tracking reference update control laws of the outer pitch-control loop; control laws of the outer roll-control loop; control laws of the outer yaw- and collective-control loop Every other cycle do: control laws of the inner pitch-control loop; control laws of the inner roll- and collective-control loop Compute the control laws of the inner yaw-control loop; Output commands; Carry out built-in test; Wait until beginning of the next cycle Note: Having only harmonic rates simplifies the system.

Introduction to Embedded Systems Hierarchical Control Systems Example 3: Air traffic-flight control hierarchy. state estimator state estimator state estimator    air traffic control flight management flight control air data navigation virtual plant operator-system interface physical plant from sensors responses commands sampling rates may be minutes or even hours sampling rates may be secs. or msecs.

Introduction to Embedded Systems Signal-Processing Systems Signal-processing systems transform data from one form to another. Examples: –Digital filtering. –Video and voice compression/decompression. –Radar signal processing. Response times range from a few milliseconds to a few seconds.

Introduction to Embedded Systems DSP Example: Radar System radar memory DSP signal processors data processor track records track records signal processing parameters control status sampled digitized data

Introduction to Embedded Systems Other Real-Time Applications Real-time databases. Transactions must complete by deadlines. Main dilemma: Transaction scheduling algorithms and real-time scheduling algorithms often have conflicting goals. Data may be subject to absolute and relative temporal consistency requirements. Multimedia. Want to process audio and video frames at steady rates. –TV video rate is 30 frames/sec. HDTV is 60 frames/sec. –Telephone audio is 16 Kbits/sec. CD audio is 128 Kbits/sec. Other requirements: Lip synchronization, low jitter, low end-to-end response times (if interactive).

Introduction to Embedded Systems Are All Systems Real-Time Systems? Question: Is a payroll processing system a real-time system? –It has a time constraint: Print the pay checks every two weeks. Perhaps it is a real-time system in a definitional sense, but it doesn’t pay us to view it as such. We are interested in systems for which it is not a priori obvious how to meet timing constraints.

Introduction to Embedded Systems The “Window of Scarcity” Resources may be categorized as: –Abundant: Virtually any system design methodology can be used to realize the timing requirements of the application. –Insufficient: The application is ahead of the technology curve; no design methodology can be used to realize the timing requirements of the application. –Sufficient but scarce: It is possible to realize the timing requirements of the application, but careful resource allocation is required.

Introduction to Embedded Systems Example: Interactive/Multimedia Applications sufficient but scarce resources abundant resources insufficient resources Requirements (performance, scale) Hardware resources in year X Remote Login Network File Access High-quality Audio Interactive Video The interesting real-time applications are here The interesting real-time applications are here

Introduction to Embedded Systems Hard vs. Soft Real Time –Task: A sequential piece of code. –Job: Instance of a task. –Jobs require resources to execute. –Example resources: CPU, network, disk, critical section. –We will simply call all hardware resources “processors”. –Release time of a job: The time instant the job becomes ready to execute. –Absolute Deadline of a job: The time instant by which the job must complete execution. –Relative deadline of a job: “Deadline  Release time”. –Response time of a job: “Completion time  Release time”.

Introduction to Embedded Systems Example = job release = job deadline Job is released at time 3. Its (absolute) deadline is at time 10. Its relative deadline is 7. Its response time is 6.

Introduction to Embedded Systems Hard Real-Time Systems A hard deadline must be met. –If any hard deadline is ever missed, then the system is incorrect. –Requires a means for validating that deadlines are met. Hard real-time system: A real-time system in which all deadlines are hard. –We mostly consider hard real-time systems in this course. Examples: Nuclear power plant control, flight control.

Introduction to Embedded Systems Soft Real-Time Systems A soft deadline may occasionally be missed. –Question: How to define “occasionally”? Soft real-time system: A real-time system in which some deadlines are soft. Examples: Telephone switches, multimedia applications.

Introduction to Embedded Systems Defining “Occasionally” One Approach: Use probabilistic requirements. –For example, 99% of deadlines will be met. Another Approach: Define a “usefulness” function for each job: Note: Validation is trickier here. 1 0 relative deadline

Introduction to Embedded Systems Reference Model Each job J i is characterized by its release time r i, absolute deadline d i, relative deadline D i, and execution time e i. –Sometimes a range of release times is specified: [r i , r i + ]. This range is called release-time jitter. Likewise, sometimes instead of e i, execution time is specified to range over [e i , e i + ]. –Note: It can be difficult to get a precise estimate of e i (more on this later).

Introduction to Embedded Systems Periodic, Sporadic, Aperiodic Tasks Periodic task: –We associate a period p i with each task T i. –p i is the interval between job releases. Sporadic and Aperiodic tasks: Released at arbitrary times. –Sporadic: Has a hard deadline. –Aperiodic: Has no deadline or a soft deadline.

Introduction to Embedded Systems Examples = job release = job deadline A periodic task T i with r i = 2, p i = 5, e i = 2, D i =5 executes like this:

Introduction to Embedded Systems Classification of Scheduling Algorithms All scheduling algorithms static scheduling (or offline, or clock driven) dynamic scheduling (or online, or priority driven) static-priority scheduling dynamic-priority scheduling

Introduction to Embedded Systems Summary of Lecture So Far Real-time Systems –characteristics and mis-conceptions –the “window of scarcity” Example real-time systems –simple control systems –multi-rate control systems –hierarchical control systems –signal processing systems Terminology Scheduling algorithms

Introduction to Embedded Systems Real Time Systems and You Embedded real time systems enable us to: –manage the vast power generation and distribution networks, –control industrial processes for chemicals, fuel, medicine, and manufactured products, –control automobiles, ships, trains and airplanes, –conduct video conferencing over the Internet and interactive electronic commerce, and –send vehicles high into space and deep into the sea to explore new frontiers and to seek new knowledge.

Introduction to Embedded Systems Real-Time Systems Timing requirements –meeting deadlines Periodic and aperiodic tasks Shared resources Interrupts

Introduction to Embedded Systems Metrics for real-time systems differ from that for time-sharing systems. –schedulability is the ability of tasks to meet all hard deadlines –latency is the worst-case system response time to events –stability in overload means the system meets critical deadlines even if all deadlines cannot be met What’s Important in Real-Time Time-Sharing Systems Real-Time Systems Capacity High throughputSchedulability Responsiveness Fast average responseEnsured worst-case response Overload FairnessStability

Introduction to Embedded Systems Scheduling Policies CPU scheduling policy: a rule to select task to run next –cyclic executive –rate monotonic/deadline monotonic –earliest deadline first –least laxity first Assume preemptive, priority scheduling of tasks –analyze effects of non-preemption later

Introduction to Embedded Systems Rate Monotonic Scheduling (RMS) Priorities of periodic tasks are based on their rates: highest rate gets highest priority. Theoretical basis –optimal fixed scheduling policy (when deadlines are at end of period) –analytic formulas to check schedulability Must distinguish between scheduling and analysis –rate monotonic scheduling forms the basis for rate monotonic analysis –however, we consider later how to analyze systems in which rate monotonic scheduling is not used –any scheduling approach may be used, but all real-time systems should be analyzed for timing

Introduction to Embedded Systems Rate Monotonic Analysis (RMA) Rate-monotonic analysis is a set of mathematical techniques for analyzing sets of real-time tasks. Basic theory applies only to independent, periodic tasks, but has been extended to address –priority inversion –task interactions –aperiodic tasks Focus is on RMA, not RMS

Introduction to Embedded Systems Why Are Deadlines Missed? For a given task, consider –preemption: time waiting for higher priority tasks –execution: time to do its own work –blocking: time delayed by lower priority tasks The task is schedulable if the sum of its preemption, execution, and blocking is less than its deadline. Focus: identify the biggest hits among the three and reduce, as needed, to achieve schedulability

Introduction to Embedded Systems B Example of Priority Inversion Collision check: {... P ( )... V ( )...} Update location: {... P ( )... V ( )...} Collision check Refresh screen Update location Attempts to lock data resource (blocked)

Introduction to Embedded Systems Rate Monotonic Theory - Experience Supported by several standards –POSIX Real-time Extensions Various real-time versions of Linux –Java (Real-Time Specification for Java and Distributed Real-Time Specification for Java) –Real-Time CORBA –Real-Time UML –Ada 83 and Ada 95 –Windows 95/98 –…

Introduction to Embedded Systems Summary Real-time goals are: –fast response, –guaranteed deadlines, and –stability in overload. Any scheduling approach may be used, but all real-time systems should be analyzed for timing. Rate monotonic analysis –based on rate monotonic scheduling theory –analytic formulas to determine schedulability –framework for reasoning about system timing behavior –separation of timing and functional concerns Provides an engineering basis for designing real-time systems

Introduction to Embedded Systems Plan for Lectures Present basic theory for periodic task sets Extend basic theory to include –context switch overhead –preperiod deadlines –interrupts Consider task interactions: –priority inversion –synchronization protocols (time allowing) Extend theory to aperiodic tasks: –sporadic servers (time allowing)

Introduction to Embedded Systems A Sample Problem PeriodicsServers Aperiodics  1  2  3 20 msec 40 msec 100 msec 150 msec 350 msec 20 msec Data Server 2 msec 10 msec Comm Server 10 msec 5 msec Emergency 50 msec Deadline 6 msec after arrival 2 msec Routine 40 msec Desired response 20 msec average   ’s deadline is 20 msec before the end of each period

Introduction to Embedded Systems Rate Monotonic Analysis Introduction Periodic tasks Extending basic theory Synchronization and priority inversion Aperiodic servers

Introduction to Embedded Systems A Sample Problem - Periodics PeriodicsServers Aperiodics  1  2  3 20 msec 40 msec 100 msec 150 msec 350 msec 20 msec Data Server 2 msec 10 msec Comm Server 10 msec 5 msec Emergency 50 msec Deadline 6 msec after arrival 2 msec Routine 40 msec Desired response 20 msec average   ’s deadline is 20 msec before the end of each period

Introduction to Embedded Systems IP: U IP = VIP: U VIP = = 0.10 = VIP: IP: Semantics-Based Priority Assignment misses deadline IP: 025 VIP: Policy-Based Priority Assignment Example of Priority Assignment

Introduction to Embedded Systems Schedulability: UB Test Utilization bound (UB) test: a set of n independent periodic tasks scheduled by the rate monotonic algorithm will always meet its deadlines, for all task phasings, if U(1) = 1.0U(4) = 0.756U(7) = U(2) = 0.828U(5) = 0.743U(8) = U(3) = 0.779U(6) = 0.734U(9) = For harmonic task sets, the utilization bound is U(n)=1.00 for all n < U (n) = n(2 - 1) C 1 C n 1/ n T 1 T n

Introduction to Embedded Systems Concepts and Definitions - Periodics Periodic task –initiated at fixed intervals –must finish before start of next cycle Task’s CPU utilization: –C i = worst-case compute time (execution time) for task  i –T i = period of task  i CPU utilization for a set of tasks U = U 1 + U U n Ui =Ui = CiCi TiTi

Introduction to Embedded Systems Sample Problem: Applying UB Test Total utilization is =.753 < U(3) =.779 The periodic tasks in the sample problem are schedulable according to the UB test CTU Task  Task  Task 

Introduction to Embedded Systems Timeline for Sample Problem Scheduling Points  2  3  1

Introduction to Embedded Systems Exercise: Applying the UB Test a. What is the total utilization? b. Is the task set schedulable? c. Draw the timeline. d. What is the total utilization if C 3 = 2 ? Given:

Introduction to Embedded Systems Solution: Applying the UB Test a. What is the total utilization? =.69 b. Is the task set schedulable? Yes:.69 < U(3) =.779 c. Draw the timeline. d. What is the total utilization if C 3 = 2 ? =.79 > U(3) = Task   Task   Task  

Introduction to Embedded Systems Toward a More Precise Test UB test has three possible outcomes: 0 < U < U(n)  Success U(n) < U < 1.00  Inconclusive 1.00 < U  Overload UB test is conservative. A more precise test can be applied.

Introduction to Embedded Systems Schedulability: RT Test Theorem: The worst-case phasing of a task occurs when it arrives simultaneously with all its higher priority tasks. Theorem: for a set of independent, periodic tasks, if each task meets its first deadline, with worst-case task phasing, the deadline will always be met. Response time (RT) or Completion Time test: let a n = response time of task i. a n of task I may be computed by the following iterative formula: Test terminates when a n+1 = a n. Task i is schedulable if its response time is before its deadline: a n < T i The above must be repeated for every task i from scratch a n+1 C i a n T j C j j1  i1    where a 0 C j j1  i   This test must be repeated for every task  i if required i.e. the value of i will change depending upon the task you are looking at Stop test once current iteration yields a value of a n+1 beyond the deadline (else, you may never terminate). The ‘square bracketish’ thingies represent the ‘ceiling’ function, NOT brackets

Introduction to Embedded Systems CTU Task    Task    Task    Example: Applying RT Test -1 Taking the sample problem, we increase the compute time of  1 from 20 to 40; is the task set still schedulable? Utilization of first two tasks: < U(2) = –first two tasks are schedulable by UB test Utilization of all three tasks: > U(3) = –UB test is inconclusive –need to apply RT test

Introduction to Embedded Systems Example: Applying RT Test -2 Use RT test to determine if  3 meets its first deadline: i =    260  a 1 C i a 0 T j C j j1  i1    C 3 a 0 T j C j j1  2   3 a 0 C j j1   C 1 C 2 C 3   180 

Introduction to Embedded Systems Example: Applying the RT Test -3 Task  3 is schedulable using RT test a  T  350  a 2 C 3 a 1 T j C j j1  2    (40) (40)  a 3 a Done!  a 3 C 3 a 2 T j C j j1  2   (40) (40) 

Introduction to Embedded Systems Timeline for Example  2   1  3 completes its work at t = 300

Introduction to Embedded Systems Exercise: Applying RT Test Task  1 : C 1 = 1 T 1 = 4 Task  2 : C 2 = 2 T 2 = 6 Task  3 : C 3 = 2 T 3 = 10 a) Apply the UB test b) Draw timeline c) Apply RT test

Introduction to Embedded Systems Solution: Applying RT Test a) UB test    and    OK -- no change from previous exercise =.79 >.779  Test inconclusive for   b) RT test and timeline Task   Task   Task   All work completed at t = 6

Introduction to Embedded Systems Solution: Applying RT Test (cont.) c) RT test 3 a 0 C j j1   C 1 C 2 C 3  122  5  a 1 C 3 a 0 T j C j j1  2      = 6 a 2 C 3 a 1 T j C j j1  2      Done

Introduction to Embedded Systems Summary UB test is simple but conservative. RT test is more exact but also more complicated. To this point, UB and RT tests share the same limitations: –all tasks run on a single processor –all tasks are periodic and noninteracting –deadlines are always at the end of the period –there are no interrupts –Rate-monotonic priorities are assigned –there is zero context switch overhead –tasks do not suspend themselves