The tasks of configuring and tuning large database management systems (DBMSs) have always been both complex and time-consuming.
They require knowledge of the characteristics of the system, the data, and the workload, and of the interrelationships between
them. The buffer pools, because they exist to reduce the number of disk accesses performed by a transaction, are a key resource
in a DBMS. Current DBMSs, such as DB2 Universal Database, divide the buffer area into a number of independent buffer pools
and database objects (tables and indices) are assigned to a specific buffer pool. The size of each buffer pool is set by configuration
parameters and page replacement is local to each buffer pool. Tuning the size of the buffer pools to a workload is crucial
to achieving good performance. In this paper we describe a self-tuning algorithm, called the Dynamic Reconfiguration algorithm (DRF), for managing the buffer pools in a DBMS and we present the results of a set of experiments to investigate the performance
of an implementation of the algorithm for DB2 Universal Database.
This research is supported by IBM Canada Ltd., NSERC (National Science and Engineering Research Council) and CITO (Communications
and Information Technology Ontario).