Load profiling: a methodology for scheduling real-time tasks in a distributed system

Traditionally, the goal of load management protocols for distributed systems has been to ensure that nodes are equally loaded. We show that for real time systems, load balancing is not desirable since it results in the available bandwidth being distributed equally amongst all nodes-in effect making all nodes in the system capable of offering almost the same bandwidth (e.g., in cycles per second) to incoming tasks. We show that this "one size fits all" practice leads to a higher rate of missed deadlines as incoming tasks may be denied service because they require bandwidth that cannot be granted at any single node-while plenty of fragmented bandwidth is collectively available in the system. We propose a new load profiling strategy that allows the nodes of a distributed system to be unequally loaded so as to maximize the chances of finding a node that would satisfy the computational needs of incoming real time tasks. The performance of the proposed protocol is evaluated via simulation, and is contrasted to other dynamic scheduling protocols for real time distributed systems.

[1]  Aloysius K. Mok,et al.  Multiprocessor On-Line Scheduling of Hard-Real-Time Tasks , 1989, IEEE Trans. Software Eng..

[2]  John P. Lehoczky,et al.  Algorithms for scheduling hard aperiodic tasks in fixed-priority systems using slack stealing , 1994, 1994 Proceedings Real-Time Systems Symposium.

[3]  Krithi Ramamritham,et al.  Distributed Scheduling of Tasks with Deadlines and Resource Requirements , 1989, IEEE Trans. Computers.

[4]  John A. Stankovic,et al.  Stability and Distributed Scheduling Algorithms , 1985, IEEE Transactions on Software Engineering.

[5]  Catherine C. McGeoch,et al.  When are best fit and first fit optimal , 1987 .

[6]  Krithi Ramamritham,et al.  The Spring kernel: a new paradigm for real-time systems , 1991, IEEE Software.

[7]  A StankovicJohn Stability and Distributed Scheduling Algorithms , 1985 .

[8]  Krithi Ramamritham,et al.  The Spring kernel: a new paradigm for real-time operating systems , 1989, OPSR.

[9]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[10]  E.L. Lawler,et al.  Optimization and Approximation in Deterministic Sequencing and Scheduling: a Survey , 1977 .

[11]  Krithi Ramamritham,et al.  Evaluation of a flexible task scheduling algorithm for distributed hard real-time systems , 1985, IEEE Transactions on Computers.

[12]  Krithi Ramamritham,et al.  Resource Reclaiming in Real-Time , 1990, RTSS.

[13]  Edward D. Lazowska,et al.  Adaptive load sharing in homogeneous distributed systems , 1986, IEEE Transactions on Software Engineering.

[14]  Krithi Ramamritham,et al.  Scheduling Strategies Adopted in Spring: An Overview , 1991 .

[15]  Alan Burns,et al.  Scheduling slack time in fixed priority pre-emptive systems , 1993, 1993 Proceedings Real-Time Systems Symposium.

[16]  Maryline Chetto,et al.  Some Results of the Earliest Deadline Scheduling Algorithm , 1989, IEEE Transactions on Software Engineering.

[17]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[18]  Songnian Zhou Performance Studies of Dynamic Load Balancing in Distributed Systems , 1987 .