Download presentation
Presentation is loading. Please wait.
Published byJaeden Jessup Modified over 10 years ago
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 1.at any time one processor is assigned at most one job 2. at any time each job is assigned at most one processor* 3.no 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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.