Beruflich Dokumente
Kultur Dokumente
AbstractEarliest Deadline First (EDF) is the most widely studied optimal dynamic scheduling algorithm for uniprocessor real-time
systems. For realistic programs, tasks must be allowed to exchange data and use other forms of resources that must be accessed
under mutual exclusion. With EDF scheduled systems, access to such resources is usually controlled by the use of Bakers Stack
Resource Protocol (SRP). In this paper we propose an alternative scheme based on deadline inheritance. Shared resources are
assigned a relative deadline equal to the minimum (floor) of the relative deadlines of all tasks that use the resource. On entry to the
resource a tasks current absolute deadline is subject to an immediately reduction to reflect the resources deadline floor. On exit the
original deadline for the task is restored. We show that the worst-case behaviour of the new protocol (termed DFPDeadline Floor
inheritance Protocol) is the same as SRP. Indeed it leads to the same blocking term in the scheduling analysis. We argue that the new
scheme is however more intuitive, removes the need to support preemption levels and we demonstrate that it can be implemented
more efficiently.
alternative scheme that implementors should evaluate in the parameter Ci ; where vji is the maximum number of
when supporting EDF in real-time operating systems or times any job from t i uses resource rj ).
languages. The set of tasks that may access resource rj is denoted by
In the remainder of this paper we first introduce a Arj . When a task has access to a resource, the resource is
system model in Section 2, resource sharing policies are said to be held, otherwise it is free.2 In contexts where there
reviewed in Section 3 and a review of scheduling analy- is only a single resource the symbol r (without a super-
sis is included in Section 4. DFP is defined, and its key script) will be used.
properties explored, in Section 5. Section 6 then The inclusion of shared resources in the system model
addresses the implementation of DFP. Conclusions are implies that tasks may suffer blocking, which must be taken
contained in Section 7. into account in the scheduling analysis.
According to the EDF scheduling algorithm, in the
absence of blocking, the job with the earliest absolute dead-
2 SYSTEM MODEL line has the highest priority and will be executed on the pro-
A hard real-time system comprises a set of n real-time tasks cessor. If more than one job has the same deadline then they
{t i ; t 2 ; . . . ; t n } executing on a uniprocessor, each task con- are scheduled in FIFO order; the one that has been in the
sists of a potentially unbounded stream of jobs which must system the longest time will execute first. At any time, a
be completed before their deadlines. Let t i indicate any released job with an earlier absolute deadline will preempt
given task of the system, and let ji indicate any given job of the execution of a job with a later absolute deadline. When a
t i . Each task can be periodic or sporadic. We initially job completes the system chooses, for execution, the oldest
assume that tasks do not suffer release jitter. The issue of pending (released) job with the earliest deadline.
release jitter is returned to in Section 5.8.
All jobs of a periodic task have a regular inter-arrival 3 RESOURCE SHARING POLICIES
time Ti , we call Ti the period of t i . If a job for a periodic task
arrives at time t, then the next job of t i must arrive at t Ti . There are a number of protocols existing for accessing
The jobs of a sporadic task arrive irregularly, but they shared resources under the EDF scheduling policy, for
have a minimum inter-arrival time also denoted as Ti , we example: Stack Resource Policy [3], [2], Dynamic Priority
again call Ti the period of t i . If a job of the sporadic task t i Ceiling [9], Dynamic Priority Inheritance (DPI) [20], and
arrives at time t, then the next job of t i can arrive at any Dynamic Deadline Modification (DDM) [11]. This last
time at or after t Ti . approach is closest to the one proposed in this paper as it
Each job of task t i requires up to the same worst-case also involves changing the deadlines of jobs that access
execution time which equals the tasks worst-case execution resources. A comparison of DDM and DFP is given later in
time Ci . Each job of t i has the same relative deadline which the paper (see Section 5.4).
equals the tasks relative deadline Di ; each Di could be less As indicated above, the SRP was proposed for accessing
than, equal to, or greater than Ti . These three cases being shared resources as a generalisation of the Priority Inheri-
referred to as constrained deadlines, implicit deadlines and tance Protocol (PIP) [18], the Priority Ceiling Protocol (PCP)
arbitrary deadlines. For arbitrary deadline tasks (and hence [18] and the Immediate Priority Ceiling Protocol (IPCP)
all tasks) it is assumed that no two jobs from the same task [12]. It has the advantage that it can be integrated into the
are ever active (i.e., executable) at the same time. For this EDF scheduling framework. Under PIP a task is blocked at
reason the term task will also be used to refer to the current the time when it attempts to enter a critical section, while
job from that task. under IPCP and SRP a task is blocked at the time when it is
The smallest relative deadline in the system is denoted released and attempts to preempt a lower priority task. This
by Dmin ; the largest by Dmax . If a job of t i arrives at time t, property of SRP reduces context switches and stack usage
the required worst-case execution time Ci must be com- (hence the name of the protocol).
pleted within Di time units, and the absolute deadline of As SRP is the most popular protocol to use with EDF we
this job (referred to by lower case di ) is t Di . The term now describe in more detail SRP for EDF-based systems.
deadline refers to an absolute deadline of some job in the An example of the use of the protocol is also provided.
system. Note that SRP, as introduced by Baker, is a more general
Let Ui denote the utilization of t i (i.e., Ui Ci =Ti ), and protocol that can deal with other forms of dispatching
define UPto be the total utilization of the task set, computed urgency and resources with alternative synchronisation
by U ni1 Ui . constraints. Here we are only concerned with its use for
Contained within the system are m shared resources EDF scheduled systems and resources requiring mutual
(r1 ; . . . ; rm ). Tasks may access (under mutual exclusion) exclusion synchronisation.
these resources, but we make no assumption as to when
each job accesses these shared resources during its execu- 3.1 The SRP Algorithm
tion. We do assume however that tasks do not self-sus- Under SRP each job ji of task t i is assigned a preemption
pend whilst accessing a resource. The worst-case level pt i . Under EDF scheduling, the preemption level of
execution time of task t i when using resource rj is denoted a job correlates inversely to its relative deadline, i.e.,
as Cij . Note that Cij 0 implies that the task does not pt i < pt j , Di > Dj .
access the resource. The worst case execution time for
each task includes the time it takesPexecuting with the 2. We do not use the terms locked and unlocked as actual operating
resources it accesses (so the quantity m j j
j1 vi Ci is included system locks are not necessary to ensure mutual exclusive access.
BURNS ET AL.: A DEADLINE-FLOOR INHERITANCE PROTOCOL FOR EDF SCHEDULED EMBEDDED REAL-TIME SYSTEMS WITH RESOURCE... 1243
enough (pt 1 > Pr) and its deadline is earlier than that of
t 3 (13 < 30) and t 2 (13 < 22).
The job of t 1 will execute from t 3 to, say, t 6 when it
completes. Now t 3 can resume execution. It will execute
until t 8 at which point it frees the resource and as a result
t 2 can preempt and continue its execution. At some point it
will access r but it is now guaranteed to be available. When
Fig. 1. Example of SRP.
the job of t 2 terminates, t 3 can continue. See Fig. 1 for a sim-
ple representation of the execution timeline of these three
Define r1 ; r2 ; . . . ; rm to be the non-preemptable shared jobs. Note the darker shared boxes represent the execution
resources in the system. Each resource, rj , is assigned a ceil- of a job while holding the resource.
ing preemption level denoted as Prj which is set equal to In this example execution, t 2 suffers blocking of dura-
the maximum preemption level of any job that may access tion 3 (i.e., this is the interval during which a task with a
^ denote the highest ceiling of all the resources which
it. Let p later deadline is executing). The worst-case occurs when
are held by some job at any time t, that is this task is released just after t 3 accesses the resource. In this
situation the blocking time would be 4.
^ maxfPrj k rj is held at time tg:
p
4 REVIEW OF EDF SCHEDULABILITY ANALYSIS
Baker [3], [2] showed that the Stack Resource Policy has the This section3 describes the previous research results on
following properties (expressed as a theorem). exact schedulability analysis for EDF scheduling with
Theorem 1 ([2], [3]). If no job ji is permitted to start execution arbitrary relative deadlines (i.e., D unrelated to T ). In
^ , then:
until pt i > p 1980, Leung and Merrill [13] noted that a set of periodic
tasks is schedulable if and only if all absolute deadlines
1) no job can be blocked after it starts; in the interval [0, maxfsi g 2H] are met, where si is the
2) there can be no transitive blocking or deadlock; start time of task t i , minfsi g 0 and H is the least com-
3) no job can be blocked for longer than the execution time mon multiple of the task periods. In 1990, Baruah et al.
of one outermost critical section of a lower priority job; [5] extended this condition for sporadic task systems,
4) if the oldest highest-priority (i.e., shortest deadline) job and showed that the task set is schedulable if and only
is blocked, it will become unblocked no later than the if: 8t > 0; ht t, where ht is the processor demand
first instant when the currently executing job is not function given by
holding any non-preemptable resource.
X
n
As a result of these properties, a job ji released at time t t Di
ht max 0; 1 Ci : (1)
can start execution only if: i1
Ti
the absolute deadline of this job (t Di ) is the earli-
est deadline of the active requests in the task set; and Using the above necessary and sufficient schedulability
the preemption level of ji is higher than the ceiling of test, the value of t can be bounded by a certain value, we
any resource that is held at the current time (i.e., refer to this value as the upper bound for task schedulability.
^ ).
pt i > p The following theorem introduces one of these upper
This two stage test is in contrast to the single test bounds (note the total utilisation of the task set has to be
required in DFP (see later discussions). strictly less than 1).
Theorem 2 ([23]). An arbitrary deadline task set with U < 1 is
3.2 Example Usage of SRP schedulable if and only if
Consider a three task (t 1 ; t 2 ; t 3 ), one resource (r) system,
defined in the table below. Note the Access Time in the 8t < La ; ht t;
table refers to the time each task takes in accessing the where
resource r (it is the duration of its critical section). Note t 1 Pn
Ti Di Ui
does not access the resource. The Arrival Time is when the La max D1 T1 ; . . . ; Dn Tn ; i1 : (2)
1U
current job of each task is released for execution.
As D1 < D2 < D3 , the preemption levels are related as
follows: pt 1 > pt 2 > pt 3 . Since only t 2 and t 3 access r, As the processor demand function can only change at the
the ceiling preemption level of this resource is given by absolute deadlines of the tasks, only the absolute deadlines
Pr pt 2 . require to be checked in the upper bounded interval.
Assume the job of t 3 arrives at t 0 and holds the In 1996, Spuri [19] and Ripoll et al. [15] derived
resource r at time t 1. The highest ceiling of a held another upper bound (Lb ) for the time interval which
resource at this time is now given by: p ^ Pr pt 2 . Let guarantees we can find an overflow (i.e., deadline miss) if
the job of t 2 be released at time, t 2 (while the resource is the task set is not schedulable. This interval is called the
still held). This job is not allowed to preempt t 3 as its pre- synchronous busy period (the length of the first processor
emption level is not high enough. At time t 3, t 1 is
released and does preempt t 3 as its preemption level is high 3. The review material presented in this paper is adapted from [25].
1244 IEEE TRANSACTIONS ON COMPUTERS, VOL. 64, NO. 5, MAY 2015
busy period when all tasks are released simultaneously at a result of the blocking that can occur in the interval up
the beginning of the period). However, Ripoll et al. [15] to Dmax [25]:
only considered the situation where Di Ti . The length
of the synchronous busy period can be computed by the
La max D1 T1 ; . . . ; Dn Tn ;
following process [19], [15]:
P (6)
X
n maxdi < Dmax fbdi g ni1 Ti Di Ui
:
w0 Ci ; (3) 1U
i1
In a given interval (e.g., between 0 and L), there can be a
n m
X very large number of absolute deadlines that need to be
w
wm1 Ci ; (4) checked. This level of computation has been a serious disin-
Ti
i1 centive to the adoption of EDF scheduling in practice. Fortu-
nately a much less computation-intensive test known as
the recurrence stops when wm1 wm , and then Lb wm1 . Quick convergence Processor-demand Analysis (QPA) [23]
Since the calculation of Lb has an iterative form, com- has recently been proposed. Extensive experiments [24]
pared with the low complexity (On) of the calculation of reported that the required volume of calculations needed to
La , we should avoid using Lb , whenever U 6 1. Moreover, perform an exact schedulability analysis can be exponen-
in extensive simulation studies [23], [24] it was nearly tially decreased by the use of QPA.
always the case that La < Lb .
5 DEFINITION OF THE DEADLINE FLOOR
4.1 Processor Demand Analysis for EDFSRP PROTOCOL
Baker [3], [2] provided a sufficient schedulability condition For ease of presentation we first define the Deadline
for EDFSRP; a system is schedulable if Floor inheritance Protocol for systems that do not have
! nested resource usage. This restriction is then removed
Xk
Ci Bk in Section 5.5.
8k1;...;n 1;
i1
Di Dk
5.1 Initial Definition of DFP
where Bk is the maximum blocking time of t k ; note for this Given an application defined by a set of tasks (t i ; t 2 ; . . . ; t n ),
equation the tasks are indexed according to their relative a set of resources (r1 ; r2 ; . . . ; rm ) and the task-resource access
deadline parameter. relation, A, the Deadline Floor Protocol is defined as
This sufficient test requires that Di Ti for all tasks, follows:
and it is utilization based; a set of experiments [24]
showed that nearly all task sets which are randomly gen- 1) Each resource, ri , has a relative deadline Di given by
erated cannot be accurately evaluated by such a test.
Hence, an exact schedulability analysis which is based Di minfDj : t j 2 Ari g:
on the processor demand analysis is needed by the
EDFSRP scheduling framework. 2) When a task t j released at time s accesses resource
Let bt be a function representing the maximum time ri at time t (so s < t) its active absolute deadline
a job jk with relative deadline Dk t may be blocked by is (potentially) reduced; that is dj minft
job ja with relative deadline Da > t in any given time Di ; s Dj g.
interval [0, t]. 3) When this task frees the resource its deadline
Spuri [19] showed that a condition for the schedulability immediately returns to its original value, that is
of a task set is that for any absolute deadline di in a synchro- dj s Dj .
nous busy period:
Note that a task accessing a resource close to its deadline
hdi bdi di : may not have its deadline reduced. For example, a task
released at time 42 with an absolute deadline of 84, that
accesses a resource with a deadline floor value of eight will
The definition of bt given by Baruah [4] is more intui-
have its deadline reduced to 60 if it accesses the resource at
tive. Let Ca;k denote the maximum length of time for which
time 52, but will stay with its deadline of 84 if it accesses the
task t a needs to hold some resource that may also be needed
resource at time 80.
by task t k . Then bt can be defined and calculated by
The static absolute deadline of a job released at time t is
termed the jobs base deadline. A task also has a dynamic
bt maxfCa;k k Da > t; Dk tg: (5) active deadline. When accessing a resource the tasks active
deadline may be reduced to reflect the resources relative
Note that if t is greater than the maximum relative dead- deadline floor. When no resources are held, the active dead-
line (i.e., t Dmax ) then the blocking term, bt, is zero. line of a job is the same as the base deadline. Tasks are
The maximum interval that must be considered for scheduled according to their active deadlines.
schedulability can again be derived from the minimum A comparison with the Immediate Priority Ceiling Proto-
of the two methods of obtaining the upper bound; i.e., col [12] for fixed priority scheduled systems shows that the
L minLb ; La where the La term has been modified as protocols are structurally equivalent. Under IPCP a resource
BURNS ET AL.: A DEADLINE-FLOOR INHERITANCE PROTOCOL FOR EDF SCHEDULED EMBEDDED REAL-TIME SYSTEMS WITH RESOURCE... 1245
5.2 An Example of the Use of DFP Lemma 3. When released for execution at most one resource
needed by the released task (t j ) will be held by another task
Before proving the significant properties of DFP, the exam- with a longer deadline than t j .
ple used earlier to illustrate SRP (see Table 1) will be re-
interpreted for DFP. Proof. Assume task t j is released at time t. Let a resource (r)
First the resource r must be given a deadline floor. It is be held by task t k with access time t0 and t0 < t. For a
used by t 2 and t 3 , so its relative deadline is given by second resource to be accessed by another task, t p ,
Dr min20; 30 20. At t 1, t3 (which was released at released at time t00 , it must preempt t k ; so t0 < t00 < t.
t 0) accesses r and as a result its active deadline is To preempt, dp t00 Dp < t0 Dr < t0 Dj < t
reduced from 30 to 21. At t 2, t 2 is released with dead- Dj dj . So any task that preempts another task that
line 22, it will not preempt as its deadline is later than t 3 s holds a resource needed by t j cannot have a deadline
current active deadline. Again at time t 3, t 1 is released greater than t j . This is a stronger property than that
with deadline 13, it will preempt (as 13 < 21). This job will required by the Lemma. u
t
execute until it completes at which point t 3 will continue It is now possible to state, in the form of a theorem, the
until it releases the resource; its active deadline will then basic property of DFP.
change from 21 to 30 and as a result t 2 will preempt (as
22 < 30). Theorem 3. When any task t i is released for execution at most
In this example, the same order of execution of the one other task with a base deadline greater than that of t i will
tasks occurs for DFP and SRP, however DFP only manipu- have an active deadline less than that of t i .
lates deadlines, SRP requires preemption levels as well. Proof. Follows from the proof of the previous Lemma. u
t
Under DFP, like SRP, t 2 suffers its blocking at its release
before it actually starts executing. Note however that, in Finally in this section we consider the number of pre-
general, the two protocols do not give rise to the same emptions required by DFP when compared with SRP. The
execution sequences. If the relative deadline of the first example at the end of the previous section showed that
task is changed to 18 (i.e., D1 18) rather than 10. The there are situations in which SRP will cause a preemption
execution sequence of SRP remains the same (as depicted (when a newly released job arrives for execution) whereas
in Fig. 1). But under DFP, t 1 will not preempt t 3 as its DFP does not. In the following we show that the inverse
deadline (21 3 18) is not strictly less that the current is not possible, and hence we can conclude that DFP will
inherited deadline of t 3 which is also 21. Nevertheless t 3 lead to less preemptions and therefore more efficient
will still complete before its deadline. implementation.
5.3 Initial Properties of DFP Lemma 4. If under DFP a newly released job preempts the cur-
rently executing job, then SRP would also result in preemption.
First we show that the protocol itself ensures mutual exclu-
sive access to any resource. And that a task/job is never Proof. If no resource is in use the Lemma is obviously true.
blocked once it starts executing. Therefore, assume task t a , released at time f, accesses
resource r (with deadline ceiling Dr , so Dr Da ) at time
Lemma 1. Whilst accessing a resource, a task cannot be pre-
t. Its deadline is reduced to t Dr (if its deadline is not
empted by any other task that could access the same resource.
reduced the Lemma is again obviously true), so
Proof. Assume task t j accesses resource r (with deadline t Dr < f Da .
ceiling Dr ) at time t. Assume, to construct a contradic- As time s (s > t) let t b be released. Assume under
tion, that task t k preempts t j (either directly or preempts DFP t b preempts t a . It follows that s Db < t Dr .
some other task that has preempted t j etc.) at time t0 and Hence s Db < f Da , and so Db < Da .
then attempts to access r. Under SRP, the system preemption level at time s is
To preempt, dk < dj and t0 > t. At t0 , t j holds r and given by p ^ Pr pt a . If preemption levels are
hence dj t Dr . If t k 2 Ar then Dr Dk . Hence assigned in inverse relative deadline order then
1246 IEEE TRANSACTIONS ON COMPUTERS, VOL. 64, NO. 5, MAY 2015
^ and the
pt b > pt a . If Pr pt a then pt b > p 2) When a task t j accesses resource ri at time t its active
rules of SRP will lead to preemption. If Pr > pt a absolute deadline is (potentially) reduced; that is
then there must exist another task, t x with relative dead- dj minft Di ; dj g. Its current deadline (before
line Dx < Da that accesses the resource, r. If DFP gives being reduced) is held in the variable dij .
preemption then s Db < t Dx ; it follows that 3) When this task frees the resource its deadline imme-
Pr pt x , and pt b > pt x and again the precondi- diately returns to its previous value, that is dj dij .
tions for preemption are true . u
t An OS implementation could store the dij values as part
of the resource or on a per-task, or system-wide single, stack
5.4 Comparing DFP and DDM (of maximum size equal to the depth of the resource nest-
Having introduced DFP it is now possible to compare it ing, see Section 5.9).
with the protocol (DDM) introduced by Jeffay in 1992 [11].
The formulation of DDM is very different, but the effect for 5.6 Further Properties of DFP
non-nested resources is similar. Under DDM a job is split First we note that Lemmas 1 and 2 hold for the extended defi-
into a number of phases. Each phase involves the use of at nition of the protocol. Lemma 3 needs to be reformulated.
most one resource. For each phase a phase-specific deadline Where resource usage is nested we introduce, following
is computed based on the shortest deadline of all the other Baker, the term outermost resource to indicate the one that is
jobs that use that phases resource. In effect this means that called directly by the task (not via another resource, or while
a deadline floor value is computed for each resource. Under the task is holding another resource). Note the execution
DDM each phase of a job has a distinct deadline, under DFP time within an outermost resource includes the time spent
each resource access has a distinct deadline. In modeling executing within the inner resources.
terms these are equivalent; but in terms of practice, DFP
by its association of a deadline with the resource, provides Lemma 5. When released for execution at most one outermost
an easy implementation scheme (see later discussion) and resource needed by the released task (t j ) will be held by another
allows complex program structures to be accommodated. task with a longer deadline than t j .
For example, branching structures where each branch Proof. Assume task t j is released at time t. Let an outermost
accesses a different resource. More significantly, DFP is resource (ro ) be held by task t k with access time t0 with
defined to work with nested resource accesses (see next sec- t0 < t. For a further resource to be accessed by another
tion), DDM does not support phases within phases. Also task, t p , released at time t00 , t p must preempt t k ; so
the treatment of DFP in this paper: t0 < t00 < t.
To preempt, dp t00 Dp < t0 Do < t0 Dj < t
Uses a different formulation and proof structure; one
Dj dj . So any task that preempts another task that
that is arguably more straightforward to follow (the
holds an outermost resource needed by t j cannot have a
paper on DDM [11] does not include full details of
deadline greater than t j . This is sufficient to prove the
the proofs for multiple phased tasks).
Lemma. u
t
Shows an equivalence between DFP and the optimal
SRP. Next we show the protocol leads to behaviour that is free
Shows how to compute the optimal blocking term of transitive blocking and deadlocks.
for schedulability analysis. Lemma 6. The DFP protocol is free from transitive blocking and
Shows how the protocol can be extended to accom- deadlocks.
modate release jitter.
Shows how the protocol can be implemented. Proof. In order to get transitive blocking or deadlock it must
be the case that a task gains access to a resource and then
5.5 Nested Resource Usage attempts to access another resource but that resource is
held by another task. Lemmas 2 and 5 shows that this sit-
In a general system, resources can make use of other resour-
uation cannot occur . u
t
ces and hence nested relationships are possible. This could
lead to transient blocking and even deadlocks. Here we The final property to note concerns a bound on the
show that DFP, like SRP, prevents these conditions from blocking suffered by the most urgent task. The most
arising. To achieve these useful properties, however, resour- urgent job is the one with the shortest deadline. If two or
ces must be used in a strictly nested way. So, for resources A more jobs share the same deadline then the one that was
and B: released first is the most urgent; it is termed the oldest ear-
liest deadline job. If two jobs also share the same arrival
access(A) access(B) ... release(B) release(A)
time then a simple static tie-breaker (such as task index)
is acceptable, but is used to define the oldest task.
access(A) access(B) ... release(A) release(B) Lemma 7. If the oldest earliest deadline job is blocked, it will
is not. become unblocked no later than the first instant when the cur-
To cater for nested resource usage the definition of the rently executing job is not holding any resource.
protocol must be modified slightly.
Proof. Assume task t j is released at time t. It is blocked
1) i i
Each resource, r , has a relative deadline D given by by task t k as t k is holding an outermost resource ro
that it accessed at time t0 . So, t0 < t, dj < t0 Dk , but
Di minfDj : t j 2 Ari g: dj > t0 Do (as t k is blocking t j ). Task t k may be
BURNS ET AL.: A DEADLINE-FLOOR INHERITANCE PROTOCOL FOR EDF SCHEDULED EMBEDDED REAL-TIME SYSTEMS WITH RESOURCE... 1247
Now hDr hdmiss so where the max is taken over all tasks and all resources.
Theorem 5. The following condition is sufficient for guarantee-
hDr B > Dr :
ing that all deadlines are met under EDFDFP:
which implies a deadline miss at Dr and provides the
contradiction. X
n
t Di
8t > 0 : bt max 0; 1 Ci t; (8)
Case 2. To bring the deadline miss even earlier, the i1
Ti
resource must be accessed earlier. This can only happen
if t j is preempted by a shorter deadline task (t k ) after it where bt is computed by equation (7).
has accessed the resource (after a). In Case 2 we assume
Proof. Follows directly from above. u
t
a single preempting job from task t k (see Fig. 3 for an
illustration of this possibility in which t k is released at It is now possible to show that the blocking term for
time f with f > a). EDFDFP is the same as that for EDFSRP. The protocols
If the releases of t j and t k are now postponed (moved are therefore equivalent from the point of view of their
to the right in the figure) by the amount (Dr dmiss ), worst-case blocking.
which can occur as Dr dmiss a, then the initial proces- Theorem 6. The worst-case processor demand for EDFDFP is
sor demand at time dmiss will be moved to time Dr . More- the same as that computed by EDFSRP.
over there will also be the additional demand coming
from the (partial) executions of t j and t k moving beyond Proof. Recall the definition of the blocking term for SRP
time 0: this is equal to the duration of the release post- given in Section 4.1 (equation (5)).
ponements (Dr dmiss ). It follows that
bSRP t maxfCa;k kDa > t; Dk tg;
hD bD hdmiss bdmiss D dmiss ;
r r r
where Ca;k denote the maximum length of time for which
but as there is a deadline miss at dmiss , so task t a needs to hold some resource that may also be
needed by task t k (with Dk t).
hdmiss bdmiss > dmiss ; For DFP the blocking term (using the same task
names) is
hence
hDr bDr > dmiss Dr dmiss ; bDFP t max Car
Da > t; Dr t :
implying
If in bSRP t task t k may access a resource, r, then the
hDr bDr > Dr ; deadline floor of this resource (Dr ) must have the prop-
erty: Dr Dk t. And hence bDFP t would also con-
which implies a deadline miss at Dr and provides the
tain this term and Car Ca;k . Similarly if a resource is
contradiction.
contained in the bDFP t term then there will be a corre-
Case 3. Finally we now consider a number of jobs from
sponding task in bSRP t. This completes the proof. u
t
any number of tasks interfering with t j before time 0
while it has hold of the resource. By the same argument Note that the above shows that the two protocols (DFP
used in Case 2 if all the job executions before time 0 are and SRP) are equivalent in terms of their worst-case block-
postponed by (Dr dmiss ) then the deadline miss at dmiss ing; but they are not identical. They can give rise to different
will move to a deadline miss at Dr . execution sequences at run-time as illustrated by the
This completes the proof. u
t extended example in Section 5.2.
BURNS ET AL.: A DEADLINE-FLOOR INHERITANCE PROTOCOL FOR EDF SCHEDULED EMBEDDED REAL-TIME SYSTEMS WITH RESOURCE... 1249
Di minfDj Jj : t j 2 Ari g:
Fig. 4. Jitter example. All results given earlier for DFP are easily reasserted for this
extended definition. Note that SRP must also be modified to
cater for jitter; preemption levels must be assigned accord-
5.8 Adding Release Jitter to the Model
ing to each tasks D J value.
If a task should theoretically be released for execution at It must be emphasised that ignoring release jitter, which
time t, but is not actually released for execution until a later for fixed priority scheduling can undermine schedulability,
time s, then the task is said to suffer release jitter of, in this can with DFP also lead to mutual exclusion being broken
case, s t. Consider a periodic task with period 9 that is unless a run-time check is made. As all implementations
implemented on a RTOS that has a clock which only ticks in have some jitter over the implementation of the clock it is
even time. Starting at time 0 the task will be released at 0 important that a jitter term is included in all calculations
but its next release will be at 10, not 9. The subsequent that are used to give the deadline floor values for any
release will then be 18 (followed by 28 etc.). The task has a shared resource.
release jitter of 1. In general, the maximum release jitter of
task t i is denoted by the symbol Ji . 5.9 Implementation Issues for Programming
For DFP, release jitter has the potential to undermine the Languages and RTOSs
safety of the protocol. Under the usual definition of EDF, a
To implement EDF scheduling, the associated language
task that should be released at time t (but is actually
run-time support system or RTOS must keep a ready
released later at time s) is given the absolute deadline of
queue, ordered by absolute deadline, of all the runnable
t D (not s D). Consider a simple example of a two task
tasks. When a task is released for execution (for example
system, where the tasks share a single resource. The first
when a delay statement expires) its absolute deadline
task (t 1 ) has period 10, deadline 10, computation time 5 and
must be computed and the task is then inserted at the
jitter 4. The second task (t 2 ) has period 22, deadline 20, com-
appropriate place in the ready queue. The task at the head
putation time 5 but no jitter. The shared resource therefore
of the queue has the earliest deadline and is therefore cho-
has a deadline floor of 10. At time 20 t 1 should be released,
sen for execution.
it will have deadline 30 and will clearly run in preference to
To extend this implementation scheme to incorporate
t 2 which, when released at time 22, will have deadline 42.
DFP is straightforward. Each resource access requires a pre
However if the release of t 1 is delayed by four ticks the fol-
and post protocol that manipulates the deadline of the cli-
lowing might occur.
ent task. The primitive to change the tasks deadline is
Task t 2 is released at time 22 and begins its execution. already present in the RTOS (if it supports EDF at all). On
At time 23 t 2 accessed the shared resource and its exiting a resource the post protocol must return the tasks
deadline is reduced to 33. deadline to the value stored during the pre protocol. This
At time 24 t 1 is released with deadline 30 (not 34) simple scheme clearly deals with nested resource usage as
and hence preempts t 2 . long as the relationship between the resources is one of
At time 25 t 1 accessed the shared resource; breaking strict nesting. The following gives pseudo code (using
mutual exclusion. Ada) that would need to be executed in the RTOS kernel
for these pre and post protocols:
This is illustrated in Fig. 4. Fortunately this potential prob-
lem is easily nullified by a simple modification to the pre protocol:
protocol. D := Get_Deadline; read the absolute deadline
The key property of DFP as given in Lemma 1 is that of the task
once a task is running it cannot be preempted by any other New_Deadline := Clock + Deadline_Floor;
task that might use the same shared resources. DFP achieves if New_Deadline < D then
this by giving the running task (when it accesses a resource) Set_Deadline(New_Deadline);
a deadline shorter than any such task. With release jitter set new absolute deadline
this can be undermined. The deadline floor value needs to end if;
reflect the real relative deadlines of any user task that expe- code for accessing the resource
riences release jitter.
Consider again the example. Task t 1 is released at time 24 post protocol:
and has a deadline of 30. In practice its relative deadline is Set_Deadline(D); re-set old absolute deadline
really 6 (not 10). Hence the deadline floor value for the The constant Deadline_Floor holds the deadline floor
shared resources should be 6. Now when t 2 accesses the value for the resource (it would be initialised at the begin-
resources at time 23 its deadline will be reduced to 29. So ning of the program). The subprograms Get_Deadline,
when t 1 is released for execution at time 24 and is given a Clock and Set_ Deadline deliver the behaviours implied
deadline of 30 it will not preempt. by their names.
1250 IEEE TRANSACTIONS ON COMPUTERS, VOL. 64, NO. 5, MAY 2015
The overheads of the protocols are simply the cost of MaRTE OS supports many advanced real-time fea-
reading the local real-time clock plus the cost of two dead- tures not present in the POSIX standard. In particular, it
line changes to the executing task. Note the first deadline implements the EDF scheduling policy along with the
change, as it is to the executing task and is a deadline reduc- Stack Resource Protocol.
tion, cannot lead to a context switch. Only the re-setting of In this section we describe two implementations of
the old deadline could result in a task switch (if a more EDFDFP and one implementation of EDFSRP. The imple-
urgent task had been released during the execution of the mentations differ in the data structures used to implement
resources code) and this is a task switch that would occur the ready queue:
anyway. An evaluation of an actual implementation of DFP
is given in the next section. SRP&Queue+Stack. SRP implementation based on a
Any implementation of DFP is no more complex than queue and a stack.
the immediate priority ceiling protocol for fixed priority DFP&Queue+Stack. DFP implementation based on a
scheduling which is available via many RTOSs (e.g., it is queue and a stack.
specified in real-time POSIX) and programming languages DFP&Queue. DFP implementation based only on a
such as Java and Ada. By comparison, under SRP a task must queue.
have a deadline and a consistent preemption level. The Ada These three alternative implementations are compared in
programming language has implemented SRP as part of its terms of performance, complexity and code size.
support for EDF scheduling [8]. To give a complete imple-
mentation for SRP a programming language must specify
what happens to tasks that are released but which do not pre- 6.1 Basic EDF Implementation
empt the currently executing task. For example, a task could MaRTE OS uses a hierarchical scheduler with two levels.
chain through a set of nested resources, during this time a The base scheduler uses fixed priorities as defined in the
number of other tasks could be released with different pre- POSIX standard. Each task (called thread in POSIX) is
emption levels and deadlines. To ensure that the right order assigned an integer called the priority that is used as the
of execution is maintained Ada uses ready queues at each primary criterion for scheduling. A higher priority task
preemption level. The protocol is not intuitive; indeed an will always preempt a lower priority task. Within each
early version of the protocol was shown to be incorrect [22]. priority level POSIX allows different behaviours (such as
Moreover, an initial implementation of the run-time was FIFO or round-robin ordering). MaRTE OS adds a fur-
shown to be inconsistent with the language rules [10]. ther secondary scheduler that uses the EDF policy for
The correct rule for preemption is defined by the follow- tasks of the same priority.
ing text in the reference manual for Ada [6]: A task T is The main data structure managed by the MaRTE sched-
placed on the ready queue for priority level P (note a uler is the ready queue. Originally, the MaRTE ready queue
resource is represented by a protected object in Ada), where is an array of queues implemented with doubly-linked lists,
P is defined by a queue for each system priority.
the highest priority P, if any, less than the base priority When a task becomes ready, it must be added to the queue
of T such that one or more tasks are executing within a that corresponds to its priority. At each activation, an EDF
protected object with ceiling priority P and task T has an task is assigned a new absolute deadline. EDF tasks are placed
earlier deadline than all such tasks and all other tasks on in the queue that corresponds to its priority according to their
ready queues with priorities strictly less than P. absolute deadlines (and preemption levels if SRP is in use).
The original structure of the ready queue has been
Of course this quote is without its context, nevertheless it modified to include a deadline sorted queue to support
illustrates the complexity of embedding SRP into the seman- the DFP&Queue implementation and a deadline sorted
tics of a programming language. By comparison the priority queue and a stack to support the SRP&QueueStack and
ceiling protocol (for fixed priority scheduling) is straightfor- DFP&Queue+Stack implementations.
ward to define.4 The deadline sorted queues have been implemented
using a binary heap. A binary heap is a binary tree
with two additional constraints: all levels of the tree,
6 IMPLEMENTATION AND EVALUATION OF DFP except possibly the last one (deepest) are fully filled, and
IN MARTE OS each node is less than or equal to each of its children
MaRTE OS [16] is a real-time operating system developed according to a total order relation. This data structure is an
by the computers and real-time group at the University of efficient implementation of a sorted queue. Both inserting
Cantabria. Most of its code is written in Ada with some C an element in the heap and removing the element at the
and assembler parts. MaRTE OS provides support for Ada head take Ologn time, while peeking the head takes
and C/C++ concurrent applications. In the case of C/C++ constant time O1.
applications, they can make use of the POSIX/C interface
provided by MaRTE OS [1]. 6.2 SRP Implementation Based on Stack and Queue
In [3], [2] Baker proposed an efficient implementation of the
4. The replacement of SRP by DFP for the Ada language was dis- ready queue for a system using the SRP protocol. In this
cussed at the 2013 International Real-Time Ada Workshop (IRTAW);
the workshop recommended that DFP is adopted and SRP depre- proposal, the ready queue is composed by two data struc-
cated[21]. tures: a stack and a queue.
BURNS ET AL.: A DEADLINE-FLOOR INHERITANCE PROTOCOL FOR EDF SCHEDULED EMBEDDED REAL-TIME SYSTEMS WITH RESOURCE... 1251
TABLE 2 TABLE 3
SRP and DFP Implementation Summary SRP and DFP Efficient Data Structures
Fig. 5. Time required for a thread to lock and immediately unlock a Fig. 6. Sum of the times required by the operating system to activate and
mutex. suspend a thread.
operation of the locks in MaRTE, nor the lines of code of Measured times for SRP&QueueStack and DFP&
the data structures used to implement the ready queue in QueueStack are almost identical in both experiments. The
each particular protocol implementation. small difference in Fig. 5 in favour of SRP& QueueStack is
In Table 2 we can the see a summary of those implemen- due to the necessity of reading the clock in the DFP lock
tation metrics. The implementation of DFP is clearly simpler operation. On the other hand, in Fig. 6 DFP&Queuestack
than the implementation of SRP. behaves slightly better than SRP&QueueStack due to the
Another aspect in which the DFP is simpler than SRP is fact that in DFP the comparison between the tasks at the
in the data structure required for the ready queue: while the head of the queue and at the top of the stack is simpler than
DFP can be implemented using just a queue, an efficient in SRP (in SRP not only the deadlines have to be compared,
implementation of the SRP requires a queue and a stack as but also the preemption levels).
shown in Table 3. In both experiments DFP&Queue performs better than
For our performance analysis, the queue has been imple- SRP&QueueStack and DFP&QueueStack. This is
mented using a binary heap and the stack with a chain of because, besides the heap queue or dequeue operations,
singly-linked cells. Both data structures have been imple- the implementations that use the stack require, in the
mented with abstract data types using Ada generic worst case scenario, the comparison between the the head
packages, with each data structure operation provided via of the queue and the top of the stack and a push or pop
a subprogram. operation on the stack.
exclusion without the need for further locks, and the proto- [15] I. Ripoll, A. Crespo, and A. K. Mok, Improvement in feasibility
testing for real-time tasks, J. Real-Time Syst., vol. 11, no. 1, pp. 19
col itself ensures deadlock free execution. 39, 1996.
The motivation for defining DFP is that it leads to a [16] M. A. Rivas and M. G. Harbour, MaRTE OS: An Ada kernel for
straightforward and efficient means of implementation. The real-time embedded applications, in Proc. 6th Ada Eur. Int. Conf.
single notion of a tasks deadline is all that is needed to Rel. Softw. Technol., 2001, pp. 305316.
[17] L. Sha, R. Rajkumar, S. Son, and C.-H. Chang, A real-time locking
define and support the protocol. By comparison, the Stack protocol, IEEE Trans. Comput., vol. 40, no. 7, pp. 793800,
Resource Protocol requires deadlines and preemption lev- Jul. 1991.
els, and these preemption levels must be assigned in a man- [18] L. Sha, R. Rajkumar, and J. P. Lehoczky, Priority inheritance pro-
tocols: An approach to real-time synchronisation, IEEE Trans.
ner consistent with the deadlines. The implementation must Comput., vol. 39, no. 9, pp. 11751185, Sept. 1990.
then keep track of both deadlines (for EDF scheduling) and [19] M. Spuri, Analysis of deadline schedule real-time systems,
the maximum system preemption level (for SRP control). INRIA, Valbonne, France, Tech. Rep. 2772, 1996.
We have demonstrated the advantage of the DFP rules [20] J. A. Stankovic, K. Ramamritham, M. Spuri, and G. Buttazzo,
Deadline Scheduling for Real-Time Systems, Norwell, MA, USA:
using the MaRTE real-time operating system. Kluwer, 1998.
This paper has not considered multiprocessor systems. It [21] A. J. Wellings, Session summary: Locking protocols, ACM
is however possible to envisage multiprocessor versions of SIGAda Ada Letters, vol. 33, no. 2, pp. 123125, 2013.
the protocol in the same way that IPCP has given rise to a [22] A. Zerzelidis, A. Burns, and A. J. Wellings, Correcting the EDF
protocol in Ada 2005, in Proc. 13th Int. Workshop Real-Time Ada
number of such multiprocessor protocols. The development 2007, vol. XXVII, no. 2, pp. 1822.
of these protocols for DFP is part of future work. [23] F. Zhang and A. Burns, Schedulability analysis for real-time sys-
tems with EDF scheduling, IEEE Trans. Comput., vol. 58, no. 9,
pp. 12501258, Sept. 2008.
ACKNOWLEDGMENTS [24] F. Zhang and A. Burns, Schedulability analysis for real-time sys-
tems with EDF scheduling, Univ. York, Heslington, U.K., Tech.
The authors would like to thank Sanjoy Baruah for a num- Rep. YCS 426, Sept. 2009.
ber of very useful discussions on the topic of this paper. We [25] F. Zhang and A. Burns, Schedulability analysis of EDF scheduled
would also like to thank the anonymous reviewers for rec- embedded real-time systems with resource sharing, ACM Trans.
ommendations concerning the implementation of the SRP. Embedded Syst., vol. 12, no. 3, pp. 67.167.18, 2013.
This work has been funded in part by the Spanish Govern- Alan Burns is a professor of real-time systems in the Department of
ment and FEDER funds under Grant TIN2011-28567-C03-02 Computer Science at the University of York, United Kingdom. He has
(HI-PARTES). served as a chair of the IEEE Technical Committee on Real-Time Sys-
tems and has published widely more than 450 papers and articles, and
10 books. His successful book (co-authored by Andy Wellings), Real-
REFERENCES Time Systems and Programming Languages, has been published in its
[1] IEEE Standard for Information Technology - Portable Operating System fourth edition. In 2009, he was elected a fellow of the Royal Academy
Interface (POSIX) Base Specifications, Issue 7, POSIX: IEEE 1003.1- of Engineering, United Kingdom. In 2011, he was elected a fellow of
2008, 2008. the IEEE.
[2] T. P. Baker, A stack-based resource allocation policy for realtime
processes, in Proc. IEEE Real-Time Syst. Symp., 1990, pp. 191200. Marina Gutierrez received the physics degree and a masters degree
[3] T. P. Baker, Stack-based scheduling of realtime processes, J. in computer science by the University of Cantabria. She is a former
Real-Time Syst., vol. 31, pp. 6799, Mar. 1991. researcher at the University of Cantabria. Now she works in a private
[4] S. K. Baruah, Resource sharing in EDF-scheduled systems: A company developing real-time applications for embedded systems.
closer look, in Proc. IEEE Real-Time Syst. Symp., 2006, pp. 379 The implementation and testing of DFP in MaRTE OS was part of her
387. master thesis.
[5] S. K. Baruah, A. K. Mok, and L. E. Rosier, Preemptive scheduling
of hard real-time sporadic tasks on one processor, in Proc. IEEE Mario Aldea Rivas is an associate professor in the Department of
Real-Time Syst. Symp., 1990, pp. 182190. Mathematics, Statistics, and Computer Science at the Universidad de
[6] R. Brukardt, ed., Ada 2005 reference manual, Tech. Rep. Cantabria. His main research interests include the real-time systems,
ISO/IEC 8526, ISO, 2006. with special focus on flexible scheduling, real-time operating systems,
[7] A. Burns, A deadline-floor inheritance protocol for EDF sched- and real-time languages. He has been involved in several industrial
uled real-time systems with resource sharing, Dept. Comput. projects to build real-time controllers for robots. He is the main devel-
Sci., Univ. York, Heslington, U.K., Tech. Rep. YCS-2012-476, 2012. oper of MaRTE OS an operating system that has served as platform to
[8] A. Burns, A. J. Wellings, and T. Taft, Supporting deadlines and provide support for advanced real-time services.
EDF scheduling in Ada, in Proc. Ada Eur. Conf. Rel. Softw. Tech-
nol., 2004, pp. 156165. Michael Gonza lez Harbour is a professor in the Department of Mathe-
[9] M. Chen and K. Lin, Dynamic priority ceilings: A concurrency matics, Statistics, and Computer Science at the University of Cantabria.
control protocol for real-time systems, J. Real Time Syst., vol. 2, He works in software engineering for real-time systems, and particu-
no. 4, pp. 325346, 1990 larly in modelling and schedulability analysis of distributed real-time
[10] M. L. Fairbairn and A. Burns, Implementing and validating EDF systems, real-time operating systems, and real-time languages. He is a
preemption-level resource control, in Proc. 17th Ada Eur Int. Conf. co-author of A Practitioners Handbook on Real-Time Analysis. He has
Rel. Softw. Technol., 2012, pp. 193206. been involved in several industrial projects using Ada to build real-time
[11] K. Jeffay, Scheduling sporadic tasks with shared resources in controllers for robots. He has participated in the real-time working
hard-real-time systems, in Proc. IEEE Real-Time Syst. Symp., 1992, group of the POSIX standard for portable operating system interfaces.
pp. 8999. He is one of the principal authors of the MAST suite for modelling and
[12] B. W. Lampson and D. Redell, Experience with processes and analysing real-time systems. He is a member of the IEEE.
monitors in Mesa, Commun. ACM, vol. 23 no. 2, pp. 105117,
1980.
[13] J. Y. T. Leung and M. L. Merrill, A note on preemptive schedul- " For more information on this or any other computing topic,
ing of periodic real-time tasks, Inform. Process. Lett., vol. 11, no. 3, please visit our Digital Library at www.computer.org/publications/dlib.
pp. 115118, 1980.
[14] C. L. Liu and J. W. Layland, Scheduling algorithms for multipro-
gramming in a hard real-time environment, J. ACM, vol. 20,
no. 1, pp. 4661, 1973.