Global memory management for multi-server database systems

Shivakumar Venkataraman, Jeffrey F. Naughton · 1996

Traditionally, database systems have been implemented using a client-server architecture. Under heavy loads, the server experiences both CPU and I/O bottlenecks. One promising solution to this problem is to replace a single processor server with a cluster of servers. The goal of this thesis is to develop buffer management algorithms that exploit the aggregate memory capacity in such a server cluster to attack the I/O bottleneck. The thesis addresses two key issues: (1) utilizing idle memory in the cluster, and (2) limiting data replication among the memories in the cluster to minimize intra-cluster network traffic and disk I/O, to minimize response time. On the issue of utilizing idle memory in the cluster, we demonstrate the significant impact of data placement, namely, clustering and declustering, on how global memory is utilized. We design three page replacement algorithms, ClSv, Reserve, and Global, that are simple modifications to the client-server buffer management code. Through a simulation study using CSIM, and an implementation on the IBM SP/2, we evaluate the performance of the memory management policies that are combinations of the data placement and page replacement algorithms. Using synthetic workloads characteristic of those experienced by object databases, we demonstrate that when the data is declustered, simple memory management policies are sufficient to utilize the aggregate memory capacity of the server cluster. We show that Global combined with declustering gives the best performance. To control data duplication in memory, we present a new algorithm, Hybrid, that dynamically controls the amount of duplication in global memory. We show that on workloads characteristic of those experienced by Web servers, the Hybrid algorithm correctly trades off intra-cluster network traffic and disk I/O to minimize the average response time.

Read the paper · More papers on PaperTik