Presentation is loading. Please wait.

Presentation is loading. Please wait.

EE551 Real-Time Operating Systems Modeling IPC and Constraints Course originally developed by Maj Ron Smith.

Similar presentations

Presentation on theme: "EE551 Real-Time Operating Systems Modeling IPC and Constraints Course originally developed by Maj Ron Smith."— Presentation transcript:

1 EE551 Real-Time Operating Systems Modeling IPC and Constraints Course originally developed by Maj Ron Smith

2 14-Jan-15 Dr. Alain Beaulieu 2 So far…  We have covered RMA  Priority based on period  Utilisation bound  What are the limitations of RMA?  We have covered DMPO  Asynchronous tasks can be modeled using minimum inter- arrival times and a deadline << pseudo-period  We then give a priority to each task based either on periodic or absolute deadline  Response time analysis that includes interference and blocking  Priority Inversion Problem  Priority Inheritance and Ceiling Protocols

3 14-Jan-15 Dr. Alain Beaulieu 3 So far…  When we look at schedulability analysis such as response time analysis (time demand analysis)  The purpose is to see if we can obtain a valid and feasible schedule…

4 14-Jan-15 Dr. Alain Beaulieu 4 So far… (recall)  valid schedules any time one processor is assigned at most one job 2. at any time each job is assigned at most one processor* job is scheduled before its release time 4.the total amount of processor time allocated is equal to each jobs maximum execution time (or actual)** 5.all precedence and resource constraints are met a  feasible schedule is one in which all jobs meet their timing constraints (usually deadlines) * implies no parallel processing at job level ** depends on algorithm

5 14-Jan-15 Dr. Alain Beaulieu 5 So far…  Lets say that we have found through our task model that every job (periodic, and pseudo- periodic) is schedulable  What is the next step?

6 14-Jan-15 Dr. Alain Beaulieu 6 So far…  We take an RTOS and implement our priority- driven scheme  Select an RTOS such as µC/OS  Priority based, preemptive kernel  In the case of µC/OS priorities are static, but…  We implement our mutual exclusion constraints that we have modeled  By using mutexes we ensure that we have resolved transitive blocking and deadlocks problem (or have we?)  Our precedence constraints were used to derive our effective release times and relative deadlines

7 14-Jan-15 Dr. Alain Beaulieu 7 So far… recall: The life and times: On a graph T i Release Spec T i Effective Release Time T i Actual Response Time T i Deadline Spec T i Effective Deadline { Due to ? {

8 14-Jan-15 Dr. Alain Beaulieu 8 So far…  If our modeling of  Maximum execution time (how?)  Timing constraints [ Ti = (  i, pi, ei, Di) ]  Critical section identification  Precedence constraints  Identification of IPC and Synchronization req  Calculation of effective timing constraints  Approximation of asynchronous pseudo-periodic tasks Holds, and we have chosen an RTOS with the mechanisms that implements our policy then we have indeed a valid and feasible system

9 14-Jan-15 Dr. Alain Beaulieu 9 So far…  Our schedulability analysis for asynchronous events using DMPO is based on two assumptions:  We know the minimum inter-arrival time  We can specify a deadline  Asynchronous events can be sporadic or aperiodic  We know more about sporadic events than aperiodic events

10 14-Jan-15 Dr. Alain Beaulieu 10 So far…  We have seen some implementation options to deal with aperiodic events  Background (idle) – not optimal  Interrupt Driven – not correct  Slack Stealing – works but is complicated and compute intensive  Polling Servers – works but requires queue to have backlog  Bandwidth Preserving Servers  Deferred  Sporadic  All are implementable with most RTOS it is a question of analysis and design

11 14-Jan-15 Dr. Alain Beaulieu 11 Pre-Run-Time Scheduling  There is another school of thought that states that we can ensure that a system has a feasible schedule if we pre-set the schedule before run-time

12 14-Jan-15 Dr. Alain Beaulieu 12 Pre-Run-Time Scheduling  Again using the our hard-real-time model for tasks, we could construct a deterministic schedule before run-time  This requires algorithms that can take timing constraints  Several algorithms exist to produce schedules

13 14-Jan-15 Dr. Alain Beaulieu 13 Pre-Run-Time Scheduling  Some algorithms are compute intensive but resolvable in O(n 2 )  Earliest Deadline First  Least Laxity first  As in the case of priority scheduling:  First calculate the effective release time and deadline of each task based on precedence  Find the least common denominator for all periodic tasks and define the major cycle (make asynch tasks pseudo-periodic)  For each task in the system create a set of jobs to be executed in the major cycle (number of releases)  Jobs run to completion (more to come on this)  Schedule according to the policy (create a Gantt chart) and verify that all the deadlines are met

14 14-Jan-15 Dr. Alain Beaulieu 14 Pre-Run-Time Scheduling  After the Gantt chart is obtained, use it to order the tasks on the system:  Clock Driven Scheduling through an RTOS  Use the sleep (delay) function to implement the schedule  May have to keep the delays for the major cycle in a multidimensional array  If jobs run to completion do we need mutual exclusion?  In the case of parallel processors with shared resources. We can include the mutual exclusion constraints in the algorithms so that two tasks are mutually exclusive in time  We must ensure that Interrupt Service Routines have no Mutual exclusions – What if they do???

15 14-Jan-15 Dr. Alain Beaulieu 15 Pre-Run-Time Scheduling  What is the problem with PRT scheduling (calendar scheduling)?  Is there any advantage of using PRT scheduling?

16 14-Jan-15 Dr. Alain Beaulieu 16 Pre-Run-Time Scheduling  Some research was done in the past on optimal schedules  do not confuse with an optimal algorithm that always finds a solution  An optimal schedule is one that is as short as can be  The problem is to find the shortest possible schedule given a set of task without missing deadlines

17 14-Jan-15 Dr. Alain Beaulieu 17 Pre-Run-Time Optimal Schedule  Calculating the shortest possible schedule is an NP-Hard Problem  The computational complexity is one that is also called wicked problem  Such problems have been described in the traveling salesman problem and the backpack packing problem  NP-Hard problem solutions are not verifiable in polynomial time  So you have a solution but you are not sure if it is the optimal solution

18 14-Jan-15 Dr. Alain Beaulieu 18 Pre-Run-Time Optimal Schedule  Calculating the shortest possible schedule that meets timing constraints is also an NP- Hard Problem  However verifying that the timing constraints are met is an NP-Complete problem, it can be verified in polynomial time  However, you will not be able to know if it was the shortest possible schedule

Download ppt "EE551 Real-Time Operating Systems Modeling IPC and Constraints Course originally developed by Maj Ron Smith."

Similar presentations

Ads by Google