SCM-BP: An Intelligent Buffer Management Mechanism for Database in Storage Class Memory
Keywords: buffer management, storage class memory, flash memory, performance
AbstractA set of new storage media, called Storage Class Memory (SCM), has emerged as a quite promising solution to decrease the difference between HDD data access time and the time that processors can consume data. Four main characteristics may be highlighted in SCM: (i) non-volatility; (ii) low access time; (iii) high rates of IOPS, and (iv) read/write execution time asymmetry. The former three have a direct benefit for database systems. Notwithstanding, the latter one poses challenges for database systems. In fact, read-write speed ratio in SCMs can reach an 1-to-300 factor. For databases stored in HDs, disk access is a critical factor for database performance. The buffer manager is in charge of reducing the amount of disk access, maintaining the most used database pages in main-memory buffer. Most buffer-replacement policies have been proposed aiming at only avoiding disk access. Nonetheless, flushing too many changed pages from buffer to disk may reduce IOPS rates of SCMs. In this article, we propose the SCM-BP, an intelligent buffer replacement policy targeted to SCM devices. SCM-BP is able to autonomously adapt its behaviour and to choose the most efficient moment to do this. We provide an empirical study comparing SCM-BP to the widely used LRU policy. The results show the positive impact of our proposal to database system performance w.r.t buffer management when SCM media is used.