Maximizing Persistent Memory Bandwidth Utilization for OLAP Workloads

Abstract

Modern database systems for online analytical processing (OLAP) typically rely on in-memory processing. Keeping all active data in DRAM severely limits the data capacity and makes larger deployments much more expensive than disk-based alternatives. Byte-addressable persistent memory (PMEM) is an emerging storage technology that bridges the gap between slow-but-cheap SSDs and fast-but-expensive DRAM. Thus, research and industry have identified it as a promising alternative to pure in-memory data warehouses. However, recent work shows that PMEM’s performance is strongly dependent on access patterns and does not always yield good results when simply treated like DRAM. To characterize PMEM’s behavior in OLAP workloads, we systematically evaluate PMEM on a large, multi-socket server commonly used for OLAP workloads. Our evaluation shows that PMEM can be treated like DRAM for most read access but must be used differently when writing. To support our findings, we run the Star Schema Benchmark on PMEM and DRAM. We show that PMEM is suitable for large, read-heavy OLAP workloads with an average query runtime slowdown of 1.66x compared to DRAM. Following our evaluation, we present 7 best practices on how to maximize PMEM’s bandwidth utilization in future system designs.

Publication
In Proceedings of the 2021 International Conference on Management of Data
Lawrence Benson
Lawrence Benson
PhD Student at Data Engineering Systems Group

I’m currently researching Data Management Systems with Persistent Memory and next generation Stream Processing Engines.