Evaluating the Performance of Middleware Load Balancing Strategies

  • Authors:
  • Jaiganesh Balasubramanian;Douglas C. Schmidt;Lawrence Dowdy;Ossama Othman

  • Affiliations:
  • Vanderbilt University, Nashville, TN, USA;Vanderbilt University, Nashville, TN, USA;Vanderbilt University, Nashville, TN, USA;Vanderbilt University, Nashville, TN, USA

  • Venue:
  • EDOC '04 Proceedings of the Enterprise Distributed Object Computing Conference, Eighth IEEE International
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents three contributions to research on middleware load balancing. First, it describes the design of Cygnus, which is an extensible open-source middleware framework developed to support adaptive and non-adaptive load balancing strategies. Key features of Cygnus are its ability to make load balancing decisions based on application-defined load metrics, dynamically (re)configure load balancing strategies at run-time, and transparently add load balancing support to client and server applications. Second, it describes the design of LBPerf, an open-source middleware load balancing benchmarking toolkit developed to evaluate load balancing strategies at the middleware level. Third, it presents the results of experiments that systematically evaluate the performance of adaptive load balancing strategies implemented using the Cygnus middleware framework using workloads generated by LBPerf. The workloads used in our experiments are based on models of CPU-bound requests that are representative of a broad range of distributed applications. Our experiments with LBPerf illustrate the need for evaluating different adaptive and non-adaptive load balancing strategies under different workload conditions. In addition to assisting in choosing a suitable load balancing strategy for a particular class of distributed applications, our empirical results help configure run-time parameters properly and analyze their behavior in the presence of different workloads. Our results also indicate that integrating Cygnus into distributed applications can improve their scalability, while incurring minimal run-time overhead. As a result, developers can concentrate on their core application behavior, rather than wrestling with complex middleware mechanisms needed to enhance the scalability of their distributed applications.