Real-Time Scheduling David Ferry CSCI 3500 – Operating Systems

Slides:



Advertisements
Similar presentations
Feedback EDF Scheduling Exploiting Dynamic Voltage Scaling Yifan Zhu and Frank Mueller Department of Computer Science Center for Embedded Systems Research.
Advertisements

Simulation of Feedback Scheduling Dan Henriksson, Anton Cervin and Karl-Erik Årzén Department of Automatic Control.
Time Demand Analysis.
Priority Inheritance and Priority Ceiling Protocols
CprE 458/558: Real-Time Systems
Real-Time Mutli-core Scheduling Moris Behnam. Introduction Single processor scheduling – E.g., t 1 (P=10,C=5), t 2 (10, 6) – U= >1 – Use a faster.
Real-Time Scheduling CIS700 Insup Lee October 3, 2005 CIS 700.
Module 2 Priority Driven Scheduling of Periodic Task
CPU SCHEDULING RONG ZHENG. OVERVIEW Why scheduling? Non-preemptive vs Preemptive policies FCFS, SJF, Round robin, multilevel queues with feedback, guaranteed.
Towards optimal priority assignments for real-time tasks with probabilistic arrivals and probabilistic execution times Dorin MAXIM INRIA Nancy Grand Est.
CS 3013 & CS 502 Summer 2006 Scheduling1 The art and science of allocating the CPU and other resources to processes.
Periodic Task Scheduling
Embedded Systems Exercise 3: Scheduling Real-Time Periodic and Mixed Task Sets 18. May 2005 Alexander Maxiaguine.
Wk 2 – Scheduling 1 CS502 Spring 2006 Scheduling The art and science of allocating the CPU and other resources to processes.
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
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.
Chapter 4 – Periodic Task Scheduling In many real-time systems periodic tasks dominate the demand. Three classic periodic task scheduling algorithms: –
Binghamton University EngiNet™ State University of New York
MM Process Management Karrie Karahalios Spring 2007 (based off slides created by Brian Bailey)
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.
CS Spring 2011 CS 414 – Multimedia Systems Design Lecture 31 – Multimedia OS (Part 1) Klara Nahrstedt Spring 2011.
Real-Time Scheduling CS4730 Fall 2010 Dr. José M. Garrido Department of Computer Science and Information Systems Kennesaw State University.
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)
Real Time Systems Real-Time Schedulability Part I.
RTOS task scheduling models
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems RMS and EDF Schedulers.
CSE 522 Real-Time Scheduling (2)
1 Real-Time Scheduling. 2Today Operating System task scheduling –Traditional (non-real-time) scheduling –Real-time scheduling.
Chapter 3: Real-Time Scheduling and Schedulability Analysis Albert M. K. Cheng.
Introduction to Embedded Systems Rabie A. Ramadan 5.
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
Dynamic Priority Driven Scheduling of Periodic Task
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 31 – Process Management (Part 1) Klara Nahrstedt Spring 2009.
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.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 32 – Multimedia OS Klara Nahrstedt Spring 2010.
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
Scheduling in Real-Time Systems
Multiprocessor Real-Time Scheduling
EMERALDS Landon Cox March 22, 2017.
Networks and Operating Systems: Exercise Session 2
Wayne Wolf Dept. of EE Princeton University
Unit OS9: Real-Time and Embedded Systems
EEE 6494 Embedded Systems Design
Lecture 8: Dispatch Rules
Chapter 8 – Processor Scheduling
Imprecise Computation September 7, 2006
Lecture 4 Schedulability and Tasks
Lecture 24: Process Scheduling Examples and for Real-time Systems
Optimizing Expected Time Utility in Cyber-Physical Systems Schedulers
Realtime Scheduling Algorithms
Real Time Scheduling Mrs. K.M. Sanghavi.
Enforcing Real-Time Behavior I
Limited-Preemption Scheduling of Sporadic Tasks Systems
NET 424: REAL-TIME SYSTEMS (Practical Part)
NET 424: REAL-TIME SYSTEMS (Practical Part)
Processes and operating systems
A) Is taskset with (period, comp-time) = (3, 1) (5, 1) (5, 1)
Real-Time Process Scheduling Concepts, Design and Implementations
Ch 4. Periodic Task Scheduling
Real-Time Process Scheduling Concepts, Design and Implementations
Real-Time Operating Systems
Efficient Online Schedulability Tests for Real-Time Systems
CSE 542: Operating Systems
CPU Scheduling David Ferry CSCI 3500 – Operating Systems
Presentation transcript:

Real-Time Scheduling David Ferry CSCI 3500 – Operating Systems Saint Louis University St. Louis, MO 63103

Real-Time Problem Domain “Real-time is not real fast” Some problems require high predictability and reliability, e.g. sense-compute-actuate loop at 10-1000Hz Cyber Physical Gather Sensor Data Sensors Compute Response Actuators Send Actuator Commands CSCI 3500 - Operating Systems

CSCI 3500 - Operating Systems Real-Time Task Model Multiple tasks, each with: Periodic rate, T Worst-case execution time, C Deadline relative to release time, D Note: There is no advantage to completing a job early! Task Period, T WCET, C Deadline, D A 3 1 B 5 1 3 5 8 13 B 6 4 2 10 A 7 9 11 12 14 15 CSCI 3500 - Operating Systems

Rate Monotonic (RM) Algorithm Preemptive Rate Monotonic – The task with the shortest period always executes as highest priority. B A A B B A B B A B B A B B A B 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CSCI 3500 - Operating Systems

Earliest Deadline First (EDF) Preemptive Earliest Deadline First – The task with the next deadline always executes as highest priority. B A A B B B A B A B B A B B B A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CSCI 3500 - Operating Systems

Earliest Deadline First (EDF) Preemptive Earliest Deadline First – The task with the next deadline always executes as highest priority. B A EDF A B B B A B A B B A B B B A RM A B B A B B A B B A B B A B CSCI 3500 - Operating Systems

Real-Time Scheduling Problem Given a set of tasks, does a particular scheduling algorithm guarantee they will all get enough time to complete by their deadline, and how do we prove it? Here we can prove that RM and EDF work for this particular task set with an appeal to the hyperperiod... Is there a better way? What if hyperperiod was large? Restart EDF A B B B A B A B B A B B B A RM A B B A B B A B B A B B A B 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CSCI 3500 - Operating Systems

CSCI 3500 - Operating Systems Schedulablity Tests RM and EDF are common names because they have rigorously proven schedulability tests that make it easy to decide whether they can schedule a task set or not. These are usually sufficient but not necessary. If a task set meets the criteria then we know it can be scheduled, but if it doesn’t meet the criteria we don’t know that it can’t be scheduled. For RM and EDF these tests are utilization bounds. CSCI 3500 - Operating Systems

CSCI 3500 - Operating Systems Utilization The utilization of a task is it’s execution requirement divided by its period. I.e. Ui = Ci / Ti so for example: The utilization of a task set is the sum all utilizations in the task set. Task Period, T WCET, C Deadline, D Utilization A 3 1 0.333 B 5 0.6 CSCI 3500 - Operating Systems

RM & EDF Utilization Bounds Liu and Layland (1973) proved that a set of n tasks is schedulable under RM if: U = ∑ Ci / Ti ≤ n(21/n – 1) Or for large n: U ≤ 0.69 Xu and Parnas (1990) proved a set of tasks is schedulable under EDF if: U = ∑ Ci / Ti ≤ 1 CSCI 3500 - Operating Systems

Sufficiency vs. Necesscity Schedulability tests are only sufficient, not necessary: E.g.: Utilization of this task set is 0.933 Schedulability bound from last slide for n=2: U ≤ n(21/n – 1) = 2*(√2 - ) = 0.83 Task Period, T WCET, C Deadline, D Utilization A 3 1 0.333 B 5 0.6 A B RM CSCI 3500 - Operating Systems