Intelligent Buffer Pool Prefetching
Suresh, Sylesh Kyle
MetadataShow full item record
Buffer pools are essential for disk-based database management system (DBMS) performance as accessing memory on disk is orders of magnitude more expensive than accessing data in-memory. As such, one of the most important techniques for DBMS performance improvement is proper buffer pool management. Although much work has already gone into page replacement policies for buffer pools, relatively little attention has been paid to developing intelligent page prefetching strategies. Commonly used sequential prefetching strategies only handle sequential accesses but fail to predict more complex page reference patterns. More complex prediction techniques exist---particularly those that leverage the predictive power of deep learning. Although such models can achieve a high prediction accuracy, due to their size and complexity, they cannot deliver predictions in time for the corresponding pages to be prefetched. With the tension between timeliness and prediction accuracy in mind, in this work, we introduce a machine learning-based strategy capable of predicting useful pages to prefetch for complex memory access patterns with an inference latency low enough for its predictions to be delivered in time. When evaluated on a subset of the TPC-C benchmark, our strategy is capable of reducing execution time by up to 13% while a commonly-used sequential prefetching yields only a 6% reduction.