Title
Efficient and Available In-Memory KV-Store with Hybrid Erasure Coding and Replication.
Abstract
In-memory key/value store (KV-store) is a key building block for many systems like databases and large websites. Two key requirements for such systems are efficiency and availability, which demand a KV-store to continuously handle millions of requests per second. A common approach to availability is using replication, such as primary-backup (PBR), which, however, requires M+1 times memory to tolerate M failures. This renders scarce memory unable to handle useful user jobs. This article makes the first case of building highly available in-memory KV-store by integrating erasure coding to achieve memory efficiency, while not notably degrading performance. A main challenge is that an in-memory KV-store has much scattered metadata. A single KV put may cause excessive coding operations and parity updates due to excessive small updates to metadata. Our approach, namely Cocytus, addresses this challenge by using a hybrid scheme that leverages PBR for small-sized and scattered data (e.g., metadata and key), while only applying erasure coding to relatively large data (e.g., value). To mitigate well-known issues like lengthy recovery of erasure coding, Cocytus uses an online recovery scheme by leveraging the replicated metadata information to continuously serve KV requests. To further demonstrate the usefulness of Cocytus, we have built a transaction layer by using Cocytus as a fast and reliable storage layer to store database records and transaction logs. We have integrated the design of Cocytus to Memcached and extend it to support in-memory transactions. Evaluation using YCSB with different KV configurations shows that Cocytus incurs low overhead for latency and throughput, can tolerate node failures with fast online recovery, while saving 33% to 46% memory compared to PBR when tolerating two failures. A further evaluation using the SmallBank OLTP benchmark shows that in-memory transactions can run atop Cocytus with high throughput, low latency, and low abort rate and recover fast from consecutive failures.
Year
DOI
Venue
2017
10.1145/3129900
TOS
Keywords
Field
DocType
KV-store, Primary-backup replication, erasure coding, transactions
Metadata,Computer science,Latency (engineering),Online transaction processing,Coding (social sciences),Transaction log,Real-time computing,Latency (engineering),Throughput,Erasure code,Distributed computing
Journal
Volume
Issue
ISSN
13
3
1553-3077
Citations 
PageRank 
References 
22
0.74
38
Authors
7
Name
Order
Citations
PageRank
Haibo Chen11749123.40
Heng Zhang2272.67
mingkai dong3363.31
zhaoguo wang41328.56
Yubin Xia524915.75
Haibing Guan61106105.35
Binyu Zang798462.75