JISE


  [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


A Self-Tuning Buffer-Flushing Algorithm for OLTP Workloads


KI-HOON LEE1,+, YUN-GU LEE2 AND JANGYOUNG KIM3 
1Department of Computer Engineering 
2Department of Computer Science and Engineering 
Kwangwoon University 
Seoul, 01897 Korea 
E-mail: 1kihoonlee@kw.ac.kr; 2harmony96@gmail.com 
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

  Retrieve PDF document (JISE_201603_02.pdf)