Bridging Cache-Friendliness and Concurrency: A Locality-Optimized In-Memory B-Skiplist
Yicong Luo, Senhe Hao, Brian Wheatman, Prashant Pandey, Helen Xu

TL;DR
This paper introduces a cache-friendly, concurrent B-skiplist that significantly improves throughput and latency over traditional skiplists and competes well with tree-based indices, enhancing in-memory key-value store performance.
Contribution
It presents a novel top-down insertion algorithm and concurrency control for B-skiplists that improve cache locality and performance while maintaining simplicity.
Findings
Achieves 2x-9x higher throughput than state-of-the-art skiplists on 128 threads.
Attains 0.9x-1.7x throughput of cache-optimized trees like Masstree.
Reduces 99% latency by 3.5x-103x compared to other skiplists and 0.85x-64x compared to tree indices.
Abstract
Skiplists are widely used for in-memory indexing in many key-value stores, such as RocksDB and LevelDB, due to their ease of implementation and simple concurrency control mechanisms. However, traditional skiplists suffer from poor cache locality, as they store only a single element per node, leaving performance on the table. Minimizing last-level cache misses is key to maximizing in-memory index performance, making high cache locality essential. In this paper, we present a practical concurrent B-skiplist that enhances cache locality and performance while preserving the simplicity of traditional skiplist structures and concurrency control schemes. Our key contributions include a top-down, single-pass insertion algorithm for B-skiplists and a corresponding simple and efficient top-down concurrency control scheme. On 128 threads, the proposed concurrent B-skiplist achieves between 2x-9x…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
