Improving Scalability of Task Allocation and Scheduling in Large Distributed
Real-Time Systems Using Shared Buffers
∗
Sharath Kodase, Shige Wang, Zonghua Gu, Kang G. Shin
Real-Time Computing Laboratory
Department of Electrical Engineering and Computer Science
The University of Michigan
Ann Arbor, MI 48109-2122
email:{skodase,wangsg,zgu,kgshin}@eecs.umich.edu
Abstract
Scheduling precedence-constrained tasks in a dis-
tributed real-time system is an NP-hard problem. As a re-
sult, the task allocation and scheduling algorithms that use
these heuristics do not scale when applied to large dis-
tributed systems. In this paper, we propose a novel ap-
proach that eliminates inter-task dependencies using shared
buffers between dependent tasks. The system correctness,
with respect to data-dependency, is ensured by having each
dependent task poll the shared buffers at a fixed rate. Tasks
can, therefore, be allocated and scheduled independently
of their predecessors. To meet the timing constraints of
the original dependent-task system, we have developed a
method to iteratively derive the polling rates based on end-
to-end deadline constraints. The overheads associated with
the shared buffers and the polling mechanism are minimized
by clustering tasks according to their communication and
timing constraints. Our simulation results with the task al-
location based on a simple first-fit bin packing algorithm
showed that the proposed approach scales almost linearly
with the system size, and clustering tasks greatly reduces
the polling overhead.
1 Introduction
Distributed real-time systems are becoming larger and
more complex as the scope of real-time computing extends
to more demanding and challenging applications. To meet
timing and schedulability constraints in such applications,
task allocation and schedule (TAS) decisions, must be made
at design time. The problem of allocating and scheduling
precedence-constrained tasks on processors in a distributed
∗
The work reported in this paper was supported in part by DARPA
under the US AFRL Contract No. F33615-00-C-1706.
real-time system is NP-hard. For such tasks, even the prob-
lem of determining if a given allocation of tasks to proces-
sors satisfies the timing constraints is NP-hard. As such,
heuristics for determining the timing satisfiability of a task
allocation can be very complex [12], or involve generating
the entire schedule in one planning cycle
1
[8, 9]. These ap-
proaches are computationally-intensive and can take very
long time to find a solution.
Existing heuristics for task allocation and scheduling
(TAS) are based on artificial intelligence search techniques
like branch-and-bound [8], simulated annealing [2, 7, 11]
and tabu search [6]. These algorithms obtain approximate
or near-optimal solutions to the TAS problem by iteratively
evaluating different points in the search space. The num-
ber of points to evaluate in the search space is large even
when dealing with moderately-sized task sets. Therefore,
these algorithms do not scale well when applied to large dis-
tributed real-time systems. The task system generated with
such an approach suffers from difficulties in checking if the
timing and schedulability constraints are met during soft-
ware integration and testing phases. This results in higher
development costs, a longer development cycle, and some-
times even redesign.
In this paper, we propose a new approach that eliminates
the inter-task dependencies existing in a large-scale applica-
tions by introducing shared buffers between pairs of depen-
dent tasks. Successor tasks are decoupled from their pre-
decessors as they need only access to the buffers. The cor-
rectness, with respect to data-dependency, of the system is
preserved by having successor tasks poll the shared buffers
at predefined rates. Thus, the precedence-constrained task
system is transformed into a system consisting solely of in-
dependent tasks. This transformed system of independent
tasks is much easier for their allocation and scheduling than
1
The planning cycle is equal to the LCM (least common multiple) of
periods of all tasks on a processor.
1
Proceedings of the 9th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS’03)
1080-1812/03 $17.00 © 2003 IEEE