Improving scalability of task allocation and scheduling in large distributed real-time systems using shared buffers
- 22 June 2004
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 15453421,p. 181-188
- https://doi.org/10.1109/rttas.2003.1203050
Abstract
Scheduling precedence-constrained tasks in a distributed real-time system is an NP-hard problem. As a result, the task allocation and scheduling algorithms that use these heuristics do not scale when applied to large distributed systems. In this paper we propose a novel approach 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 allocation 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.Keywords
This publication has 8 references indexed in Scilit:
- Simulated annealing applied to multicomputer task allocation and processor specificationPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Deadline assignment in distributed hard real-time systems with relaxed locality constraintsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Heuristic techniques: scheduling partially ordered tasks in a multi-processor environment with tabu search and genetic algorithmsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Period-based load partitioning and assignment for large real-time applicationsIEEE Transactions on Computers, 2000
- Performance estimation for real-time distributed embedded systemsIEEE Transactions on Parallel and Distributed Systems, 1998
- Assignment and scheduling communicating periodic tasks in distributed real-time systemsIEEE Transactions on Software Engineering, 1997
- Allocation and scheduling of precedence-related periodic tasksIEEE Transactions on Parallel and Distributed Systems, 1995
- Applying new scheduling theory to static priority pre-emptive schedulingSoftware Engineering Journal, 1993