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
Paper version not known

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

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.