Proceedings of the VLDB Endowment · 2020 · 27 citations · 41 references
ComputingComputer EngineeringComputer ScienceOperating SystemsParallel ComputingStorage SystemsCachingLatency OptimizationStorage ManagementStorage ScalabilityAsynchronous ProgrammingHardware ResourcesKey-value StoresLog-structured StoragePerformance PredictabilityTail LatencyTail Latency ReductionThroughput
Modern applications employ key-value stores (KVS) in at least some point of their software stack, often as a caching system or a storage manager. Many of these applications also require a high degree of responsiveness and performance predictability. However, most KVS have similar design decisions which focus on improving throughput metrics, at times by sacrificing latency. While latency can be occasionally reduced by over provisioning hardware, this entails significant increase in costs. In this paper we present RStore, a KVS which focus on low tail latency as its primary goal, while also enabling efficient usage of hardware resources. To that aim, we argue in favor of techniques such as an asynchronous programming model, message-passing communication, and log-structured storage on modern hardware. Throughout the paper we discuss these and other design decisions of RStore that differ from those of more traditional systems. Our evaluation shows that RStore scales its throughput with an increasing number of cores while maintaining a robust behavior with low and predictable latency.
41
Benchmarking cloud serving systems with YCSB
Brian F. Cooper, Adam Silberstein, Erwin Tam et al. · 2010 · 3.6K citations
Giuseppe DeCandia, Deniz Hastorun, Madan Jampani et al. · 2007 · 3.5K citations
Luiz André Barroso · Communications of the ACM · 2013 · 1.7K citations
In search of an understandable consensus algorithm
Diego Ongaro, John K. Ousterhout · 2014 · 1.5K citations
The log-structured merge-tree (LSM-tree)
Patrick E. O׳Neil, E.T. Cheng, Dieter Gawlick et al. · Acta Informatica · 1996 · 1.3K citations