A Theory of Rate-Based Execution A Theory of Rate-Based Execution Kevin Jeffay Steve Goddard Department of Computer Science Department of Computer Science Computer Science & Engineering Computer Science & Engineering University of North Carolina University of North Carolina University of Nebraska Ð Lincoln University of Nebraska Ð Lincoln at Chapel Hill at Chapel Hill goddard@ @cse cse. .unl unl. .edu edu goddard jeffay@cs cs. .unc unc. .edu edu jeffay@ http://www.cs.unc.edu/Research/Dirt/ 1 1 A Theory of Rate-Based Execution A Theory of Rate-Based Execution WhatÕs wrong with the Liu & Layland Layland model? model? WhatÕs wrong with the Liu & ¥ Loosely speaking, Loosely speaking, ¥ nothing is periodic or nothing is periodic or sporadic in a sporadic in a distributed system distributed system Network Display ¥ The essential problem The essential problem Reception ¥ seems to be the seems to be the requirement that the requirement that the arrival process be arrival process be Acquire somehow constrained somehow constrained Display Display Initiation Time 2 2
A Theory of Rate-Based Execution A Theory of Rate-Based Execution Goals Goals ¥ Extend the Liu and Extend the Liu and Layland Layland theory of real-time theory of real-time ¥ processor scheduling to: processor scheduling to: ÐSupport notions of execution rate that are Support notions of execution rate that are Ð more general than periodic or sporadic more general than periodic or sporadic execution execution ÐSupport integrated real-time device and Support integrated real-time device and Ð application processing application processing ÐSupport responsive non-real-time computing Support responsive non-real-time computing Ð 3 3 Rate-Based Execution Rate-Based Execution Concept Concept ¥ Schedule tasks at the Schedule tasks at the average average rate rate at which they are at which they are ¥ expected to be invoked expected to be invoked Ð Make buffering a first-class concept in the model Make buffering a first-class concept in the model Ð Ð Ð Understand the fundamental relationships between Understand the fundamental relationships between feasibility, response time, and processing rate feasibility, response time, and processing rate ¥ Develop a model of tasks wherein: Develop a model of tasks wherein: ¥ Ð Tasks complete execution before a well-defined deadline Tasks complete execution before a well-defined deadline Ð Ð Ð Tasks make progress at application-specified rates Tasks make progress at application-specified rates Ð Ð No constraints are placed on the external environment No constraints are placed on the external environment 4 4
Rate-Based Execution Rate-Based Execution Formal model Formal model ¥ Process make progress at the rate of processing Process make progress at the rate of processing ¥ x events every events every y y time units, each event is time units, each event is x processed within d d time units time units processed within ¥ For task For task i i with rate specification ( with rate specification ( x x i , y y i , d d i ), the ¥ i , i , i ), the th event for task j th j event for task i i , arriving at time , arriving at time t t i ,j , will be , will be i,j processed by time processed by time t i,j + d i if 1 ≤ j ≤ x i D ( i , j ) = MAX( t i,j + d i , D ( i , j Ð x i )+ y i ) if j > x i Ð Deadlines occur at least Deadlines occur at least d d time units after a job is time units after a job is Ð released released Ð Deadlines separated by at least Deadlines separated by at least y y time units time units Ð 5 5 Rate-Based Execution Rate-Based Execution Example: Periodic arrivals, periodic service Example: Periodic arrivals, periodic service J 1 J 2 J 3 J 4 J 5 J 6 J 7 J 8 J 9 J 10 J 11 J 12 0 2 4 6 8 10 12 14 16 18 20 22 24 ¥ Task with rate specification ( Task with rate specification ( x x = 1 = 1, , y y = 2 = 2, , d d = 2 = 2) ) ¥ t i,j + d i if 1 ≤ j ≤ x i D ( i , j ) = MAX( t i,j + d i , D ( i , j Ð x i )+ y i ) if j > x i 6 6
Rate-Based Execution Rate-Based Execution Bursty arrivals Bursty arrivals J 1 J 8 J 2 J 9 J 3 J 4 J 5 J 6 J 7 0 2 4 6 8 10 12 14 16 18 20 22 24 26 ¥ Task with rate specification ( Task with rate specification ( x x = 1 = 1, , y y = 2 = 2, , d d = 6 = 6) ) ¥ 7 7 Rate-Based Execution Rate-Based Execution Bursty arrivals arrivals Bursty J 1 J 8 J 2 J 9 J 3 J 4 J 5 J 6 J 7 0 2 4 6 8 10 12 14 16 18 20 22 24 26 ¥ Task with rate specification ( Task with rate specification ( x x = 3 = 3, , y y = 6 = 6, , d d = 6 = 6) ) ¥ 8 8
Rate-Based Execution Rate-Based Execution Comparison of different rate specifications Comparison of different rate specifications J 1 Rate specification Rate specification J 2 J 3 ( x x = = 1 1, , y y = = 2 2, , d d = = 6 6) ) ( J 4 J 5 J 6 J 7 J 8 J 9 0 2 4 6 8 10 12 14 16 18 20 22 24 26 Rate specification J 1 J 2 ( x = 3, y = 6, d = 6) J 3 J 4 J 5 J 6 J 7 J 8 J 9 0 2 4 6 8 10 12 14 16 18 20 22 24 26 9 9 Using RBE Tasks Using RBE Tasks What problems do they solve? What problems do they solve? Acquire ¥ RBE tasks provide a RBE tasks provide a ¥ more natural way of more natural way of Display modeling inbound modeling inbound Display Initiation Time packet processing of packet processing of fragmented messages fragmented messages J 1 J 2 J 3 J 4 Rate specification J 5 ( x = 3, y = 6, d = 6) J 6 0 2 4 6 8 10 12 10 10
A Theory of Rate-Based Execution A Theory of Rate-Based Execution Feasibility under preemption constraints Feasibility under preemption constraints ¥ Feasibility conditions for periodic and sporadic Feasibility conditions for periodic and sporadic ¥ tasks, for all other known execution tasks, for all other known execution environments, also hold for RBE RBE tasks tasks environments, also hold for Ð Feasibility under non-preemptive scheduling Ð Feasibility under non-preemptive scheduling Ð Feasibility under scheduling with critical sections Feasibility under scheduling with critical sections Ð Ð Feasibility under scheduling with interrupt handlers Feasibility under scheduling with interrupt handlers Ð ¥ Thus feasibility is not inherently a function of ¥ Thus feasibility is not inherently a function of release times release times Ð Under deadline-driven scheduling, feasibility is a Ð Under deadline-driven scheduling, feasibility is a function of the implementation of a task set function of the implementation of a task set Ð Under static-priority scheduling, feasibility is a Under static-priority scheduling, feasibility is a Ð function of the behavior of the external environment function of the behavior of the external environment 11 11 Feasibility of RBE Tasks Feasibility of RBE Tasks Feasibility under preemptive scheduling Feasibility under preemptive scheduling T 1 T 2 T 3 0 L ¥ Feasibility conditions of Feasibility conditions of RBE RBE tasks with rate tasks with rate ¥ specifications ( x specifications ( x , , y y , , c c , , d d ) are precisely the same as ) are precisely the same as for periodic tasks for periodic tasks n ∀ L , L > 0: L ≥ Σ L Ð d i + y i x i c i y i i =1 12 12
A Theory of Rate-Based Execution A Theory of Rate-Based Execution On the relationship to periodic tasks On the relationship to periodic tasks J 1 J 2 T = ( x , y , d ) J 3 = (3, 6, 6) J 4 J 5 J 6 0 L ¥ But canÕt an RBE task be modeled as But canÕt an RBE task be modeled as x x instances instances ¥ of a periodic task (with some appropriate of a periodic task (with some appropriate precedence relationship between instances)? precedence relationship between instances)? 13 13 A Theory of Rate-Based Execution A Theory of Rate-Based Execution A corollary on static priority scheduling A corollary on static priority scheduling J 1 J 2 i L ≥ Σ L J 3 c j p j J 4 j =1 J 5 J 6 0 L ¥ Under a static priority scheduling scheme, the ¥ Under a static priority scheduling scheme, the processor demand in any interval can be unbounded processor demand in any interval can be unbounded Ð Thus event driven, rate-based execution is not possible Thus event driven, rate-based execution is not possible Ð under static priority scheduling schemes under static priority scheduling schemes 14 14
Recommend
More recommend