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
![Page 1: Mok & friends. Resource partition for real-time systems (RTAS 2001)](https://reader035.vdocuments.us/reader035/viewer/2022070403/568139f0550346895da1a7c2/html5/thumbnails/1.jpg)
Mok & friends. Resource partition for real-
time systems (RTAS 2001)
![Page 2: Mok & friends. Resource partition for real-time systems (RTAS 2001)](https://reader035.vdocuments.us/reader035/viewer/2022070403/568139f0550346895da1a7c2/html5/thumbnails/2.jpg)
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
![Page 3: Mok & friends. Resource partition for real-time systems (RTAS 2001)](https://reader035.vdocuments.us/reader035/viewer/2022070403/568139f0550346895da1a7c2/html5/thumbnails/3.jpg)
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)
![Page 4: Mok & friends. Resource partition for real-time systems (RTAS 2001)](https://reader035.vdocuments.us/reader035/viewer/2022070403/568139f0550346895da1a7c2/html5/thumbnails/4.jpg)
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
![Page 5: Mok & friends. Resource partition for real-time systems (RTAS 2001)](https://reader035.vdocuments.us/reader035/viewer/2022070403/568139f0550346895da1a7c2/html5/thumbnails/5.jpg)
Virtual time
t
Vi(t)
The ith task group is analyzed assuming a virtual processor of rate
Vi(t) = t (= 1)
Thus far...
![Page 6: Mok & friends. Resource partition for real-time systems (RTAS 2001)](https://reader035.vdocuments.us/reader035/viewer/2022070403/568139f0550346895da1a7c2/html5/thumbnails/6.jpg)
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) =
![Page 7: Mok & friends. Resource partition for real-time systems (RTAS 2001)](https://reader035.vdocuments.us/reader035/viewer/2022070403/568139f0550346895da1a7c2/html5/thumbnails/7.jpg)
Virtual time
t
Vi(t)
The ith task group is analyzed assuming a virtual processor of rate
The generalization...
Vi(t) = t
![Page 8: Mok & friends. Resource partition for real-time systems (RTAS 2001)](https://reader035.vdocuments.us/reader035/viewer/2022070403/568139f0550346895da1a7c2/html5/thumbnails/8.jpg)
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
![Page 9: Mok & friends. Resource partition for real-time systems (RTAS 2001)](https://reader035.vdocuments.us/reader035/viewer/2022070403/568139f0550346895da1a7c2/html5/thumbnails/9.jpg)
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!!
![Page 10: Mok & friends. Resource partition for real-time systems (RTAS 2001)](https://reader035.vdocuments.us/reader035/viewer/2022070403/568139f0550346895da1a7c2/html5/thumbnails/10.jpg)
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)
![Page 11: Mok & friends. Resource partition for real-time systems (RTAS 2001)](https://reader035.vdocuments.us/reader035/viewer/2022070403/568139f0550346895da1a7c2/html5/thumbnails/11.jpg)
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])
![Page 12: Mok & friends. Resource partition for real-time systems (RTAS 2001)](https://reader035.vdocuments.us/reader035/viewer/2022070403/568139f0550346895da1a7c2/html5/thumbnails/12.jpg)
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
![Page 13: Mok & friends. Resource partition for real-time systems (RTAS 2001)](https://reader035.vdocuments.us/reader035/viewer/2022070403/568139f0550346895da1a7c2/html5/thumbnails/13.jpg)
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)
![Page 14: Mok & friends. Resource partition for real-time systems (RTAS 2001)](https://reader035.vdocuments.us/reader035/viewer/2022070403/568139f0550346895da1a7c2/html5/thumbnails/14.jpg)
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
![Page 15: Mok & friends. Resource partition for real-time systems (RTAS 2001)](https://reader035.vdocuments.us/reader035/viewer/2022070403/568139f0550346895da1a7c2/html5/thumbnails/15.jpg)