Introduction to Real-Time Systems

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

Washington WASHINGTON UNIVERSITY IN ST LOUIS Real-Time: Periodic Tasks Fred Kuhns Applied Research Laboratory Computer Science Washington University.
EE5900 Advanced Embedded System For Smart Infrastructure
Priority INHERITANCE PROTOCOLS
CPE555A: Real-Time Embedded Systems
Courseware Scheduling of Distributed Real-Time Systems Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens.
Real Time Scheduling Terminologies define Fixed Priority Scheduler
CSE 522 Real-Time Scheduling (4)
An Introduction to Real Time Systems
Mehdi Kargahi School of ECE University of Tehran
CSE 3141 Real-time system design Lecturer: Dr. Ronald Pose
CSE 522 Real-Time Scheduling (1) Computer Science & Engineering Department Arizona State University Tempe, AZ Dr. Yann-Hang Lee (480)
RUN: Optimal Multiprocessor Real-Time Scheduling via Reduction to Uniprocessor Paul Regnier † George Lima † Ernesto Massa † Greg Levin ‡ Scott Brandt ‡
Real-Time Scheduling CIS700 Insup Lee October 3, 2005 CIS 700.
Module 2 Priority Driven Scheduling of Periodic Task
Examples of real-time applications On-line transaction systems and interaction systems Real-time monitoring systems Signal processing systems –typical.
Real-Time System: Introduction
Deterministic Scheduling
Courseware Basics of Real-Time Scheduling Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building.
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
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.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Real Time Process Control (Introduction)
Task Scheduling By Dr. Amin Danial Asham.
Real-Time Systems Lecture 1: Introduction. Course Outline Design Methodologies Scheduling Theory  Schedulability Analysis  Real-Time Scheduling Algorithms.
Real Time Operating Systems Scheduling & Schedulers Course originally developed by Maj Ron Smith 8-Oct-15 Dr. Alain Beaulieu Scheduling & Schedulers- 7.
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.
CPU Scheduling Gursharan Singh Tatla 1-Feb-20111www.eazynotes.com.
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.
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.
Survey of Real Time Databases Telvis Calhoun CSc 6710.
5 May CmpE 516 Fault Tolerant Scheduling in Multiprocessor Systems Betül Demiröz.
6. Application mapping 6.1 Problem definition
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)
Special Class on Real-Time Systems
Module 2 Overview of Real Time System Scheduling
Real-Time Scheduling CS 3204 – Operating Systems Lecture 13 10/3/2006 Shahrooz Feizabadi.
CSCI1600: Embedded and Real Time Software Lecture 24: Real Time Scheduling II Steven Reiss, Fall 2015.
Real time scheduling G.Anuradha Ref:- Stallings. Real time computing Correctness of the system depends not only on the logical result of computation,
Introduction to Embedded Systems Rabie A. Ramadan 5.
Static Process Scheduling
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
Dynamic Priority Driven Scheduling of Periodic Task
For a good summary, visit:
KUKUM Real Time System Module 2 Real Time Model. KUKUM Real Time System Lecture Outline Why a reference model? Job and task Processors and resources Time.
Clock Driven Schedulers
Basic Concepts Maximum CPU utilization obtained with multiprogramming
Distributed Process Scheduling- Real Time Scheduling Csc8320(Fall 2013)
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
Chapter 6: CPU Scheduling
Operating Systems CPU Scheduling.
Module 5: CPU Scheduling
3: CPU Scheduling Basic Concepts Scheduling Criteria
CSCI1600: Embedded and Real Time Software
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
CSCI1600: Embedded and Real Time Software
Operating System , Fall 2000 EA101 W 9:00-10:00 F 9:00-11:00
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Chapter 6: CPU Scheduling
CHAPTER 3 A Reference Model of Real-Time Systems
Module 5: CPU Scheduling
Presentation transcript:

Introduction to Real-Time Systems 4/26/2017 Introduction to Real-Time Systems Fred Kuhns () CS523S: Operating Systems

What is a Real-Time System? Real-time systems have been defined as: "those systems in which the correctness of the system depends not only on the logical result of the computation, but also on the time at which the results are produced"; J. Stankovic, "Misconceptions About Real-Time Computing," IEEE Computer, 21(10), October 1988. Fred Kuhns () CS523S: Operating Systems

Real-Time Characteristics Real-time systems often are comprised of a controlling system, controlled system and environment. Controlling system: acquires information about environment using sensors and controls the environment with actuators. Timing constraints derived from physical impact of controlling systems activities. Hard and soft constraints. Periodic Tasks: Time-driven recuring at regular intervals. Aperiodic: event-driven. Fred Kuhns () CS523S: Operating Systems

Typical Real-Time System Con trolled System sensor actuator Controlling System Environment Fred Kuhns () CS523S: Operating Systems

CS523S: Operating Systems Some Definitions Timing constraint: constraint imposed on timing behavior of a job: hard or soft. Release Time: Instant of time job becomes available for execution. If all jobs are released when the system begins execution, then there is said to be no release time Deadline: Instant of time a job's execution is required to be completed. If deadline is infinity, then job has no deadline. Absolute deadline is equal to release time plus relative deadline Response time: Length of time from release time to instant job completes. Fred Kuhns () CS523S: Operating Systems

CS523S: Operating Systems Hard versus Soft Hard: failure to meet constraint is a fatal fault. Validation system always meets timing constraints. Deterministic constraints Probabilistic constraints Constraints in terms of some usefulness function. Soft: late completion is undesirable but generally not fatal. No validation or only demonstration job meets some statistical constraint. Occasional missed deadlines or aborted execution is usually considered tolerable. Often specified in probabilistic terms Fred Kuhns () CS523S: Operating Systems

Validating Constraints Validation: Demonstration by a provably correct, efficient procedure or by exhaustive simulation and testing. Involves three steps: timing constraints of each application and corresponding components are consistent, each component can meet its timing constraints if executed alone and required resources are available, The underlying scheduling algorithm(s), all timing constraints are met Fred Kuhns () CS523S: Operating Systems

Developing a Reference Model Modeling the system to focus on timing properties and resource requirements. Composed of three elements: workload model - describes applications supported by system Temporal parameters Precedence constraints and dependencies Functional parameters resource model - describes system resources available to applications Modeling resources (Processors and Resources) Resource parameters algorithms - defines how application uses resources at all times. Scheduling Hierarchy Fred Kuhns () CS523S: Operating Systems

Tasks and Jobs: Definitions Task (Ti): Set of related jobs jointly provide function. Job (Jij): Unit of work, scheduled and executed by system. characterized by the following parameters: Temporal parameters: timing constraints and behavior Functional parameters: intrinsic properties of the job. Resource parameters: resource requirements. Interconnection parameters: how it depends on other jobs and how other jobs depend on it Fred Kuhns () CS523S: Operating Systems

CS523S: Operating Systems Resources Resources can be divided into passive and active: Active resources == Processors (Pi): they execute jobs. Every job must have one or more processors Same type if functionally identical and used interchangeably. Passive resource == Resource (Ri): job may require Resources in addition to processor. reusable resources are not consumed Fred Kuhns () CS523S: Operating Systems

Job/Task Temporal Parameters Hard real-time: number and parameters of tasks are known at all time. for Job Ji: ri - release time, may know range [r-, r+] (jitter). For aperiodic/sporadic release or interrelease time is a random variable. di - absolute deadline Di - relative deadline (ri, di] - feasible interval ei - Execution time. May know range [e-, e+]. Most deterministic models use e+. Fred Kuhns () CS523S: Operating Systems

CS523S: Operating Systems Periodic Task Model Jobs repeated at regular or semi-regular intervals modeled as periodic. Task Ti is a serious of periodic Jobs Jij. pi - period, minimum interrelease interval between jobs in Task Ti. Must be bounded from below. ei - maximum execution time for jobs in task Ti. rij - release time of the jth Job in Task i (Jij in Ti). i - phase of Task Ti, equal to ri1. H - Hyperperiod = Least Common Multiple of pi for all i: H = lcm(pi), for all i. ui - utilization of Task Ti. U - Total utilization = Sum over all ui. Fred Kuhns () CS523S: Operating Systems

Aperiodic and Sporadic Tasks A periodic or Sporadic task is a stream of aperiodic or sporadic jobs. Jobs with a task have similar statistical behavior and timing requirements Assumed system is stationary within the hyperperiod Aperiodic: jobs have soft or no deadlines. Want responsiveness. Sporadic: jobs have hard deadlines Fred Kuhns () CS523S: Operating Systems

Precedence Constraints and Task Graphs Jobs are either precedence constrained or independent. Precedence relation: partial ordering operator < Ji < Jk : Ji is predecessor of Jk, Jk is successor of Ji directed graph G = (J,<) Task graph is an extended precedence graph. Fred Kuhns () CS523S: Operating Systems

Functional Parameters Preemptivity Preemption: suspend job then dispatch different job to processor. Cost includes context switch overhead. Non-preemptable task - must be run from start to completion. Criticalness - positive integer indicating the relative importance of a job. Useful during overload. Optional Executions - jobs or portions of jobs may be declared optional. Useful during overload. Laxity - Laxity type => hard or soft timing constraints. Supplemented by a usefulness function. Useful during overload. Fred Kuhns () CS523S: Operating Systems

CS523S: Operating Systems Resource Parameters Job resource parameters indicate processor and resource requirements. Preemptivity of resources non-preemptive: serial access, typical case. preemptive - jobs can interleave access. Resource Graph: vertex for processors (Pi) and resources (Ri) is-a-part-of edge: Ri -> Rk, Rk is a part of Ri accessibility edge: Pi -> Pk, cost of Pi accessing Pk Fred Kuhns () CS523S: Operating Systems

Schedules and Scheduling Jobs scheduled and allocated resources based on a set of scheduling algorithms and access control protocols. Scheduler: Module implementing scheduling algorithms Schedule: assignment of all jobs to available processors, produced by scheduler. Valid schedule: every processor assigned to at most one job at a time every job assigned to at most one processor at a time no job scheduled before its release time Total amount of processor time assigned to every job is equal to its maximum or actual execution time Fred Kuhns () CS523S: Operating Systems

CS523S: Operating Systems Definitions Feasible schedule: Every job starts at or after release time and completes by deadline Schedulable: set of jobs schedulable according to an algorithm if the it always produces a feasible schedule. Optimal: Scheduling algorithm optimal if it always produces a feasible schedule if such a schedule exists Tardiness: Zero if completion time <= deadline, otherwise > 0 (complete - deadline). Lateness: difference between completion time and deadline, can be negative if early. Fred Kuhns () CS523S: Operating Systems

CS523S: Operating Systems Performance Measures Miss rate: percentage of jobs executed but completed late Loss rate: percentage of jobs discarded Invalid rate: sum of miss and loss rate. makespan : If all jobs have same release time and deadline, then makespan = response time of the last job to execute. Max or average response times Max or average tardiness/lateness Fred Kuhns () CS523S: Operating Systems