Automated Configuration of Multiple Buffer Pools

  • Authors:
  • Patrick Martin;Wendy Powley;Xiaoyi Xu;Wenhu Tian

  • Affiliations:
  • School of Computing, Queen's University Kingston Ontario, Canada K7L 3N6;*Corresponding author: wendy@cs.queensu.ca;School of Computing, Queen's University Kingston Ontario, Canada K7L 3N6;School of Computing, Queen's University Kingston Ontario, Canada K7L 3N6

  • Venue:
  • The Computer Journal
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Database management systems (DBMSs) use a main memory area as a buffer to reduce the number of disk accesses performed by a transaction. Some DBMSs divide the buffer area into a number of independent buffer pools and each database object (table or index) is assigned to a specific buffer pool. The tasks of configuring the buffer pools, which define the mapping of database objects to buffer pools and setting a size for each of the buffer pools, are crucial for achieving optimal performance. In this paper we describe an automated approach to multiple buffer pool configuration. Our approach, called BPCluster, analyses the characteristics of a given workload and partitions objects into buffer pools according to their access patterns and inherent characteristics. Similar objects are grouped into the same buffer pool, thus separating those objects that may conflict. A size configuration for the multiple buffer pools is determined using a greedy algorithm that attempts to minimize the cost of a logical read. A set of experimental results validate the approach and show that the configurations suggested by BPCluster outperform naïve configurations and, in most cases, perform as well as configurations suggested by an experienced database administrator.