Modifying Theorem 2 Theorem 4 (The synchronous completion time theorem) In the above theorem, a task i will meet its completion deadline Di if it satisfies the shown relation.
One Final Example (Taken from “Software Engineering Fundamentals” by A One Final Example (Taken from “Software Engineering Fundamentals” by A. Behforooz) Consider the following 3 dependent and periodic tasks Task 1: C=30; T=100; D=100; E=0; B=0 Task 2: C=70; T=200; D=200; E=0; B=30 Task 3: C=30; T=200; D=150; E=50; B=6 Using theorem 3: 1 = 30/100 = 0.3 schedulable 1,2 = (30/100)+(70+30)/200 = 0.8 schedulable 1,2,3 = (30/100)+(70/200)+(30+50+6)/200 = 1.08 NOT schedulable Using theorem 4: W3(t)=t0=30+70+30+6 = 136 ms N1,1 = 1+(136-100)/100 = 2 t1 = 136+(2-1)30 = 166 ms (beyond 3 deadline) Changing task priority from (1-2-3) to (1-3-2) results in: W3(t)=t0=30+30+70+30 = 166 ms
Priority Inversion Meaning: A lower priority task executing before one with a higher priority Execution time = 5 ms Period = 20 ms Priority = 1 Execution time = 15 ms Period = 30 ms Priority = 2 Periodic Task 1 Periodic Task 2 Execution time = 25 ms Period = 140 ms Priority = 3 Periodic Task 3 Usage: 1(5 ms), 3(40 ms) Server Task Lockable resource
Timeline of previous slide Time (ms) 80 20 30 60 40 90 100 120 150 140 180 210 240 160 Task 1 5 15 Task 2 15 10 5 Task 3 5 10 30 Server
Expanded Portion of Previous Timeline 80 60 40 90 100 Time (ms) Task 1 5 15 Task 2 15 5 10 Task 3 10 5 ??... Server
Modified and Augmented Portion from Previous Slide 80 60 40 90 100 Time (ms) 120 140 150 160 1 queued 1 queued Task 1 15 5 Task 2 15 5 10 20 Task 3 10 15 5 55 Server
A Solution to Priority Inversion Use of Priority Ceiling Protocol (PCP) which is made up of 3 rules: Pre-emption rule Regular priority pre-emption Inheritance rule If a lower priority task blocks a higher priority one, the lower inherits the priority of the higher priority task Priority ceiling rule A task cannot get at a shared resource if it’s priority is less than any of the ceilings of the shared resources currently locked by other tasks
Bad PCP usage Example Assume tasks A, B, C, and D have priorities as A highest and D lowest. The tasks use 2 server tasks as follows: S1 used by A and C; S2 used by tasks B and D. Time (ms) Task A 1 Task B 2 Task C 1 3 Task D A C B S1 S2
McCabe’s R-T System Analysis Uses a modified interpretation of standard DFDs Transform Markov process state (a probabilistic queuing model) Data flow Transitions Therefore the following reasoning may be applied: 0 < pij ] 1.0 (p: transitional probability) True for each flow path pi pj pij
Example of McCabe’s R-T System Analysis Due to the lengthiness of this example it was thought better to hand it out as an MS-Word97 document. Therefore, it is available online and in hard-copy form separately. Please refer to it while it is explained during lecture sessions.