Optimal Priority Assignment for Aperiodic Tasks with Firm
Description
Optimal Priority Assignment for Aperiodic Tasks with Firm
Shared by: asafwewe
-
Stats
- views:
- 2
- posted:
- 3/9/2010
- language:
- pages:
- 8
Document Sample


Optimal Priority Assignment for Aperiodic Tasks with Firm Deadlines
in Fixed Priority Pre-emptive Systems
Robert Davis and Alan Burns
Real-Time Systems Research Group,
Department of Computer Science, University of York, Y01 5DD, England.
Email: robd@minster.york.ac.uk
ABSTRACT
An optimal priority assignment policy is presented for independent
aperiodic tasks with arbitrary ready times and firm deadlines, scheduled on
a uniprocessor along with a set of hard periodic/sporadic tasks. The latter
tasks are assumed to have been assigned unique fixed priorities according to
some arbitrary policy and guaranteed, via off-line feasibility analysis, to
meet their deadlines. In contrast, priority assignment and acceptance
testing of aperiodic tasks must be carried out on-line.
The priority assignment policy introduced is shown to be optimal both
in terms of maximising the computation time which can be made available
before the aperiodic deadline and w.r.t. guaranteeing subsequent aperiodic
arrivals.
Key words: Real-Time, Scheduling, Algorithms, Priority Assignment.
1. Introduction
In this paper, we discuss the priority assignment and acceptance testing of aperiodic tasks
with firm deadlines. We introduce an optimal priority assignment policy which maximises
the computation time which can be made available by the aperiodic deadline, given a set of
previously guaranteed hard periodic/sporadic tasks.
Research into on-line acceptance tests has been carried out by Chetto and Chetto [10]
Schwan and Zhou [9] and Kim [4] with respect to earliest deadline scheduling. However,
when applied to the case of mixed task sets, (aperiodic and periodic) the tests presented in
[10] and [9] are pseudo-polynominal in complexity: in the worst case the time taken to
perform the tests depends upon the number of task invocations within the least common
multiple (LCM) of the hard task periods. Further, the model used by Schwan and Zhou
requires that all task invocations, both periodic and aperiodic, undergo an on-line
acceptance test, leading to unnecessarily high overheads. The test presented by Kim also
requires that all task invocations undergo acceptance testing. However, of greater
consequence, is the implicit assumption that tasks with an earlier ready time are of greater
importance, and are therefore accepted in preference to, those with a later ready time.
When mixed task sets are considered, this assumption no longer holds and it is difficult to
see how the algorithm can be applied without jeopardising the hard deadlines of periodic
tasks.
Within the context of fixed priority scheduling, an acceptance test has been developed
by Ramos-Thuel and Lehoczky [7]. This test assumes that tasks are scheduled using the
(static) Slack Stealing algorithm [5]. Unfortunately, the O(n) (where n is the number of
periodic tasks) test originally published is insufficient: it may give guarantees to tasks
which will then miss their deadlines. Subsequent correction of this test shows it to be of
pseudo-polynominal time complexity [8].
Finally, in [1] the authors presented a sufficient acceptance test with O (n +m )
complexity. Where n is the number of hard (periodic) tasks and m is the number of
aperiodic tasks previously guaranteed but as yet uncompleted. Although not optimal,
simulations showed that this test is effective and has much lower overheads than the exact
test described in [8].
In this paper, we consider the strategy for handling hard deadline aperiodic tasks
described in [1]. Upon arrival, each aperiodic task is assigned a unique priority before
being acceptance tested. The acceptance test is in two parts: first the schedulability of the
new aperiodic task is determined. Second, it is necessary to check that admitting the
aperiodic task will not cause any previously guaranteed tasks to miss their deadlines. This
is achieved by comparing the maximum execution requirement of the aperiodic task with
the slack (spare capacity) available at each lower priority level. Where the slack at a given
priority level corresponds to the maximum additional interference which the task at that
priority may be subject to without missing its deadline. Provided that all deadlines can be
met, then the aperiodic is guaranteed and executed at its assigned priority level.
This strategy has the advantage of simple implementation: once guaranteed, aperiodic
tasks are handled in exactly the same way as periodic or sporadic tasks with hard
deadlines: only fixed priority pre-emptive dispatch is required.
The contribution made by this paper lies in the area of priority assignment policies.
Assuming the scheduling strategy described above, we define an optimal priority
assignment policy which maximises the computation time that can be afforded to an
aperiodic task without causing any deadlines to be missed. Further, we show that this
priority assignment is also optimal in terms of being able to guarantee subsequent
aperiodic arrivals.
2. Computational Model
We consider a set of hard tasks, which may be periodic or sporadic. Each hard task τi is
characterised by a unique fixed priority i , a relative deadline Di , a minimum inter-arrival
time Ti and a worst case execution time Ci . Further, at time t , each hard task τi has
outstanding computation ci (t ), which may be zero if the task is awaiting release, and an
absolute deadline di (t ). (Note, di (t ) corresponds to the next deadline of τi ). We use lp (i )
to denote the set of tasks with priority i or lower and hp (i ) to denote the set of tasks with
higher priorities than i . Finally, we also consider an aperiodic task τA which may arrive
and be ready to execute at any arbitrary time t . We assume that τA requires CA units of
computation to be completed by its firm deadline at dA (t ) = t + DA , where DA is its
relative deadline. If accepted, τA will be assigned some unique priority j , and executed in
preference to hard tasks in the set lp (j ). We assume that acceptance testing of τA is
performed upon arrival, i.e. at time t .
3. Optimal Priority Assignment
OPT
Given the above assumptions, we seek to find the optimal priority level, PA , at which to
schedule aperiodic task τA . Our definition of optimality is as follows: if τA is schedulable
OPT OPT
at any priority level, then it is also schedulable at priority level PA . Equivalently, PA
is the priority level at which τA can be given the maximum computation time consistent
with the task set, including τA , remaining schedulable.
We denote the maximum permissible computation time at priority level i , which may
be released at time t and complete by time dA (t ), as Ai †. Ai is constrained first by
interference due to higher priority tasks: all Ai units of computation must be completed at
priority level i , by dA (t ). Secondly, Ai is constrained by the slack at lower priority levels:
executing τA must not cause a lower priority task to miss its deadline. Hence:
¡ ¢£
Ai = min (DA − Ihp (i )(t , DA )) , min S j (t )
∀j ∈ lp (i )
Where Ihp (i )(t , DA ) is the interference from tasks in the set hp (i ) which falls in the
interval [t , t + DA ) and S j (t ) is the slack at priority level j , corresponding to the
maximum additional interference which τ j may be subject to without causing its next
deadline to be missed. (Note, both Ihp (i )(t , DA ) and S j (t ) may be calculated from the
next release, next deadline and remaining execution time budget of each task, using the
analysis given in [2]. )
Definition : The optimal priority level PA for an aperiodic arrival, τA , is the highest
OPT
OPT
priority level such that every task of lower priority than PA has an absolute deadline
later than dA (t ).
Theorem 1: Assigning τA priority PA , results in the maximum execution time being
OPT
available to τA , before its deadline, consistent with no deadlines being missed.
Proof : The proof is in two parts; first we show that assigning τA a higher priority than
OPT
PA cannot result in a greater available execution time. Second, we show that neither can
assigning τA a lower priority.
Case 1 : τA is assigned a priority level k , where k ∈ hp (PA ).
OPT
Let APA be the maximum permissible execution time for τA at its optimum priority level.
OPT
There are two sub-cases to consider:
OPT
Sub-case 1.1 : APA is limited by interference due to tasks in the set hp (PA ).
OPT
OPT OPT
Let j be the priority level immediately higher than PA . From the definition of PA ,
d j (t ) ≤ dA (t ). As d j (t ) ≤ dA (t ), at least S j (t ) units of computation must be available at
priority level PA prior to dA (t ). Hence APA ≥ S j (t ). Now if τA is assigned a priority
OPT
OPT
k ∈ hp (j ), then Ak is limited by S j (t ), hence:
∀ k ∈hp (PA ) : Ak ≤ S j (t ) ≤ APA
OPT
OPT
Sub-case 1.2 : APA is limited by the slack S j (t ) at some lower priority level j .
OPT
Assigning τA a priority level k ∈hp (PA ) does not change the set of tasks hp (j ), thus the
OPT
slack at priority level j remains the same and hence
∀ k ∈ hp (PA ) , Ak ≤ S j (t ) = APA
OPT
OPT
Case 2 : τA is assigned a priority level k , where k ∈ lp (PA ).
OPT
Again there are two sub-cases to consider:
OPT
Sub-case 2.1 : APA is limited by interference due to tasks in the set hp (PA ).
OPT
¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤ ¤
¥¥¥¥¥¥¥¥¥¥¥¥¥ ¤¤
†Note, under certain circumstances, an increased amount of execution time may be available in the
interval [t , dA (t )) by delaying acceptance testing and priority assignment. See [11] and section
6.
Reducing the priority of τA from PA to k can only result in additional interference from
OPT
tasks in the set lp (PA ) ∩ hp (k ), thus
OPT
∀ k ∈lp (PA ) : Ak ≤ APA
OPT
OPT
Sub-case 2.2 : APA is limited by the slack, S j (t ) at a lower priority level j .
OPT
First, Ak , where k ∈ lp (PA ) ∩ hp (j ) cannot exceed the slack on τ j and hence it cannot
OPT
exceed APA . (Note, S j (t ) is unaffected by re-ordering the priorities of tasks in the set
OPT
hp (j )). Second, consider τA assigned a priority level k ∈ lp (j ) − j . The computation due
to task τ j and tasks in the set hp (j ) excluding τA , results in slack time S j (t ) being
available before d j (t ). Assigning τA a priority level k , lower than j , constrains the
aforementioned computation to the shorter interval [t , dA (t )), as d j (t ) > dA (T ). Hence :
∀ k ∈lp (j ) , Ak ≤ S j (t ) = APA
OPT
We note that the above proof also extends to the slightly more complex problem where a
number of aperiodic tasks have previously been accepted. Once accepted, and until
completed, these earlier aperiodic arrivals are treated in a congruous manner to the hard
tasks. Further, if no hard tasks are present at all, then the priority assignment policy
reduces to the well known Earliest Deadline first policy, which is optimal for scheduling a
stream of feasible aperiodic tasks [3, 6].
4. Example
In this section, we give a simple example illustrating the optimal priority assignment
policy and showing how the maximum available execution time decreases as the assigned
priority level departs from the optimal.
The example is based upon the hard task set detailed in the table below.
¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡
¥ ¤£££¤££¤£££¤£££¤££¤£££¤££¤£££¤££¤£££¤££¢¡¥
Hard tasks
¥ ¤£££¤££¤£££¤£££¤££¤£££¤££¥ ¤£££¤¥ ££¤£££¤££¢¥¡
¡ ¡ ¡ ¡ ¡ ¡ ¥ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¥ ¡ ¡ ¡ ¡ ¡ ¥ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡¥ ¡ ¡ ¡ ¡
Pi ¥ Di Ti ¥ di (t ) Ci¥ ¥ ¥ci (t ) ¥ Si (t )
¥ ¥
¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡
¥ ¤£££¤££¤£££¤£££¤££¤£££¤££¥ ¤£££¤¥ ££¤£££¤££¢¡¥
1 4 10 ¥ t+4 2
¥
¥ ¤£££¤££¤£££¤£££¤££¤£££¤££¥ ¤£££¤¥ ££¤£££¤££¢¡¥
¥ 2 2¥
¡ ¡ ¡ ¡ ¡ ¡ ¥ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¥ ¡ ¡ ¡ ¡ ¡ ¥ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡¥ ¡ ¡ ¡ ¡
2 ¥ 18 18 t+18 2
¤£££¤££¤£££¤£££¤££¤£££¤££¥ ¤£££¤¥ ££¤£££¤££¢¡
2 12
¡ ¡ ¡ ¡ ¡ ¡ ¥ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¥ ¡ ¡ ¡ ¡ ¡ ¥ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡¥ ¡ ¡ ¡ ¡
¥
3¥ 20 20 ¥ t+12 ¥ 3 ¥ ¥ 2 ¥ ¥4 ¥
¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡
¥ ¤£££¤££¤£££¤£££¤££¤£££¤££¥ ¤£££¤¥ ££¤£££¤££¢¡¥
4 25 25¥ t+25
¥ ¤£££¤££¤£££¤£££¤££¤£££¤££¥ ¤£££¤¥ ££¤£££¤££¢¡¥
¥ 1 ¥ 1 ¥ 9
¥ ¡ ¡ ¡ ¡ ¡ ¡ ¥¥ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¥¥ ¡ ¡ ¡ ¡ ¡ ¥¥ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¥ ¡ ¡ ¡ ¡ ¡ ¥ ¡ ¡ ¡ ¡ ¡ ¡ ¥¥ ¡ ¡ ¡ ¡ ¥
5 30 30 t+30 3
¤£££¤££¤£££¤£££¤££¤£££¤££¤£££¤££¤£££¤££¢¡
3
¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡
10
In addition to the hard tasks given in the table, we also consider an aperiodic task τA which
arrives at time t and has an absolute deadline dA (t ) of t + 17. Note, we assume that if τA
is assigned the same priority as a hard task, then if both tasks are runnable, τA is executed
first. Figure 1 illustrates the fixed priority schedule for the hard task set in the absence of
τA and gives a graphical illustration of how the available aperiodic processing time varies
with priority level.
1
2
3
4
5
t t+10 dA (t ) t+20 t+30
The optimal priority level for τA is 4, corresponding to the
highest priority level such that all tasks of a lower priority have
a later deadline than dA (t ) = t +17.
The aperiodic processing time available before dA (t ) at each
priority level is as follows:
Priority 1: A 1 = 2, limited by the slack at priority level 1.
Priority 2: A 2 = 4, limited by the slack at priority level 3.
Priority 3: A 3 = 4, again limited by the slack at priority level 3.
Priority 4: A 4 = 6, limited by interference from tasks τ1, τ2, τ3.
Priority 5: A 5 = 5, again limited by higher priority interference.
Priority 6: A 6 = 2, also limited by higher priority interference.
In accordance with theorem 1, the optimal priority level for τA is 4.
6
5
Aperiodic 4
execution
3
time
available 2
1
0
1 2 3 4 5 6
Priority level
Figure 1: Aperiodic processing time at each priority level.
5. Optimality w.r.t Scheduling Subsequent Aperiodic Arrivals
In this section, we consider how the priority assigned to an aperiodic task τA affects the
schedulability of subsequent aperiodic arrivals.
Theorem 2 : If an aperiodic arrival τB is schedulable with a previous aperiodic arrival τA
scheduled at any arbitrary priority level, then it is also schedulable with τA assigned to its
OPT
optimal priority level, PA .
Proof The proof is in two parts; first we consider the case where τB has a later deadline
than τA , and second the case where it has an earlier deadline.
Case 1 : τB has a later deadline than τA .
Sub-case 1.1 : τA is assigned a priority level k , where k ∈ hp (PB ).
OPT
From Theorem 1, the optimal priority level for an aperiodic task is lower than that of any
task with an earlier deadline. Hence when τA is assigned its optimal priority, it is a
member of the set of tasks with a higher priority than PB . Now, assuming that τA is
OPT
assigned a priority k , rather than PA , where k ∈ hp (PB ), then the set of tasks
OPT OPT
hp (PB ) is unchanged. Hence the interference which τB is subject to is independent of
OPT
the priority level to which τA is assigned, (provided that it is higher than PB ). Further,
OPT
OPT
the set of tasks lp (PB ) is also unchanged, hence, any constraint due to slack at these
lower priority levels is also unaltered. The maximum permissible execution time for τB is
therefore constant for τA assigned any priority level, including PA , which is higher than
OPT
OPT
PB .
Sub-case 1.2 : τA is assigned a priority level k , where k ∈ lp (PB ) and PB is the optimum
priority level for τB when τA is assigned its optimum priority.
If τA is assigned a priority level k , which is lower than PB , then the optimal priority level
for τB , PB is also lowered. In fact PB is immediately below k (i.e. k + 1). This is
OPT OPT
equivalent to case 2 in the proof of Theorem 1. Hence the maximum permissible execution
time for τB at priority k + 1 can be no greater than it is at priority PB when τA is assigned
priority PA . Hence scheduling τA at priority level PA or indeed any priority level
OPT OPT
OPT
higher than PB results in the maximum possible execution time becoming available for
τB .
Case 2 : τB has a earlier deadline than τA .
From Theorem 1, the optimal priority level for τB , PB , is independent of the priority
OPT
level to which τA is assigned.
Sub-case 2.1 : τA is assigned a priority level k , where k ∈ hp (PB )
OPT
Let AB be the maximum permissible execution time for τB when both τA and τB are
*
*
assigned their respective optimal priority levels. Now, if AB is limited by interference from
higher priority tasks, then assigning τA a priority k ∈ hp (PB ), can only serve to increase
OPT
this interference.
*
Alternatively, AB may be constrained by the slack at some lower priority level j , then
if PA is a higher priority level than j , assigning τA priority k ∈ hp (PB ) ⊂ hp (j ) has
OPT OPT
OPT
no effect on the slack at priorty j , whilst if PA is a lower priority level than j , assigning
τA priority k ∈ hp (PB ) can only reduce the slack at priority j . Either way, the
OPT
permissible computation for τB cannot exceed AB . *
Sub-case 2.2 : τA is assigned a priority level k , where k ∈ lp (PB )
OPT
Again let AB be the maximum permissible execution time for τB when both τA and τB are
*
*
assigned their respective optimal priority levels. Now, if AB is limited by interference from
higher priority tasks, then assigning τA any priority level k ∈ lp (PB ) has no effect on
OPT
OPT OPT
this interference.As PA is a lower priority level than PB .
*
Alternatively, AB may be constrained by the slack, S j (t ) at some lower priority level
j . Assuming that PA is a higher priority level than j , then assigning τA to any priority
OPT
level k ∈ hp (j ) has no effect on the slack at priority level j . Further, assigning τA a
priority level lower than j , results in the execution time available for task τA becoming
OPT
less than or equal to the original slack at priority level j (Case 2.2 of Theorem 1). If PA
is a lower priority level than j , then assigning τA to any priority level k ∈ hp (j ) can only
serve to reduce S j (t ) and hence also reduce the computation time available to τB . Further,
assigning τA to any priority level k ∈ lp (j ) has no effect on S j (t ).
Finally, if the slack on task τA at priority level PA constrains AB , then assigning τA
OPT *
any other priority level cannot result in a greater amount of slack (Theorem 1). Hence
scheduling τA at a higher or lower priority level than PA cannot result in more execution
OPT
time becoming available for τB .
6. When to perform an acceptance test?
In this section, we discuss issues relating to the time at which it is preferable to perform an
acceptance test and assign a priority to an aperiodic task.
As a corollary to Theorem 1, with aperiodic task τA scheduled at its optimal priority
level, all outstanding computation with an earlier deadline than dA (t ) must complete
before τA can execute. Carrying out this computation before acceptance testing τA cannot
reduce the maximum time which can be made available for τA . On the contrary, these
higher priority tasks may not take their worst case execution time, increasing the time
available for τA . It is therefore advisable to delay priority assignment and acceptance
testing until all outstanding computation with an earlier deadline has completed.
We note that this delay in acceptance testing is not necessarily optimal in achieving
the maximum available execution time for a given aperiodic task as shown by the
following simple example (derived from a similar example in [11] illustrating soft
aperiodic task scheduling).
Example : Consider a single hard periodic task τ1, characterised by D 1 = 10, T 1 = 10,
C 1 = 5, which is first released at time t = 2. Further, consider an aperiodic task τA with a
relative deadline of 17 which arrives at time t = 0. At t = 0 scheduling τA at priority 0 (i.e.
at a higher priority than τ1), results in a maximum permissible execution time of 7 units for
the aperiodic; limited by the slack on the first invocation of τ1. Similarly, applying the
optimal priority assignment policy, and assigning τA a priority of 2 (lower than τ1), 7 units
of computation time are available, limited by interference from the first two invocations of
τ1. However, if acceptance testing and priority assignment is delayed until t = 7 when the
first invocation of τ1 completes, the aperiodic task may be scheduled at what is then the
optimal priority level, priority 0, with a maximum of 10 units of computation time
permissible.
In the general case, determining the optimal delay requires prior knowledge of actual
task execution times and therefore clairvoyancy.
7. Conclusions
In this brief paper, we introduced an optimal priority assignment policy for independent
aperiodic tasks with arbitrary ready times and deadlines, scheduled on a uniprocessor
along with a set of periodic/sporadic tasks. Our model assumed that the periodic/sporadic
tasks were assigned unique fixed priorities according to some arbitrary policy and
guaranteed to meet their deadlines via off-line feasibility analysis. In contrast, priority
assignment and acceptance testing of aperiodic tasks was carried out on-line. Within this
framework, we showed that assigning each aperiodic task the highest priority, such that
every task of a lower priority has a later deadline, maximises the computation time which
can be made available before the aperiodic’s deadline. Further, we showed that this
priority assignment policy is also optimal in terms of being able to guarantee subsequent
aperiodic arrivals.
Acknowledgements
This work is supported, in part, by the UK Science and Engineering Research Council,
Grant GR/H39611. The authors would also like to thank Neil Audsley for his comments
on an earlier draft of this paper.
References
1. R. I. Davis, N. C. Audsley and A. Burns, ‘‘Mechanisms for Enhancing the Flexibility and
Utility of Hard Real-Time Systems’’, Proceedings Real-Time Systems Symposium
(December 1994).
2. R. I. Davis, K. W. Tindell and A. Burns, ‘‘Scheduling Slack Time in Fixed Priority Pre-
emptive Systems’’, Proceedings Real-Time Systems Symposium (December 1993).
3. J. R. Jackson, ‘‘Scheduling a Production Line to Minimise Maximum Tardiness’’,
Management Sciences Research Project (Research Report 43), UCLA USA (1955).
4. Y. S. Kim, ‘‘An Optimal Scheduling Algorithm for Pre-emptable Real-Time Tasks’’,
Information Processing Letters 50(1), pp. 43-48 (1994).
5. J. P. Lehoczky and S. Ramos-Thuel, ‘‘An Optimal Algorithm for Scheduling Soft-Aperiodic
Tasks Fixed-Priority Preemptive systems ’’, Proceedings Real-Time Systems Symposium,
pp. 110-123 (December 1992).
6. C. L. Liu and J. W. Layland, ‘‘Scheduling Algorithms for Multiprogramming in a Hard
Real-Time Environment’’, Journal of the ACM 20(1), pp. 40-61 (1973).
7. S. Ramos-Thuel and J. P. Lehoczky, ‘‘On-Line Scheduling of Hard Deadline Aperiodic
Tasks in Fixed Priority Systems’’, Proceedings Real-Time Systems Symposium (December
1993).
8. S. Ramos-Thuel and J. P. Lehoczky, ‘‘Algorithms for Scheduling Hard Aperiodic Tasks
Fixed-Priority Systems using Slack Stealing’’, Proceedings Real-Time Systems Symposium
(December 1994).
9. K. Schwan and H. Zhou, ‘‘Dynamic Scheduling of Hard Real-Time Tasks and Real-Time
Threads’’, IEEE Transactions on Software Engineering 18(8), pp. 736-748 (August 1992).
10. M. Silly, H. Chetto and N. Elyounsi, ‘‘An Optimal Algorithm for Guaranteeing Sporadic
Tasks in Hard Real-time Systems’’, 2nd IEEE Symposium on Parallel and Distributed
Systems, pp. 578-585 (Dec. 1990).
11. T. S. Tia, J. W. S. Liu and M. Shankar, ‘‘Algorithms and Optimality of Scheduling
Aperiodic Requests in Fixed-Priority Preemptive Systems ’’, Real-Time Systems (to
appear).
Get documents about "