150 likes | 329 Views
Mok & friends. Resource partition for real-time systems (RTAS 2001). Feasibility analysis: the processor demand criterion methodology. dbf ( T , t ) : the maximum execution requirement by jobs of task T over any interval of length t Feasibility F or all t o.
E N D
Mok & friends. Resource partition for real-time systems (RTAS 2001)
Feasibility analysis: the processor demand criterion methodology dbf(T,t): the maximum execution requirement by jobs of task T over any interval of length t Feasibility For all to yes system is feasible no system is infeasible
Open systems • Share one processor among many applications • Develop each application in isolation • a task group = {T1,, T2, ..., Tn}; Ti = (ci, di, pi) a sporadic task • assume, executes on a virtual processor • Two-level scheduler • top (“second”) level -- chooses which application to execute • application level -- schedules each application (task group)
Real-time virtual resources • Earlier models -- the resource (processor) is available at a uniform rate • Not valid when open systems are being designed • The abstraction introduced in this paper • processor is available at a uniform rate in the virtual-time domain • If events e and e’ occur x time units apart in the virtual-time domain, then they occur at most (x + D) time units apart in the real-time domain for some constantD
Vi(t) = t (= 1) Vi(t) t Virtual time The ith task group is analyzed assuming a virtual processor of rate Thus far...
Vi(t) = t (= 1) Vi(t) = Vi(t) t Virtual time The ith task group is analyzed assuming a virtual processor of rate Just a slower processor...
Vi(t) = t Vi(t) t Virtual time The ith task group is analyzed assuming a virtual processor of rate The generalization...
Vi(t) e’ e t Virtual time The ith task group is analyzed assuming a virtual processor of rate • Real-time virtual resources: If events e and e’ occur x time units apart in the virtual-time domain, then they occur at most (x + D) time units apart in the real-time domain for some constantD The generalization... Vi(t) =
Not static-priority!! System model • Periodic task T = (c,d,p) • A task group = {T1, T2,...,Tn}, Ti = (ci, di, pi) • The processor is partitioned into real-time virtual processors, and each task group executes on its own virtual processor • How to partition the processor? • [Sec 2] The static resource partition model • [Sec 3] The bounded-delay resource partition model
How to partition the processor? • The static resource partition model • partition specified by a look-up table (a list) (like table-driven scheduling) • E.g. {(1,2), (4,6), (7,8), (10,12), ....} • The bounded-delay resource partition model • partition specified by • utilization, and • delay bound (the D parameter in the definition of real-time virtual resources)
Static resource partitioning: definitions • A resource partition = (, P) • P is the partition period • = {(S1, E1), (S2, E2), ..., (SN, EN)} is the partition list with 0 S1<E1 <S2 < E2 < ... < SN < EN P • The resource is available during time-slots [Si, Ei) • The intervals [Ei, Si+1) are called blocking times slots • Availability factor of resource partition • () = [(E1 - S1) + (E2 - S2) + ... + (EN - SN)]/P • Supply function S(t)of resource partition is the total amount of execution that is available to over [0,t) • (formula? properties[p7])
Vi(t) t Static resource partitioning: virtual time The ith task group is analyzed assuming a virtual processor of rate Executing at rate 1, or not executing at all
Static resource partitioning: fixed-pri scheduling • Identify critical instance of job arrivals • An idea -- start of largest blocking time slot? • Theorem: A fixed priority assignment on a task group with deadlines periods meets all deadlines iff it meets the first deadline of each task when a job of each task arrives at the start of blocking time slot [Ei, Si+1), for all blocking time slots • Theorem:Rate-monotonic/ deadline monotonic priority assignment is optimal • Corollary: Static-priority feasibility assignment in pseudo-polynomial time • (N simulations, where N is the number of slots in the partition list)
Theorem: A task group is feasible in a partition iff • for all positive to and t Static resource partitioning: dynamic-pri scheduling • Theorem: EDF is an optimal scheduling algorithm • Approach: facilitate the computation of rhs. Define • least supply function [S*(t)] (analogous to dbf) and • critical partition [*] • contains (N N) time slots in its partition lists • represents (perhaps not achievable in static-pri) worst-case behaviour