On optimistic methods for concurrency control
ACM Transactions on Database Systems (TODS)
Journal of Algorithms
The Art of Multiprocessor Programming
The Art of Multiprocessor Programming
Benchmarking cloud serving systems with YCSB
Proceedings of the 1st ACM symposium on Cloud computing
Cheap and large CAMs for high performance data-intensive networked systems
NSDI'10 Proceedings of the 7th USENIX conference on Networked systems design and implementation
FlashStore: high throughput persistent key-value store
Proceedings of the VLDB Endowment
FAWN: a fast array of wimpy nodes
Communications of the ACM
SkimpyStash: RAM space skimpy key-value store on flash-based storage
Proceedings of the 2011 ACM SIGMOD International Conference on Management of data
SILT: a memory-efficient, high-performance key-value store
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
Fast crash recovery in RAMCloud
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
CPHASH: a cache-partitioned hash table
Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming
Cache craftiness for fast multicore key-value storage
Proceedings of the 7th ACM european conference on Computer Systems
IGCC '11 Proceedings of the 2011 International Green Computing Conference and Workshops
Workload analysis of a large-scale key-value store
Proceedings of the 12th ACM SIGMETRICS/PERFORMANCE joint international conference on Measurement and Modeling of Computer Systems
Characterizing and evaluating a key-value store application on heterogeneous CPU-GPU systems
ISPASS '12 Proceedings of the 2012 IEEE International Symposium on Performance Analysis of Systems & Software
Mercury: bringing efficiency to key-value stores
Proceedings of the 6th International Systems and Storage Conference
High performance in-memory caching through flexible fine-grained services
Proceedings of the 4th annual Symposium on Cloud Computing
Dynamic performance profiling of cloud caches
Proceedings of the 4th annual Symposium on Cloud Computing
Scalable, high performance ethernet forwarding with CuckooSwitch
Proceedings of the ninth ACM conference on Emerging networking experiments and technologies
Log-structured memory for DRAM-based storage
FAST'14 Proceedings of the 12th USENIX conference on File and Storage Technologies
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
MICA: a holistic approach to fast in-memory key-value storage
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Hi-index | 0.00 |
This paper presents a set of architecturally and workload-inspired algorithmic and engineering improvements to the popular Memcached system that substantially improve both its memory efficiency and throughput. These techniques--optimistic cuckoo hashing, a compact LRU-approximating eviction algorithm based upon CLOCK, and comprehensive implementation of optimistic locking--enable the resulting system to use 30% less memory for small key-value pairs, and serve up to 3x as many queries per second over the network. We have implemented these modifications in a system we call MemC3--Memcached with CLOCK and Concurrent Cuckoo hashing--but believe that they also apply more generally to many of today's read-intensive, highly concurrent networked storage and caching systems.