Jellyfish: A fast skip list with MVCC

7Citations
Citations of this article
5Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Multi-version concurrency control is a widely employed concurrency control mechanism, as it allows non-blocking accesses while providing isolation among transactions. However, maintaining multiple versions increases the latency for both point lookups and ranged retrievals because of the overhead in finding the right version. In particular, the append-only skip list-widely used in the state-of-the-art key-value stores (KVS)-shows a significant performance degradation due to its append-only nature. This paper presents a novel skip list implementation called JellyFish. JellyFish reduces the overhead of multi-version concurrency control by separating the per-key updates from the key indexing. We implement our design on top of RocksDB and compare it against a wide variety of data structures. Our evaluation with micro-benchmarks and real-world workloads show that we not only improve the throughput by up to 93%, but also reduce the latency of update operations by up to 42%.

Cite

CITATION STYLE

APA

Yeon, J., Lee, H. G., Kim, L., Lee, E., Han, Y., & Kim, B. S. (2020). Jellyfish: A fast skip list with MVCC. In Middleware 2020 - Proceedings of the 2020 21st International Middleware Conference (pp. 134–148). Association for Computing Machinery, Inc. https://doi.org/10.1145/3423211.3425672

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free