210 likes | 223 Views
Quantifying the sub-optimality of uniprocessor fixed priority non-pre-emptive scheduling. Robert Davis 1 , Laurent George 2 , Pierre Courbin 3 1 Real-Time Systems Research Group, University of York 2 AOSTE Team, INRIA 3 Ecole Centrale d’Electronique de Paris (ECE). Speedup factors.
E N D
Quantifying the sub-optimality of uniprocessor fixed priority non-pre-emptive scheduling Robert Davis1, Laurent George2, Pierre Courbin3 1Real-Time Systems Research Group, University of York 2AOSTE Team, INRIA 3Ecole Centrale d’Electronique de Paris (ECE)
Speedup factors • QUESTION: What is the speedup factor by which the processing speed of a single processor would need to be increased, so that any taskset that was previously schedulable according to some optimal scheduling algorithm, can be scheduled using fixed priority scheduling, assuming optimal priority assignment?
Problem scope • Single processor systems • Non-pre-emptive scheduling • Execution time of all tasks scales linearly with processor speed • Sporadic task model • Static set of n tasks ti with priorities 1..n • Bounded worst-case execution time Ci • Sporadic/periodic arrivals: minimum inter-arrival time Ti • Relative deadline Di • Utilisation Ui=Ci /Ti • Independent execution • Arrivals are independent and unknown a priori (non-concrete)
Background • Feasibility and Optimality • A taskset is said to be feasible if there exists some scheduling algorithm that can schedule the taskset without missing as deadline • A scheduling algorithm is said to be optimal if it can schedule all feasible tasksets • EDF-P is optimal • Dertouzos (1974), proved that EDF-P is an optimal uniprocessor pre-emptive scheduling algorithm for arbitrary-deadline tasksets that comply with the sporadic task model • EDF-P can schedule all feasible tasksets that comply with our model • We have previously used a comparison with EDF-P to determine speedup factors for FP-P scheduling
Background • Non-pre-emptive • No work-conserving non-pre-emptive algorithm is optimal. Inserted idle time is necessary for optimality amongst non-pre-emptive algorithms. • No optimal on-line inserted idle time algorithm can exist (Howell and Venkatra, 1995). Clairvoyance is also necessary for optimality. • EDF-NP • EDF-NP is optimal in the weak sense that it can schedule any taskset for which a feasible work-conserving non-pre-emptive schedule exists (George et al. 1995) • We can use a comparison with EDF-NP to determine the speedup factor for FP-NP scheduling
Background • FP scheduling: Optimal Priority Assignment • A priority assignment policy Q is said to be optimal if there are no tasksets that are schedulable using some other priority assignment policy P which are not also schedulable using policy Q. • FP-P Optimal priority assignment • Implicit-deadlinetasksets – Rate-Monotonic (Liu & Layland, 1973) • Constrained-deadlinetasksets –Deadline Monotonic (Leung & Whitehead, 1982) • Arbitrary-deadlinetasksets – Optimal Priority Assignment algorithm, (Audsley, 1993) • FP-NP Optimal priority assignment • All 3 cases – OPA algorithm, i.e. Audsley’s algorithm, (George et al., 1995)
Previous results for FP-P Speedup factor: increase in processing speed required so that any feasible taskset (schedulable by an optimal scheduling algorithm) can be scheduled using FP-P scheduling
Speedup factor • Definition #1 • Letbe the lowest processor speed such that a taskset is schedulable according to an optimal algorithm Similarly is the lowest speed assuming algorithm A • Speedup factor is given by: • Speedup factor is the maximum factor by which it is necessary to increase the processor speed so that any taskset that was schedulable under EDF-NP becomes schedulable under FP-NP.
Speedup factor • Definition #2 • LetS be some arbitrary taskset, and is the maximum factor by which the execution times of the tasks in S can be scaled and remain schedulable under FP-NP. Similarly, let be the maximum scaling factor under EDF-NP then the speedup factor for taskset S is The speedup factor for FP-NP is the maximum such factor for any taskset • A taskset is said to be speedup-optimalif it requires the (maximum) speedup factor.
τD τA τB τC τA τB τC τD τD τA τA τB τB τC τC τA τA τB τB τC τC Example FP-NP schedule EDF-NP schedule Taskset parameters DA DB DC DD τD τD 1 2 3 TA TB TC Scaling factors Speedup factor for this taskset =
X X ε ε ε ε ε ε ε ε ε ε ε ε ε ε ε ε ε ε ε ε ε ε ε ε Speedup factor: Lower bound FP-NP schedule Taskset parameters D1 D2 D3 Dn T1 T2 T3 Scaling factor
Speedup factor: Lower bound • Taskset is a modified version of the speedup optimal taskset for the pre-emptive case • Tasks 1 to n-1 same as the pre-emptive case (Davis et al, 2009a) • Lowest priority task now has an infinite deadline (as well as an infinite period), so the taskset has implicit deadlines • Lowest priority task causes blocking • Task at priority n-1 constrains the scaling factors • Priority assignment • Need to show that no priority ordering can lead to schedulability with a larger scaling factor – argument based on the operation of Audsley’s OPA algorithm is given in the paper.
Scaling factor for EDF-NP • Two key conditions limit the scaling factor: 1. The first job of every task must complete by the deadline of task n-1: 2. Utilisation of the scaled taskset must not exceed 100% • Utilisation given by: • This is a left Riemann sum of y=1/z over [(1+X), (2+X)] • Limit as n→∞ is given by the integral: • Hence:
Maximum value wherea1(X) = a2(X) Scaling factor for EDF-NP • Intersection of the lines as ε→0 similar to the transcendental equation: ln(1/Ω) = Ω defining the mathematical constant Ω ≈ 0.567143 Proof of schedulability with this scaling factor is required - given in the paper
Speedup factor: Lower bound • Scaling factor for EDF-NP • Scaling factor for FP-NP • Lower bound on the Speedup factor for FP-NP scheduling: • Note the taskset has implicit deadlines, so this lower bound applies to implicit, constrained and arbitrary deadline tasksets
Speedup factor: Upper bound • Let S be any taskset that is schedulable under EDF-NP on a processor of speed 1 • As the taskset is schedulable, then at time t=2Dk: • Now consider taskset S scheduled on a processor of speed 2 using FP-NP scheduling, and that the tasks are indexed in Deadline Monotonic priority order • From above:
Speedup factor: Upper bound • 1st two terms , blocking factor for FP-NP scheduling (detail given in the paper) • Sum term can also be substituted, noting that and Formed a sufficient schedulability test for task k under FP-NP (repeating for each k shows the taskset is schedulable) Upper Bound on Speedup factor for FP-NP is therefore 2 Holds for tasks with arbitrary deadlines and hence also for implicit and constrained deadline tasksets
Empirical verification Verified using integer values for task parameters Using exact analysis for FP-NP and EDF-NP scheduling Saw-tooth is an artefact due to quantisation of speedup factors due to use of integers
Speedup factor: Summary Speedup factor: increase in processing speed required so that any feasible taskset (schedulable by an optimal algorithm) can be scheduled using Fixed Priority scheduling
Future work / open questions • Determining exact speedup factors for FP-NP,and for FP-P with arbitrary deadline tasksets • These are where optimal priority assignment requires Audsley’s OPA algorithm – complicates proof of speedup optimal taskset attributes • Determining the exact speedup factor as a function of the number of tasks • Empirical investigation • Try to find tasksets that require a speedup factor > 1/Ω • Is 1/Ω ultimately the limit ???
Questions [1] R.I. Davis, T. Rothvoß, S.K. Baruah, A. Burns “Exact Quantification of the Sub-optimality of Uniprocessor Fixed Priority Pre-emptive Scheduling”. Real-Time Systems, Volume 43, Number 3, pages 211-258, November 2009. (Published online 17th July 2009). Gives the Exact speedup factor for implicit- and constrained-deadline tasksets (pre-emptive scheduling) [2]R.I. Davis, T. Rothvoß, S.K. Baruah, A. Burns “Quantifying the Sub-optimality of Uniprocessor Fixed Priority Pre-emptive Scheduling for Sporadic Tasksets with Arbitrary Deadlines”. RTNS’09, October 26-27th, 2009. Gives upper and lower bounds for arbitrary-deadline tasksets (pre-emptive scheduling) [3]R.I. Davis, L. George, P. Courbin “Quantifying the Sub-optimality of Uniprocessor Fixed Priority Non-pre-emptive Scheduling”. RTNS’10, November 4-5th, 2010. Gives upper and lower bounds for implicit, constrained, and arbitrary-deadline tasksets (non-pre-emptive scheduling)