Abstract
A load distribution (LD) algorithm achieves better system performance by smoothing out any workload imbalance that may exist in a distributed system. This is done by relocating application tasks from busy nodes to lightly loaded (or idle) nodes. Previous studies on LD algorithms allow only one single task to be transferred for each sender-receiver negotiation session. While this approach is effective for a homogeneous system, it is too conservative to be applied to a heterogeneous system where nodes may have drastically different processing speeds. In this paper, we propose a class of LD algorithms that allow a batch of tasks to be transferred during each negotiation session. The core of the algorithms is a protocol that ensures a sender-receiver pair to negotiate and arrive at a suitable batch size. The protocol takes into consideration the processing speeds of the sender and receiver, as well as their relative workload, thus ensuring the maximal benefit for each negotiation session. An additional advantage of the algorithms is that a task batch can be composed according to different performance objectives.
Original language | English |
---|---|
Pages (from-to) | 163-180 |
Number of pages | 18 |
Journal | Journal of Parallel and Distributed Computing |
Volume | 66 |
Issue number | 2 |
DOIs | |
Publication status | Published - 1 Feb 2006 |
Keywords
- Distributed algorithms
- Dynamic load distribution algorithms
- Heterogeneous distributed systems
- Task assignment
ASJC Scopus subject areas
- Theoretical Computer Science
- Software
- Hardware and Architecture
- Computer Networks and Communications
- Artificial Intelligence