Skip to main content
Log in

A \(\sqrt N \) Dynamic Load Distribution Algorithm Using Anti-Tasks and Load State Vectors

Cluster Computing Aims and scope Submit manuscript

Abstract

One of the fundamental issues to ensure maximal performance improvement in a cluster computing environment is load distribution, which is commonly achieved by using polling-based load distribution algorithms. Such algorithms suffer from two weaknesses: (1) Load information exchanged during a polling session is confined to the two negotiating nodes only. (2) Such algorithms are not scalable in that growth of the distributed system is accompanied with increasing amount of polling sessions.

In this paper, we proposed a LD algorithm which is based on anti-tasks and load state vectors. Anti-tasks travel around the distributed system for pairing up task senders and receivers. As an anti-task travels, timed load information is collected and disseminated over the entire system via the load state vector bundled with the anti-task. Guided by load state vectors, anti-tasks are spontaneously directed towards processing nodes having high transient workload, thus allowing their surplus workload to be relocated soonest possible. No peer-to-peer negotiations between senders and receivers are needed.

To reduce the network bandwidth consumption caused by the anti-task algorithm, the number of hosts that an anti-task needs to travel to must be carefully limited. The algorithm achieves this by employing the mathematical notion of Finite Projective Plane (FPP). By employing FPP, the number of nodes that each anti-task has to travel is at most \(\sqrt N \), where N is the number of nodes in the system, without sacrifying the spread of load information.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. A.A. Albert and R. Sandler, An Introduction to Finite Projective Planes (Holt, Rinehart and Winston, New York, 1968).

    Google Scholar 

  2. A. Boukerche and S.K. Das, Experimental studies on load balancing, in: Lecture Notes in Computer Science, Vol. 1470, eds. D.J. Pritchard and J. Reeve (1998) pp. 318-321.

  3. R.H. Bruck and H.J. Ryser, The non-existence of certain finite projective planes, Canadian J. Mathematic 1 (1949) 88–93.

    Google Scholar 

  4. T.L. Casavant and J.G. Kuhl, A taxonomy of scheduling in general-purpose distributed computing systems, IEEE Transactions on Software Engineering 14(2) (1988) 141–154.

    Google Scholar 

  5. D.L. Eager and E.D. Lazowska, Adaptive load sharing in homogeneous distributed systems, IEEE Transactions on Software Engineering 12(5) (1986).

  6. D.L. Eager and E.D. Lazowska, A comparison of receiver-initiated and sender-initiated adaptive load sharing, Performance Evaluation 6 (1986) 53–68.

    Google Scholar 

  7. M.D. Feng and C.K. Yuen, Dynamic load balancing on a distributed system, in: Proceedings of 6th IEEE Symposium on Parallel and Distributed Processing, Dallas, TX, US (October 1994) pp. 318-325.

  8. O. Kremien and J. Kramer, Methodical analysis of adaptive load sharing algorithms, IEEE Transactions on Parallel and Distributed Systems 3(6) (November 1992) 747–760.

    Google Scholar 

  9. S.-T. Levi and A.K. Agrawala, Real Time System Design (McGraw-Hill, New York, 1990) Ch. 2.

    Google Scholar 

  10. C. Lu and S.-M. Lau, An adaptive algorithm for resolving processor thrashing in load distribution, Concurrency: Practice and Experience 7(7) (October 1995) 653–670.

    Google Scholar 

  11. C. Lu and S.-M. Lau, An adaptive load balancing algorithm for heterogeneous distributed systems with multiple task classes, in: Proceedings of 16th International Conference Distributed Computing Systems, Hong Kong (May 1996).

  12. W.-S. Luk and T.-T.Wong, Two new quorum based algorithms for distributed mutual exclusion, Department of Computer Science and Engineering, The Chinese University of Hong Kong, Technical Report (October 1996).

  13. M. Maekawa, A ?N algorithm for mutual exclusion in decentralized systems, ACM Transactions on Computer Systems 3(2) (May 1985) 145-159.

    Google Scholar 

  14. L.M. Ni, C.W. Xu and T.B. Gendreau, Drafting algorithm-a dynamic process migration protocol for distributed systems, in: Proceedings of 5th International Conference Distributed Computing Systems (IEEE, 1985) pp. 539-546.

  15. O. Othman and D.C. Schmidt, Issues in the design of adaptive middleware load balancing, ACM SIGPLAN Notices 36(8) (2001) 205–213.

    Google Scholar 

  16. N.G. Shivaratri and P. Krueger, Two adaptive location policies for global scheduling algorithms, in: Proceedings of 10th International Conference Distributed Computing Systems (May 1990) pp. 502-509.

  17. T.T.Y. Suen and J.S.K. Wong, Efficient task migration algorithms for distributed systems, IEEE Transactions on Parallel and Distributed Systems 3(4) (July 1992) 488–499. [18] A. Tanenbaum, Distributed Operating Systems (Prentice-Hall, 1995) Ch. 3.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lu, Q., Leung, KS. & Lau, SM. A \(\sqrt N \) Dynamic Load Distribution Algorithm Using Anti-Tasks and Load State Vectors. Cluster Computing 7, 51–63 (2004). https://doi.org/10.1023/B:CLUS.0000003943.34384.93

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:CLUS.0000003943.34384.93

Navigation