In principle, slack stealing in a fixed-priority system works in the same way as slack stealing in a deadline-driven system. However, the computation and the usage of the slack are both more complicated in fixed-priority systems.
Consider, the system contains three periodic tasks T1 = (3, 1), T2 = (4, 1), and T3 = (6, 1) such that,
- Job J11, J21 and J31 released at time 0 with priority order J11>J21>J31 where J11 can be postponed up to 2, J21 up to 3 and J31 up to 5. Similarly job J12 and job J22 are released at 3 and 4 and they are postponed up to 5 and up to 7 such that slack of 1 be available in between 0 and Similarly a slack of 1 available between 3 and 6. When slack of 1 before 3 is not used then slack stealer can use the available slack of 2 in between 3 to 5.
- Similarly job J13 released at 6 and can be postponed up to Job J23 released at 8 and can be postponed up to 11. Job J32 released at 6 and can be postponed up to 11. Hence a slack of 1 available between 6 to 12 and slack stealer can use it and uses in between 8 to 9.
- The corresponding schedule without using slack of 1 before 3 be constructed as:
- When the 1 unit of slack before 3 is used in between 2 to 3 then job J31 postponed to 5 and completes its execution up to 6. The job J12 and J22 released at 3 and 4 can be postponed up to 5 and 7. The slack of 2 available in between 3 to 8. When the slack stealer use the slack of 2 in between 6 to 8 the schedule be generated as:
- When an aperiodic job of 1 execution time released in between 0 to 3 be executed following schedule (b) provides the better response time. If the aperiodic job of execution time not more than 2 provides the better response time when it is executed by fallowing schedule (a).
The example points out the following:
- No slack-stealing algorithm can minimize the response time of every aperiodic job in a fixed-priority system even when prior knowledge on the arrival times and execution times of aperiodic jobs is available i.e. low chance to meet optimality
- The amount of slack a fixed-priority system has in a time interval may depend on when the slack is used. To minimize the response time of an aperiodic job, the decision on when to schedule the job must take into account the execution time of the job.