A Delay Composition theorem for Real-Time Pipelines
P. Jayachandran T. Abdelzaher
Presenter:Sina Meraji
Outline
Problem and our goal
Delay Composition theorem
Pipeline Reduction
Problem
We have: A set of tasks and a multistage
pipeline
Goal: Decide the schedulability of tasks in
the pipeline
Goal
bound the end-to-end delay of a job in a multistage pipeline as a function of the execution times of higher-priority jobs in the pipeline
Delay Composition
A job-additive component that is proportional to the sum of invocation execution times on a single stage
A stage-additive component that is proportional to the number of stages
Delay Composition
No assumptions on the scheduling policy
No assumption on periodicity of the task set
No assumption on whether different invocations of the same task have the same priority.
Delay Composition
Multi stage pipeline system
Equivalent single-stage system
Assumptions
Tasks arrive to the system and require execution on a set of resources
Consider individual task invocations in isolation (job)
All the jobs require processing on all the stages and in the same order
Assumptions N: number of stages
Ai,j: the arrival time of job Ji at stage j
Ai: arrival time of the job to the entire system
Di: end to end deadline of Ji
Assumptions
Ci,j: Stage Execution Time
Si,j: Stage Start Time
Fi,j: Stage Finish Time
J1: job whose delay is to be estimated
Assumptions
S: denote the set of all higher-priority jobs that have execution intervals in the pipeline between J1’s arrival and finish time (s include j1)
Ci,max1: largest stage execution time
Ci,max2: second largest stage execution times
Pipeline Delay Composition Theorem
the end-to-end delay of a job J1 in an N-stage pipeline
Example
Example
Six stage pipeline using EDF
Computation time of each task on each stage is 1
T1=9, T2=6
Solution
partition the end-to-end deadline of each task into per-stage deadlines
Per-stage deadline T1=1.5 T2=1
T2 has 0 slack it runs first T1 needs 2 time units per
stage
Apply Theorem
T1 can be preempted by at most 2 invocations of T2
S contain 2 invocations of T2 with the invocation of T1
Apply Theorem
A2>A1: Ceq2=2
A2<A1: Ceq2=1
A1: Ceq1=1
4
Apply Theorem
Second summation is equal to 5 because of 5 stages
Total delay: 4+5=9
Lower than 12 schedulable
Pipeline Reduction
Reduce the pipeline scheduling problem to an equivalent single stage
Swc: worst-case set of higher priority jobs that delay or preempt job J1
Sbef: jobs with Ai<=A1
Safter: jobs with Ai>A1
Pipeline Reduction
Pipeline Reduction replacing each pipeline job Ji in Sbef by an equivalent
single stage job (with the same priority and deadline) of execution time equal to Ci,max1
replacing each pipeline job Ji in Safter by an equivalent single stage job of execution time equal to Ci,max1 + Ci,max2
adding a lowest-priority job, J∗ e of execution time equal to
1
1, )(
N
jjii CMax
Example
Rate Monotonic Scheduling
There can be at most one invocation
of each higher-priority task Ti in set Sbef
Example
Example
Task (of lowest priority), with a computation time equal to:
Task , each has the same period and deadline as one Ti in original set and execution time
i
N
Jjiiie CCC
1
1,1max,
* )(max
*eT
*iT
2max,1max,*
iii CCC
Example According to Liu & layland bound:
Thanks