mok & friends. resource partition for real-time systems (rtas 2001)
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
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
oT tasksall
o t )tdbf(T,
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
constant D
Virtual time
t
Vi(t)
The ith task group is analyzed assuming a virtual processor of rate
Vi(t) = t (= 1)
Thus far...
Virtual time
t
Vi(t)
The ith task group is analyzed assuming a virtual processor of rate
Just a slower processor...
Vi(t) = t (= 1)
Vi(t) =
Virtual time
t
Vi(t)
The ith task group is analyzed assuming a virtual processor of rate
The generalization...
Vi(t) = t
Virtual time
t
Vi(t)
The ith task group is analyzed assuming a virtual processor of rate
The generalization...
Vi(t) =
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 constant D
e’e
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
Not static-priority!!
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])
Static resource partitioning: virtual time
t
Vi(t)
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?
TheoremTheorem:: 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
TheoremTheorem:: Rate-monotonic/ deadline monotonic priority
assignment is optimal
CorollaryCorollary:: Static-priority feasibility assignment in pseudo-
polynomial time
(N simulations, where N is the number of slots in the partition
list)
Theorem:Theorem: A task group is feasible in a partition iff
for all positive to and t
)t()S(t )tdbf(T,T tasksall
oo St
Static resource partitioning: dynamic-pri scheduling
Theorem:Theorem: EDF is an optimal scheduling algorithm
Approach: Approach: facilitate the computation of rhs. Defineleast 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