15
Mok & friends. Resource partition for real-time systems (RTAS 2001)

Mok & friends. Resource partition for real-time systems (RTAS 2001)

  • Upload
    meli

  • View
    30

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: Mok & friends.   Resource partition for real-time systems  (RTAS 2001)

Mok & friends. Resource partition for real-

time systems (RTAS 2001)

Page 2: 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

Page 3: Mok & friends.   Resource partition for real-time systems  (RTAS 2001)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)