- This algorithm is for independent preemptible tasks.
- All the processors are identical. The tasks requires no resources except the processor time
- The period is equal to the relative deadline.
- When T1 is scheduled, there is only one processor with utilisation 0.5, so T1 is allocated to p1
- When T6 comes, again p1 can accommodate as 0.5+0.4=0.9 which is again less than total utilisation factor 1.
- When T2 comes, its utilisation is 0.33 which cant be added to p1 since it will cross 1, so a new processor is added and it is p2.
- Like wise all other tasks are scheduled according to their utilisation factor.
The sum of utilisations of the tasks assigned to a processor is always less than or equal to 1, the task set is EDF scheduled in that processor.
So, the problme reduces to making task assignments with the property that the sum of the utilisations of the tasks assigned to a processor does not exceed to 1.
| T1 | T2 | T3 | T4 | T5 | T6 | T7 | T8 | T9 | T10 | T11 |
ei | 5 | 7 | 3 | 1 | 10 | 16 | 1 | 3 | 9 | 17 | 21 |
Pi | 10 | 21 | 22 | 24 | 30 | 40 | 50 | 55 | 70 | 90 | 95 |
u(i) =ei/Pi | 0.50 | 0.33 | 0.14 | 0.04 | 0.33 | 0.40 | 0.02 | 0.05 | 0.13 | 0.19 | 0.22 |
Arrange the tasks in the order of their utilisation
So the order will be L={T1,T6,T2,T5,T11,T10,T3,T9,T8,T4,T7}
Tasks | u(i) -> utilisation | Processor pi | Assignment Vector(U) |
T1 | 0.50 | p1 | (0.50) |
T6 | 0.40 | p1 | (0.90) |
T2 | 0.33 | p2 | (0.90, 0.33) |
T5 | style="border-style:solid;border-color:#A3A3A3;border-width:1pt; vertical-align:top;width:1.4701in;padding:4pt 4pt 4pt 4pt"> | p2 | (0.90,0.66) |
T11 | 0.22 | p2 | (0.90,0.88) |
T10 | 0.19 | p3 | (0.90,0.88,0.19) |
T3 | 0.14 | p3 | (0.90,0.88,0.33) |
T9 | 0.13 | p3 | (0.90,0.88,0.46) |
T8 | 0.05 | p1 | (0.95,0.88,0.46) |
T4 | 0.04 | p1 | (0.99,0.88,0.46) |
T7 | 0.02 | p2 | (0.99,0.90,0.46) |
Steps
>The Final schedule is given below
p1=> T1, T6,T8,T4
p2=> T2,T5,T11,T7
p3 => T10,T3,T9
xplain how processors are assigned tasks deeply...plz
ReplyDelete