1 Advanced Embedded Systems, BAE 5030 Presentation Topic: Rate Monotonic Analysis By Aswin Ramachandran

Slides:



Advertisements
Similar presentations
Simulation of Feedback Scheduling Dan Henriksson, Anton Cervin and Karl-Erik Årzén Department of Automatic Control.
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
Time Demand Analysis.
Chapter 7 - Resource Access Protocols (Critical Sections) Protocols: No Preemptions During Critical Sections Once a job enters a critical section, it cannot.
REAL TIME SYSTEM Scheduling.
Flexible Scheduling of Software with Logical Execution Time Constraints* Stefan Resmerita and Patricia Derler University of Salzburg, Austria *UC Berkeley,
B. RAMAMURTHY 4/13/2015 cse321-fall2014 Realtime System Fundamentals : Scheduling and Priority-based scheduling Pag e 1.
CPE555A: Real-Time Embedded Systems
Real- time Dynamic Voltage Scaling for Low- Power Embedded Operating Systems Written by P. Pillai and K.G. Shin Presented by Gaurav Saxena CSE 666 – Real.
CSE 522 Real-Time Scheduling (4)
Preemptive Behavior Analysis and Improvement of Priority Scheduling Algorithms Xiaoying Wang Northeastern University China.
Embedded and Real Time Systems Lecture #4 David Andrews
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.
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
Holistic Scheduling and Analysis of Mixed Time/Event-Triggered Distributed Embedded System Traian Pop, Petru Eles, Zebo Peng EE249 Discussion Paper Review.
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.
Advanced Embedded Systems Design Pre-emptive scheduler BAE 5030 Fall 2004 Roshani Jayasekara Biosystems and Agricultural Engineering Oklahoma State University.
MM Process Management Karrie Karahalios Spring 2007 (based off slides created by Brian Bailey)
Dynamic Slack Reclamation with Procrastination Scheduling in Real- Time Embedded Systems Paper by Ravindra R. Jejurikar and Rajesh Gupta Presentation by.
A S CHEDULABILITY A NALYSIS FOR W EAKLY H ARD R EAL - T IME T ASKS IN P ARTITIONING S CHEDULING ON M ULTIPROCESSOR S YSTEMS Energy Reduction in Weakly.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
Scheduling policies for real- time embedded systems.
SAM2000 Introduction An Analyzable execution model Real-Time Analysis. Redesign the system Conclusions and Future Work.
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.
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.
Object-Oriented Design and Implementation of the OE-Scheduler in Real-time Environments Ilhyun Lee Cherry K. Owen Haesun K. Lee The University of Texas.
Real Time Systems Real-Time Schedulability Part I.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems RMS and EDF Schedulers.
Lab 3 Real-Time Control of a Hot Air Plant using RTOS µC/OSII Due Date: Week of Nov. 2 nd, 2010.
Distributed Process Scheduling : A Summary
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.
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.
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.
Mok & friends. Resource partition for real- time systems (RTAS 2001)
CS333 Intro to Operating Systems Jonathan Walpole.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 32 – Multimedia OS Klara Nahrstedt Spring 2010.
Real-Time Operating Systems RTOS For Embedded systems.
CPU Scheduling Scheduling processes (or kernel-level threads) onto the cpu is one of the most important OS functions. The cpu is an expensive resource.
Embedded System Scheduling
Unit OS9: Real-Time and Embedded Systems
EEE 6494 Embedded Systems Design
Chapter 8 – Processor Scheduling
Real-time Software Design
Lecture 24: Process Scheduling Examples and for Real-time Systems
Lecture 21: Introduction to Process Scheduling
Real Time Scheduling Mrs. K.M. Sanghavi.
Jason Neih and Monica.S.Lam
TDC 311 Process Scheduling.
Dynamic Voltage Scaling
CSCI1600: Embedded and Real Time Software
NET 424: REAL-TIME SYSTEMS (Practical Part)
CSCI1600: Embedded and Real Time Software
Processes and operating systems
Lecture 21: Introduction to Process Scheduling
Scheduling.
Real-Time Process Scheduling Concepts, Design and Implementations
Real-Time Process Scheduling Concepts, Design and Implementations
Presentation transcript:

1 Advanced Embedded Systems, BAE 5030 Presentation Topic: Rate Monotonic Analysis By Aswin Ramachandran

2 A simple scheduling algorithm were priorities are assigned to tasks at the same priority level ! Do the less time consuming jobs first. Tasks are not processed in the order it is received. Ensures deadlines and response times are met. Important to consider while assigning tasks to be dispatched in the Time-triggered and Hybrid Schedulers. Real-time scheduling priority algorithms are classified into: –Static-priority – Design time (remains constant through out its life-time). Example: RMA –Dynamic-priority – Run time based on the execution tasks & upcoming deadlines. –Mixed-priority – Uses both. What does RMA mean …?

3 Objective of RMA RMA enables us to understand, analyze and to predict the timing behavior of real-time software systems. Improves the system’s, Dependability & Evolvability or Reusability (ease at which a system can adapt to new technology changes). Terms to understand: T i – Period at which the task gets executed. It is also the maximum time that a task can take to finish (deadline). Example: Finishing Assignments C i – Time to execute the task ( C i <= T i ) U i – Utilization ( C i / T i ) where i is a task. U (n) = C1/T1 + C2/T2…Cn/Tn

4 Lesser the work Higher the Priority! Task 1: C1=25ms T1= 50ms ; Utilization (CPU usage) = 50 % Task 2: C2=40msT2=100ms ; Utilization (CPU usage) = 40 % Total CPU Utilization = 90 % PROBLEM! Task 2 consumes more CPU time and causes the Task 1 to miss the deadline. Time Graph (a)

5 Bounds to satisfy Utilization Bound C1/T1 + C2/T2…Cn/Tn <= n(2^ 1/n –1) Converges to only approx. 70% usage of CPU. Adding more Tasks Costs CPU time!

6 Utilization Bound Test(1 st Test) U(n)<= n(2^ 1/n –1) If this inequality is satisfied, all of the tasks will always meet their deadlines. If U(n) is greater than 100%, the tasks cannot be completed, which is obvious. But if, [ n(2^ 1/n –1) < U(n)<= 1], MORE PRECISE TESTING IS REQUIRED!

7 Though U(n) = 0.9, it worked as we saw with no problems when proper priority where assigned. Let’s consider a second example So how to test schedulability … Task 1: C1=25ms T1= 50ms; Utilization (CPU usage) = 50% Task 2: C2=40ms T2=100ms; Utilization (CPU usage) = 40% Total CPU Utilization U(n) = 90 % Task 1: C1=25ms T1= 50ms; Utilization (CPU usage) = 50% Task 2: C2=30ms T2= 75ms; Utilization (CPU usage) = 40% Total CPU Utilization U(n) = 90 %

8 Is this a schedulable task… Example 2: Task 1: C1=25ms T1= 50ms; Utilization (CPU usage) = 50% Task 2: C2=30ms T2= 75ms; Utilization (CPU usage) = 40% Total CPU Utilization U(n) = 90 % Proves that Utilization Bound Test is INCONCLUSIVE, when [ n(2^1/n –1) < U(n)<= 1 ] Hence we need a more conclusive testing in this bound. Schedulability (2nd Test): COMPLETION TIME TEST Time Graph (b)

9 COMPLETION TIME TEST For a set of period independent, periodic task, if each task meets its deadline with worst-case overheads (IPC, OS operations etc), then the deadline will always be met. COMPLETION TIME TEST: Where Wi is the completion time of task i If after several iterations i.e.(n) –Wi <= Ti, then the tasks are schedulable.

10 Example 1:Total CPU Utilization U(n) = 90 % Task 1: C1=25ms T1= 50ms; Task 2: C2=40ms T2=100ms For Task 1: 1<= j < i, in this case i = 1 n = 0: W1 = => Task1 is schedulable since 25ms < 50ms For Task 2:1<= j < i, in this case i = 2, where I n = 0; W2(1) = = 40 ms n = 1; W2(2) = 40 + [ 40/50] * 25 = 65 ms n = 2; W2(3) = 40 + [ 65/50] * 25 = 90 ms n = 3; W2(4) = 40 + [ 90/50] * 25 = 90 ms n = 4; W2(5) = 40 + [ 90/50] * 25 = 90 ms Condition PROVED! { W2, completion time converges before the deadline. Hence the 2 Tasks were schedulable as seen in the time schedule } Schedulable if we prove W i <= T i,

11 Example 2:Total CPU Utilization U(n) = 90 % Task 1: C1=25ms T1= 50ms; Task 2: C2=30ms T2=75ms For Task 1: 1<= j < i, in this case i = 1, ( same as Example 1) –n = 0: W1 = => Task1 is schedulable since 25ms < 50ms For Task 2:1<= j < i, in this case i = 2, where i is the task. –n = 0; W2(1) = = 30 ms –n = 1; W2(2) = 30 + [ 30/50] * 25 = 55 ms –n = 2; W2(3) = 30 + [ 55/50] * 25 = 80 ms –n = 3; W2(4) = 30 + [ 80/50] * 25 = 80 ms Condition NOT PROVED, Since W2(4) > 75 ms –{hence the 2 Tasks were NOT schedulable as seen in the time schedule } Let find out how this test helps to analyze Example 2

12 Tests Bounded by Assumptions… All tasks are periodic and not interacting with each another ( all tasks are independent ). Deadlines are always the end of the period. No interrupts (but hybrid scheduling!). Rate monotonic priorities assigned (priorities based on the task rate). All tasks are on a single processor. Zero context switch overhead. (stack dispelling) Tasks do not suspend themselves.

13 Practical Applications Modeling context switching Schedulability with priority inversion –By finding the blocking time of the low priority process. Schedulability with Interrupts Idea behind RMA: Identify the sources of blocking & manage them.

14 RMA Software Tri-Pacific Software, Inc RAPID RMA Rate-Monotonic Analysis in the C++ Type System, Deters, Gill, Cytron gRMA - a graphical tool for Rate Monotonic Analysis of real-time systems (Free tool) References: 1. Introduction to Rate Monotonic Scheduling by David Stewart and Michael Barr 2. Rate Monotonic Analysis, rma.pdf 3. Rate Monotonic Analysis, 4. Rate Monotonic Analysis,