A Load Balancing and Resource Management Strategy for a Distributed Database System

We offer a solution to the problem of load balancing a system of heterogeneous database applications within a group of host servers. The problem is studied in architectures where the load has a strong affinity to a database, file, or application that can be selectively placed on any of the servers. There are three important timeframes in which load leveling is addressed. 1) Long-term usage patterns that are sometimes predictable from historical data. 2) Variations from minutes to hours caused by clients initiating and breaking persistent sessions. 3) Short term fluctuations arising from basic queuing behavior caused by a large set of independent clients generating data requests or remote procedure calls against the applications. A key point is that load leveling should be done both to optimize long-term average processor utilization and to minimize load variations that cause the service time to become unstable or unpredictable due to the formation of large service queues. We demonstrate the importance of balancing both total load and workload profile of applications statically placed on each server. The coefficient of variation is shown to be minimal when applications are placed to balance resource profiles. Balancing profiles based on historical usage is also shown to equalize long-term resource growth rates amongst the servers. We study techniques of compensating mid-timescale variability by direction of persistent client connections to least loaded server. A comparison of client redirection methods shows that an efficient leveling scheme is client redirection to the best of two randomly selected database replicas. Load balancing on short timescales is typically addressed by dynamic routing of requests in a server cluster. It is often desirable to simultaneously apportion resources other than load such as network or disk utilization. In fact, we argue that a multidimensional approach to resource management can provide a more stabile balance for each resource than one-dimensional approaches. This study is performed largely within the context of Lotus Notes and similar two tier application architectures. The conclusions are based on analysis, simulation, and data from Lotus Notes database servers at IBM.

By: Norman Bobroff, K. A. Beaty, G. Bozman

Published in: RC21933 in 2000

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

rc21933.pdf

Questions about this service can be mailed to reports@us.ibm.com .