Practical Schedulability Analysis for Generalized Sporadic Tasks in Distributed Real-Time Systems Yuanfang Zhang 1, Donald K. Krecker 2, Christopher Gill 1, Chenyang Lu 1, Gautam H. Thaker 2 1.Washington University, St. Louis, MO, USA 2.Lockheed Martin Advanced Technology Laboratories
Outline Motivation Generalized Sporadic Task Model Schedulability Test for independent generalized sporadic tasks Schedulability Test for end-to-end generalized sporadic tasks Generalized release guard synchronization protocol Simulations Conclusions
Motivation Offline schedulability analysis Periodic task: period Traditional sporadic task: minimum inter-arrival time Generalized sporadic Tasks Higher instantaneous arrival rate Lower average arrival rate Problem Overestimate the task’s time demand Pessimistic schedulability analysis
Generalized sporadic task model Traditional sporadic task T i (1, W i )limit, window Generalized sporadic task T i Introduce a greater limit Allow multiple pairs of limits and windows {(Z i,k, W i,k ) 1 ≤ k ≤ K(i)} Existing leaky bucket filter model ρ: token input rate σ: Bucket size
Leaky bucket vs. generalized sporadic task Generalized sporadic task K(i) = 3 {(1,2), (3, 10), (5, 18)} Leaky bucket model ρ =0.5 σ =1 Leaky bucket model greatly overestimates the workload
Time-Demand Analysis Maximum number of arrivals Maximum execution time demand Earliest arrival time The longest response time for Ti occurs during a level-i busy period if the arrivals of all tasks with equal or higher priority satisfy the maximum number of arrivals in that period
Schedulability Test for independent generalized sporadic tasks One example T 1 : a periodic task T 2 : a generalized sporadic task Arrival time constraintspriorityExec. timeDeadline T1T1 {(1,40)}11040 T2T2 {(1, 10), (2, 30), (3, 50)}2850
Schedulability Test for T 2 Compute an upper bound on the duration of a level-i busy period D 2 = min { t>0 | t = MNA 1 (t)*10 + MNA 2 (t)*8} = 26 Compute an upper bound on the number of instances T i in a level-i busy period of duration D i M 2 = MNA(D 2 ) = 2 For m=1 to M 2 Compute an upper bound on the completion time of the m th job of T i in a level-i busy period C 2 (1) = min{ t>0 | t = MNA 1 (t)*10+8} = 18, C 2 (2) = 26 Compute an upper bound on the response time of the m th job of T i in the busy period V 2 (1) = C 2 (1) – EAT i (1) = 18, V 2 (2) = 16 The maximum is the WCRT for T i W 2 = 18 Compare WCRT with D i W 2 < D 2, task 2 is schedulable.
Schedulability Test for end-to-end generalized sporadic tasks Generalized release guard g i,j for each non-initial subtask T i,j (j>1) At the initial time, set g i,j =0 When m-1 th job of T i,j is released at time r i,j (m-1), update g i,j =r i,j (m-1)+(r i,1 (m)-r i,1 (m-1)) Update g i,j to the current time if the current time is a processor idle point on the processor where T i,j executes An upper bound W i to the end-to-end response time of any generalized sporadic task T i in a fixed-priority system synchronized according to the generalized release guard protocol is the sum of the upper bounds of WCRTs for all its subtasks
Simple Example 1 periodic task Task 1 period 40, highest priority 2 sporadic tasks Task 2 Time constrains {(1, 10), (2, 30), (3, 50)}, 2nd highest priority Task 3 Time constrains{(1, 30), (2, 80)}, lowest priority TiTi T i,j Exec timePhasePiPi T1T1 T 1,1 100P1P1 T2T2 T 2,1 80P1P1 T 2,2 50P2P2 T3T3 T 3,1 1518P2
Schedule with RG T 1,1 T 2,1 T 2,2 T 3,1 Release time Sync signal RG 63 P1 P2 Idle point
End-to-end WCRTs WCRT in the above schedule T 1 is 10 T 2 is 23 T 3 is 25 WCRT bounded by our generalized sporadic task analysis T 1 is 10 T 2 is 23 T 3 is 25 Since they are matching, WCRT bounds calculated by our analysis are true WCRTs.
Simulations 4 end-to-end periodic tasks Allocated to 3 processors (execution time) T1T1 T2T2 T3T3 T4T4 Period Deadline Priority 4123 T 1,1 T 1,2 T 1,3 T 2,1 T 2,2 T 2,3 T 3,1 T 3,2 T 3,3 T 4,1 P P P
Sporadic Task Periodic task T 3 (for example T 3,1 on P 1 ) Make T 3 jittery (1-x/100)*162 Arrival constrains {(1, 113), (2, 324)} Arrival constrains {(1, 65), (2, 324)} X=30 X=
When T 3 is allowed 30 percent jitter PT/RG Minimum inter-arrival time analysis ST/RG Generalized sporadic task analysis ST/RG outperforms PT/RG on WCRT bound for T 1
WCRT bounds for T 1 and T 3 in PT/RG are infinite When T 3 is allowed 60 percent jitter
When T 3 jitter increases When the jitter percentage reaches 37.5, the WCRT bound for T 1 is infinite when PT/RG is used. The WCRT bounds for T 1 are under 600 when ST/RG is used The miss ratios that are calculated by PT/RG reach 75% The miss ratios that are calculated by ST/RG are always 0
Representative Example Military shipboard computing 15 end-to-end periodic tasks on 50 processors T 10 becomes a generalized sporadic task Highest priority Share processors with other 12 tasks Original period 200
The WCRT bounds for 6 tasks in PT/RG are infinite Arrival time constraints {(1, 50), (2, 400)
Comparisons under different scenarios T 10 jitter increases Limit in the first window increases Number of time constraints for T 10 increases Number of sporadic tasks increases
Conclusions Generalized sporadic task model characterizes arrival time more precisely Our schedulability analysis tightens the bounds on worst case response time Our schedulability analysis more effectively guarantee schedulability when arrival time jitter increases