Jiffy: A Lock-free Skip List with Batch Updates and Snapshots
Tadeusz Kobus, Maciej Kokoci\'nski, Pawe{\l} T. Wojciechowski

TL;DR
Jiffy is a novel lock-free skip list data structure that supports atomic batch updates and consistent snapshots, optimizing performance for various workloads through adaptive revision sizing and efficient concurrency control.
Contribution
It introduces Jiffy, the first lock-free, linearizable ordered key-value index with batch updates and snapshots, utilizing multiversioned skip list and adaptive revision sizes.
Findings
Achieves performance comparable or better than state-of-the-art lock-free indices.
Supports large batch updates up to 7.4x more efficiently than lock-based rivals.
Provides adaptable performance for different workload contention levels.
Abstract
In this paper we introduce Jiffy, the first lock-free, linearizable ordered key-value index that offers both (1) batch updates, which are put and remove operations that are executed atomically, and (2) consistent snapshots used by, e.g., range scan operations. Jiffy is built as a multiversioned lock-free skip list and relies on CPU's Time Stamp Counter register to generate version numbers at minimal cost. For faster skip list traversals and better utilization of the CPU caches, key-value entries are grouped into immutable objects called revisions. Moreover, by changing the size of revisions and thus modifying the synchronization granularity, our index can adapt to varying contentions levels (smaller revisions are more suited for write-heavy workloads whereas large revisions benefit read-dominated workloads, especially when they feature many range scan operations). Structure…
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.
Taxonomy
TopicsDistributed systems and fault tolerance · Parallel Computing and Optimization Techniques · Real-Time Systems Scheduling
