Previous [ 1] [ 2] [ 3] [ 4] [ 5] [ 6] [ 7] [ 8] [ 9] [ 10] [ 11] [ 12] [ 13] [ 14] [ 15] [ 16]

Journal of Information Science and Engineering, Vol. 32 No. 3, pp. 541-557 (May 2016)

A Self-Tuning Buffer-Flushing Algorithm for OLTP Workloads*

1Department of Computer Engineering
2Department of Computer Science and Engineering
Kwangwoon University
Seoul, 01897 Korea
3Department of Computer Science
University of Suwon
Suwon, 18323 Korea

These days, huge amounts of data are created by not only humans but also the Internet of Things (IoT). As databases increase in size, their buffer pool is becoming more crucial to the overall performance. Buffer flushing, i.e., writing dirty pages, is a key factor in buffer pool management. Tuning the buffer-flushing activity in a real system is often difficult because it depends on the workload and system configuration. It is usually done through trial and error. In this paper, we propose a self-tuning algorithm for automatically controlling the buffer-flushing activity. Our algorithm not only avoids synchronous writes, which block other operations, but also preserves the effectiveness of the buffer pool. Experimental results using TPC-C and TPC-H show that our algorithm gives up to a 2.1-fold higher throughput compared with the original buffer-flushing algorithm of MySQL and 1.5-fold compared with that of Percona Server, which is a variant of MySQL.

Keywords: buffer management, buffer flushing, self-tuning algorithm, OLTP, MySQL

Full Text () Retrieve PDF document (201605_02.pdf)

Received June 20, 2015; revised November 19, 2015; accepted November 23, 2015.
Communicated by Vincent S. Tseng.
* This research was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Science, ICT & Future Planning (NRF-2015R 1C 1A 1A02036517).
The present Research has been conducted by the Research Grant of Kwangwoon University in 2015.
+ Corresponding author.