go back

Volume 18, No. 12

ScaleCache: Scalable and Production-grade Buffer Management for Disk-based Database Systems

Authors:
Mingyu Liu, Junbin Kang, Kai Wang, Lu Zhang, Haibo Chen, Xiuchang Li, Tianhong Ding

Abstract

Bu!er management is critical for DBMSs but often suffers from scalability bottlenecks and poor cache locality, which stems from centralized reference counting in page access and intensive locking in page-to-buffer translation. However, prior radical approaches like pointer swizzling or optimistic lock can hardly be adopted in production-grade DBMSs due to its inherent complexity and incompatibility. This paper proposes ScaleCache , a scalable, highly-efficient and production-grade buffer management system with three key designs. ScaleCache #rst incorporates a novel compact per-group bu!er reference counting technique, which enables scalable buffer pinning and unpinning by concurrent threads on many-core servers. It then devised a novel read-write lock based on copy-on-write and per-group reference counting, which is suitable for B-link tree. At last, we propose an optimistic, CPU-cache friendly and SIMDaccelerated hash table for fast and scalable page-to-bffer translation, which eliminates most contention on modern many-core hardware. ScaleCache has been adopted in Huawei GaussDB , a commercial high-performance DBMS. Evaluation on a 128-core server demonstrates that ScaleCache exhibits near-linear scalability and can signi#cantly improve index query throughput of both classic B-link tree index and complex graph-based vector index.

PVLDB is part of the VLDB Endowment Inc.

Privacy Policy