260 likes | 367 Views
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:
E N D
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
Assumption • 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 J1in an N-stage pipeline
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 • 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
Example • Rate Monotonic Scheduling • There can be at most one invocation of each higher-priority task Ti in set Sbef
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
Example • According to Liu & layland bound: