Abstract

Abstract Eviction processes in disk-based DBMSs are usually bottlenecks in write-intensive, high concurrent OLTP workloads because of the high IO latencies of the block devices and database systems generate redundant writes to guarantee atomic page updates. One solution is to store dirty pages from DRAM to flash SSD, then asynchronously flush those pages to storage. However, this approach has high lock contention because it relies on one centralized buffer shared by all of the eviction threads. This paper presents a high performance partitioned buffer on NVDIMM (PB-NVM) as an extended cache between DRAM and flash SSDs. PB-NVM achieves high performance eviction processes and guarantees the atomicity of page updates without redundant writes or high contention of the centralized buffer. PB-NVM writes dirty pages from DRAM to disjoint buckets on NVDIMM and asynchronously flushes those dirty pages as a batch from buckets to flash SSDs without locking the upcoming eviction process. We implement the proposed scheme in InnoDB/MySQL and experiment with TPC-C and Linkbench benchmarks in a real NVDIMM server. Our empirical results show that, compared to the vanilla InnoDB, our proposed method improves the throughput by up to approximately 2.47 × while reducing the flushing time per transaction by up to 7 × .

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call