Optimizing Locality-Aware Memory Management of Key-Value Caches
Open Access
- 19 October 2016
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in International Conference on Acoustics, Speech, and Signal Processing (ICASSP)
- Vol. 66 (5), 862-875
- https://doi.org/10.1109/tc.2016.2618920
Abstract
The in-memory cache system is a performance-critical layer in today's web server architectures. Memcached is one of the most effective, representative, and prevalent among such systems. An important problem is on its memory allocation. The default design does not make the best use of the memory. It is unable to adapt when the demand changes, a problem known as slab calcification. This paper introduces locality-aware memory allocation (LAMA), which addresses the problem by first analyzing the locality of Memcached's requests and then reassigning slabs to minimize the miss ratio or the average response time. By evaluating LAMA using various industry and academic workloads, the paper shows that LAMA outperforms existing techniques in the steady-state performance, the speed of convergence, and the ability to adapt to request pattern changes, and overcome slab calcification. The new solution is close to optimal, achieving over 98 percent of the theoretical potential. Furthermore, LAMA can also be adopted in resource partitioning to guarantee quality-of-service (QoS).Keywords
Funding Information
- National Science Foundation of China (61232008, 61272158, 61328201, 61472008, 61672053)
- 863 program of China (2015AA015305)
- National Science Foundation (CCF-1629376, CNS-1319617, CNS-1527076, CSR-1618384, CSR-1422342)
- IBM
- CAS
This publication has 28 references indexed in Scilit:
- Locality principle revisited: A probability-based quantitative approachJournal of Parallel and Distributed Computing, 2013
- Workload analysis of a large-scale key-value storeACM SIGMETRICS Performance Evaluation Review, 2012
- Program locality analysis using reuse distanceACM Transactions on Programming Languages and Systems, 2009
- RapidMRCACM SIGARCH Computer Architecture News, 2009
- Discovery of Locality-Improving Refactorings by Reuse Path AnalysisLecture Notes in Computer Science, 2006
- Dynamic tracking of page miss ratio curve for memory managementACM SIGOPS Operating Systems Review, 2004
- Dynamic Partitioning of Shared Cache MemoryThe Journal of Supercomputing, 2004
- Optimal partitioning of cache memoryInternational Conference on Acoustics, Speech, and Signal Processing (ICASSP), 1992
- Implementing stack simulation for highly-associative memoriesACM SIGMETRICS Performance Evaluation Review, 1991
- The working set model for program behaviorCommunications of the ACM, 1968