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