Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment Presented by Pete Perlegos C.L. Liu and James W. Layland.

Slides:



Advertisements
Similar presentations
Fakultät für informatik informatik 12 technische universität dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund,
Advertisements

Washington WASHINGTON UNIVERSITY IN ST LOUIS Real-Time: Periodic Tasks Fred Kuhns Applied Research Laboratory Computer Science Washington University.
Time Demand Analysis.
Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment (then and now) EECS 750 – Spring 2006 Presented by: Shane Santner, TJ Staley,
Priority INHERITANCE PROTOCOLS
1 EE5900 Advanced Embedded System For Smart Infrastructure RMS and EDF Scheduling.
CPE555A: Real-Time Embedded Systems
CSE 522 Real-Time Scheduling (4)
An Introduction to Real Time Systems
Real-time concepts Lin Zhong ELEC424, Fall Real time Correctness – Logical correctness – Timing Hard vs. Soft – Hard: lateness is intolerable Pass/Fail.
From HRT-HOOD to ADA95 Real-Time Systems Lecture 5 Copyright, 2001 © Adam Czajka.
Real-Time Scheduling CIS700 Insup Lee October 3, 2005 CIS 700.
Task Allocation and Scheduling n Problem: How to assign tasks to processors and to schedule them in such a way that deadlines are met n Our initial focus:
Tasks Periodic The period is the amount of time between each iteration of a regularly repeated task Time driven The task is automatically activated by.
Module 2 Priority Driven Scheduling of Periodic Task
1 Single Machine Deterministic Models Jobs: J 1, J 2,..., J n Assumptions: The machine is always available throughout the scheduling period. The machine.
Project 2 – solution code
Periodic Task Scheduling
Fakultät für informatik informatik 12 technische universität dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund,
RTOS Scheduling – I : Rate-Monotonic Theory
EE 249, Fall Discussion: Scheduling Haibo Zeng Amit Mahajan.
Embedded Systems Exercise 3: Scheduling Real-Time Periodic and Mixed Task Sets 18. May 2005 Alexander Maxiaguine.
Recap Priorities task-level static job-level static dynamic Migration task-level fixed job-level fixed migratory Baker/ Oh (RTS98) Pfair scheduling This.
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
Spring 2002Real-Time Systems (Shin) Rate Monotonic Analysis Assumptions – A1. No nonpreemptible parts in a task, and negligible preemption cost –
Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environments.
Technische Universität Dortmund Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2007/12/14.
MM Process Management Karrie Karahalios Spring 2007 (based off slides created by Brian Bailey)
Task Scheduling By Dr. Amin Danial Asham.
Quantifying the sub-optimality of uniprocessor fixed priority non-pre-emptive scheduling Robert Davis 1, Laurent George 2, Pierre Courbin 3 1 Real-Time.
Scheduling policies for real- time embedded systems.
資工系網媒所 NEWS 實驗室 Paper Discussion C. L. Liu and James W. Layland, "Scheduling Algorithms for Multiprogramming in a Hard-Real- Time Environment", JACM, Vol.
BFair: An Optimal Scheduler for Periodic Real-Time Tasks
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.
RTOS task scheduling models
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems RMS and EDF Schedulers.
KUKUM Real Time System 1/21 Module 2 Real Time System Scheduling Lecture 05.
Special Class on Real-Time Systems
Real Time Operating Systems Schedulability - Part 2 Course originally developed by Maj Ron Smith 12/20/2015Dr Alain Beaulieu1.
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.
Real time scheduling G.Anuradha Ref:- Stallings. Real time computing Correctness of the system depends not only on the logical result of computation,
Common Approaches to Real-Time Scheduling Clock-driven (time-driven) schedulers Priority-driven schedulers Examples of priority driven schedulers Effective.
Introduction to Embedded Systems Rabie A. Ramadan 5.
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
Classical scheduling algorithms for periodic systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2012 年 12 月 19 日 These slides use Microsoft clip.
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 31 – Process Management (Part 1) Klara Nahrstedt Spring 2009.
Mok & friends. Resource partition for real- time systems (RTAS 2001)
CS333 Intro to Operating Systems Jonathan Walpole.
Real-Time Scheduling --- An Overview Real-Time Scheduling --- An Overview Xiaoping He.
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.
Lecture 6: Real-Time Scheduling
Embedded System Scheduling
Multiprocessor Real-Time Scheduling
Wayne Wolf Dept. of EE Princeton University
Lecture 4 Schedulability and Tasks
Chapter 6: CPU Scheduling
Real Time Scheduling Mrs. K.M. Sanghavi.
Elastic Task Model For Adaptive Rate Control
TDC 311 Process Scheduling.
Dynamic Voltage Scaling
Richard Anderson Lecture 6 Greedy Algorithms
Processes and operating systems
Richard Anderson Lecture 7 Greedy Algorithms
Uniprocessor scheduling
Ch.7 Scheduling Aperiodic and Sporadic Jobs in Priority-Driven Systems
The End Of The Line For Static Cyclic Scheduling?
Ch 4. Periodic Task Scheduling
Presentation transcript:

Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment Presented by Pete Perlegos C.L. Liu and James W. Layland

2 Assumptions The requests for all tasks for which hard deadlines exist are periodic, with constant interval between requests. Deadlines consist of run-ability constraints only – i.e. each task must be completed before the next request for it comes. The tasks are independent in that requests for a certain task do not depend on the initiation or the completion of requests for other tasks. Run-time for each task is constant for that task and does not vary with time. Run-time here refers to the time which is taken by a processor to execute the task without interruption. Any nonperiodic tasks in the system are special; they are initialization or failure-recovery routines; they displace periodic tasks while they themselves are being run, and do not themselves have hard, critical deadlines.

3 Type of Scheduling Algorithms The scheduling algorithms to be studied in this paper are preemptive and priority driven.

4 Critical Instant A critical instant for a task is defined to be an instant at which a request for that task will have the largest response time. Theorem 1. A critical instant for any task occurs whenever the task is requested simultaneously with requests for all higher priority tasks.

5 Feasible Scheduling One of the values of this result is that a simple direct calculation can determine whether or not a given priority assignment will yield a feasible scheduling algorithm. Specifically, if the requests for all tasks at their critical instants are fulfilled before their respective deadlines, then the scheduling algorithm is feasible.

6 Feasible Scheduling (a) (T 1 higher priority) Feasible (b) (T 1 higher priority) C 2 can be increased to 2 (c) (T 2 higher priority) C 1 and C 2 can be at most 1 T 1 =2, T 2 =5 C 1 =1, C 2 =1

7 Priority Assignment More generally, it seems that a “reasonable” rule of priority assignment is to assign priorities to tasks according to their request rates, independent if their run-times. Specifically, tasks with higher request rates will have higher priorities. This will be called rate-monotonic priority assignment. Theorem 2. If a feasible priority assignment exists for some task set, the rate-monotonic priority assignment is feasible for that task set.

8 Processor Utilization U =   (C i /T i ) T=request periods 1/T=frequency C=run-time i=1 m

9 Processor Utilization Theorem 3. For a set of two tasks with fixed priority assignment, the least upper bound to the processor utilization factor is U=2(2 ½ -1). Theorem 4. For a set of m tasks with fixed priority order, and the restriction that the ratio between any two request periods is less than 2, the least upper bound to the processor utilization factor is U=m(2 1/m -1). Theorem 5. For a set of m tasks with fixed priority order, the least upper bound to the processor utilization factor is U=m(2 1/m -1).

10 Processor Utilization For large m, U = ln2 = 0.69 This is not very good.

11 Deadline Driven Scheduling Algorithm Theorem 7. For a given set of m tasks, the deadline driven scheduling algorithm is feasible if and only if (C 1 /T 1 ) + (C 2 /T 2 ) + … + (C m /T m ) < 1 Total demand cannot exceed the available processor time.

12 Deadline Driven Scheduling Algorithm The deadline driven scheduling algorithm is optimum in the sense that if a set of tasks can be scheduled by any algorithm, it can be scheduled by the deadline driven scheduling algorithm.

13 Mixed Scheduling Algorithm Implement deadline driven scheduler for the slower paced tasks. Let tasks 1, 2,…, k, the k tasks of shortest periods, be scheduled according to the fixed priority rate-monotonic scheduling algorithm, and let the remaining tasks k+1, k+2,…, m, be scheduled according to the deadline driven scheduling algorithm when the processor is not occupied by tasks 1, 2,…, k.

14 Comparison Example with 3 tasks T 1 =3, T 2 =4, T 3 =5 C 1 =1, C 2 =1, C 3 =1(rate-monotonic), 2(mixed) Fixed priority rate-monotonic scheduling algorithm: U = 1/3 + 1/4 + 1/5 = 78.3% Mixed scheduling algorithm: U = 1/3 + 1/4 + 2/5 = 98.3%

15 Conclusion A combination of the two scheduling algorithms discussed appears to provide most of the benefits of the deadline driven scheduling algorithm, and yet may be readily implemented without much additional cost beyond a fixed priority assignment.