100 likes | 119 Views
Explore Modifying Theorem 2 and Theorem 4 related to synchronous completion time in software engineering. An example with dependent and periodic tasks is provided to illustrate the theorems' application. The Priority Ceiling Protocol (PCP) and McCabe’s R-T System Analysis are also discussed in detail. Access additional examples and explanations in the accompanying material.
E N D
Modifying Theorem 2 Theorem 4 (The synchronous completion time theorem) In the above theorem, a task i will meet its completion deadline Diif it satisfies the shown relation.
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
Periodic Task 1 Execution time = 5 ms Period = 20 ms Priority = 1 Periodic Task 2 Server Task Execution time = 15 ms Period = 30 ms Priority = 2 Usage: 1(5 ms), 3(40 ms) Lockable resource Periodic Task 3 Execution time = 25 ms Period = 140 ms Priority = 3 Priority Inversion Meaning: A lower priority task executing before one with a higher priority
15 15 15 15 15 15 15 15 15 15 15 15 5 5 5 5 5 5 5 5 5 5 5 5 Task 1 10 15 10 15 10 5 10 15 15 10 5 15 10 5 15 10 5 5 10 15 5 Task 2 5 10 5 5 30 5 5 5 10 Task 3 Server 20 30 40 60 80 90 100 120 140 150 160 180 210 240 Time (ms) Timeline of previous slide
5 5 5 5 15 15 15 Task 1 5 15 10 5 15 10 Task 2 10 5 5 Task 3 ??... Server 40 60 80 90 100 Time (ms) Expanded Portion of Previous Timeline
5 5 15 5 5 5 5 15 15 15 Task 1 5 10 15 5 10 15 15 20 10 10 Task 2 10 15 5 55 Task 3 Server 40 60 80 90 100 120 140 150 160 Time (ms) Modified and Augmented Portion from Previous Slide 1 queued 1 queued
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
Task A 1 1 1 1 1 2 2 2 2 Task B 3 Task C 3 1 3 1 1 Task D S1 A C A A C A A C S2 B B B Time (ms) 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.
pij pi pj 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
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.