260 likes | 438 Views
Fixed Priority Servers Sporadic Server 5.6. Celia & Gati. Contents. Introduction Terminologies Replenishment rules Schedulability analysis Schedulability test Conclusion Questions. Introduction.
E N D
Fixed Priority Servers Sporadic Server 5.6 Celia & Gati
Contents • Introduction • Terminologies • Replenishment rules • Schedulability analysis • Schedulability test • Conclusion • Questions
Introduction • Sporadic server is one of the Fixed Priority Servers aimed at improving the responsiveness of aperiodic requests without violating the schedulability rules of periodic tasks.
Terminologies • Pexe priority level of the executing task • Ps priority level associated with SS • Active Pexe >= Ps • Idle Pexe < Ps • RT replenishment time at which SS will be replenished • RA replenishment amount to be added to the capacity at RT
Replenishment rules • RT is set as soon as SS becomes active and Cs > 0 • Let tA be such a time, RT = tA +Ts • RA is the amount to be done at RT and is computed when SS becomes idle or Cs = 0 • Let tI be such a time • RA is set equal to the capacity consumed in [tA,tI]
1 is a highest periodic task scheduled at t=0 SS is active at that moment and because Cs > 0, a replenishment time is set at RT1= t + Ts At t=1, 1 completes its execution, no aperiodic request, SS becomes idle. Example1: Medium-priority SS
Example1: Medium-priority SS • SS becomes active whenever 1 is running or there is aperiodic request. • The highest periodic task can interrupt the currently executing aperiodic request • But SS remains active allowing the performance of a single replenishment • SS becomes idle whenever there is a lower priority task currently executing or no aperiodic request
Server TS=10 CS =5 Periodic Ci Ti 1 1 5 2 4 15 1 2 AR SS active RA3=2 Cs RA2=2 5 RT3=18 RA1=0 RT2=14 1 RT1=10 0 2 4 8 10 14 18 20 22
Example 2: High-priority SS • SS has a highest priority among other tasks • SS can interrupt the currently executing task • If aperiodic request arrives when Cs = 0 • RT is set where Cs>0, say at time t • The next RT will be at t+Ts
SS has a highest priority Periodic Ci Ti 1 3 10 2 4 15 Server TS=8 CS =2 1 2 AR Cs RA2=2 2 RA1=2 1 RT1=10 0 RT3=18 2 4 8 10 12 18 20 22
Schedulability analysis of SS • Violates the basic assumptions for execution of periodic tasks • Replenishment rule compensates for any deferred execution; SS is treated as a normal periodic task with (Ts and Cs)
Theorem A schedulable periodic task set with a task i is also schedulable if iis replaced by SS with the same period and execution time. That is, if i is replaced by SS, Ti = Ts Ci = Cs
Proofs • Let tA be the time Cs is full • SS is active • tI be the time SS is idle • [tA,tI] is a continuous interval when SS is active
Behavior of the Server at [tA,tI] • No capacity is consumed • Server capacity is totally consumed • Server capacity is partially consumed
No capacity is consumed Case 1 • If no request arrive in [tA,tI] • SS preserves its capacity • No replenishment before tI +Ts • Cs units of aperiodic task can be executed in [tA,tI +Ts] • SS behaves like a periodic task s(Cs Ts) • Release is delayed from tA totI SS active Ts Cs t1+ Ts tA t1 Cs is not consumed
Cs is totally consumed Case 2 Ts SS active Cs tA+ Ts tA t1 • If Cs is totally consumed in [tA,tI] • Replenishment will occur at tA+Ts • SS behaves like periodic task with Ts , Cs and release at tA
SS active Cs Cs-CR tA+ Ts tA t1 Cs is partially consumed Case 3 • Let CR be the capacity consumed in [tA,tI] • Behavior of the server is equivalent to X and Y with TX=TY=Ts • and CX = Cs , Cy= CS-CR • X is released at tA • Y is delayed until tI Ts y X Note that the delay at Y has no schedulability effects
Since SS can be represented as periodic task, from processor utilization point of view Uss = Cs/Ts Any i withUi = Uss , SS can be replaced by i
Assumption SS is the highest priority task in the system SS can execute at most two times within the highest priority period Ts < Tn< 2Ts Parameters Cs= T1- Ts C1= T2- T1 C2= T3- T2 : Cn = Ts – Cs - = 2Ts – Tn Schedulability Test
BENEFITS • enhances the average response time of aperiodic requests without degrading the utilization bound of periodic tasks • creates high-priority task for servicing aperiodic request • preserves the server capacity at its high-priority level until an aperiodic request occurs • replenishes its capacity only after its has been consumed • provides a limited amount of computation time Cs for processing aperiodic request. • guarantees the deadlines of all other tasks in the system even under burst conditions
PITFALLS • schedulability analysis under SS is not simple • the server capacity can be fragmented in a lot of small pieces of different size • calculating the finishing time of aperiodic request requires to keep track of the replenishments that will occur until the deadline
Comparisons with other servers • DS replenishes as soon as server capacity is consumed • SS improves the worst-case response time of aperiodic request more than PS • DS is not equivalent to periodic task while SS acts as a normal periodic task • DS has a negative impact in the schedulability of lower priority tasks
THANK YOU! QUESTIONS ?