200 likes | 342 Views
Scheduling Aperiodic Requests Under the Rate-based Execution Model. Steve Goddard and Xin Liu Department of Computer Science & Engineering University of Nebraska-Lincoln {goddard,lxin}@cse.unl.edu. What’s in a Mixed/Open System. Multiple applications share the processor
E N D
Scheduling Aperiodic Requests Under the Rate-based Execution Model Steve Goddard and Xin Liu Department of Computer Science & Engineering University of Nebraska-Lincoln {goddard,lxin}@cse.unl.edu
What’s in a Mixed/Open System • Multiple applications share the processor • Real-time applications have predictable release patterns and time constraints • Non-real-time applications have no release pattern • Some non-real-time applications (telnet) are more significant than others (ftp) Signal Processing Embeded system User’s Control Video Sream PC system Telnet Request FTP Request
Supporting Aperiodic Requests in Real-time Systems • Different goals of “time-sharing” • Real-time tasks: time constraints • Aperiodic requests: user interaction, throughput and fairness • Conventional methods create one(several) aperiodic server(s) processing aperiodic requests • TBS, CBS, GRUB
Supporting Aperiodic Requests in Real-time Systems (Con’t) • Conventional methods sequencently schedule aperiodic requests, not awared of the significance difference among aperiodic requests • Rate-Based Execution model aims at multimedia applications (usually open systems). • RBE model has no mechanism to handle aperiodic requests
Di(j)={ tij+di if 1 j xi max(tij+di,Di(j-xi)+yi) if j > xi Rate-Based Execution • The RBE model schedules tasks at average rate at which they are expected to be invoked. • A RBE task is parameterized by a 4-tuple (xi , yi , ci , di). • Deadline assignment
Rate-Based Execution J1 J8 J2 J9 J3 J4 J5 J6 J7 0 2 4 6 8 10 12 14 16 18 20 22 24 • Task with rate specification (x = 1,y = 2, d = 6)
Modeling Aperiodic Requests • A non-real-time task is assigned a weight to indicate its significance related to other non-real-time tasks • Non-real-time tasks share the processor in proportion to their weights • In most time-sharing systems, the execution is decomposed into a sequence of time slices
Variable-rate RBE Tasks • The sequence of time slices is mapped into a RBE task, ( 1 , yi(t) , qi , di(t) ),di(t)=yi(t) • qi and yi(t) determine the execution rate • yi(t) is variable, determined by the system workload, W(t)=∑wj at time t
J2 J3 J4 J5 0 2 4 6 8 10 12 14 16 18 20 22 24 Example:Variable-rate • Workload increases at time 6: (1,3,q,3) -> (1,6,q,6) • Workload reduces at time 16: (1,6,q,6) -> (1,3,q,3) J1
0 2 4 6 8 10 12 14 16 18 20 22 24 Example: Variable-deadline • Aperiodic request A3 joins at time 8 T1 A2
0 2 4 6 8 10 12 14 16 18 20 22 24 Example: Variable-deadline T1 A2 A3
0 2 4 6 8 10 12 14 16 18 20 22 24 Example: Variable-deadline • Aperiodic request A3 leaves at time 14 T1 A2 A3
0 2 4 6 8 10 12 14 16 18 20 22 24 Example: Variable-deadline T1 A2
Feasibility under Preemptive Scheduling • Feasibility conditions of RBE tasks with rate specifications (xi ,yi ,ci ,di ) and aperiodic tasks:
Fairness • Proportinal-share can be achived at the deadline points since all tasks made their deadlines. • Lag, a criterion for fairness , is defined as the difference of received time between the actual system and an ideal proportional system • The lag of aperiodic requests is bounded as follows
Discussion • The ratio between any two aperiodic requests is constant • Virtual time v.S. Real time • Aperiodic requests dominate: virtual time • Real-time tasks dominate: real time
Comparison • Conventional server method ( TBS, CBS and GRUB ) • Preset several constant bandwidth servers processing aperiodic requests • Aperiodic requests are scheduled by FCFS within an aperiodic server • Variable-rate RBE task • Associate each aperiodic request a variable execution rate • Significant aperiodic requests are assigned fast rates
Summary • Aperiodic requests are well supported by variable-rate RBE tasks • The variable-rate RBE model generalize the server methods(constant rate). • Variable-rate RBE model is easy to reconfigurate when system workload changes
“virtual time” in GRUB • GRUB associates each aperiodic server a virtual time variable. System time in GRUB is still maintained in real-time • The virtual time variables are used to measure the progress of an aperiodic server • vtime > rtimeserver progresses faster than expected • vtime < rtimeserver progresses slower than expected
Canonical virtual time • Virtual time is essentially the integretion of standart workload over current workload along the real time dimension. • System time is maintained in virtual time to cancel the effect of workload change