Cyclone: High Availability for Persistent Key Value Stores

11/19/2017
by   Amitabha Roy, et al.
0

Persistent key value stores are an important component of many distributed data serving solutions with innovations targeted at taking advantage of growing flash speeds. Unfortunately their performance is hampered by the need to maintain and replicate a write ahead log to guarantee availability in the face of machine and storage failures. Cyclone is a replicated log plug-in for key value stores that systematically addresses various sources of this bottleneck. It uses a small amount of non-volatile memory directly addressable by the CPU - such as in the form of NVDIMMs or Intel 3DXPoint - to remove block oriented IO devices such as SSDs from the critical path for appending to the log. This enables it to address network overheads using an implementation of the RAFT consensus protocol that is designed around a userspace network stack to relieve the CPU of the burden of data copies. Finally, it provides a way to efficiently map the commutativity in key-value store APIs to the parallelism available in commodity NICs. Cyclone is able to replicate millions of small updates per second using only commodity 10 gigabit ethernet adapters. As a practical application, we use it to improve the performance (and availability) of RocksDB, a popular persistent key value store by an order of magnitude when compared to its own write ahead log without replication.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/28/2020

CedrusDB: Persistent Key-Value Store with Memory-Mapped Lazy-Trie

As RAM is becoming cheaper and growing abundant, it is time to revisit t...
research
09/19/2022

DINOMO: An Elastic, Scalable, High-Performance Key-Value Store for Disaggregated Persistent Memory (Extended Version)

We present Dinomo, a novel key-value store for disaggregated persistent ...
research
08/31/2020

Power and Performance Analysis of Persistent Key-Value Stores

With the current rate of data growth, processing needs are becoming diff...
research
10/19/2021

Using RDMA for Efficient Index Replication in LSM Key-Value Stores

Log-Structured Merge tree (LSM tree) Key-Value (KV) stores have become a...
research
04/17/2019

In Search of a Key Value Store with High Performance and High Availability

In recent year, the write-heavy applications is more and more prevalent....
research
11/27/2017

DTranx: A SEDA-based Distributed and Transactional Key Value Store with Persistent Memory Log

Current distributed key value stores achieve scalability by trading off ...
research
06/24/2022

Arcadia: A Fast and Reliable Persistent Memory Replicated Log

The performance properties of byte-addressable persistent memory (PMEM) ...

Please sign up or login with your details

Forgot password? Click here to reset