Utah Scalable Computer Systems Lab

Memshare: Memory Resource Sharing in Multi-tenant Web Caches
Asaf Cidon, Daniel Rushton, Stephen M. Rumble, and Ryan Stutsman

 Publisher Page  PDF  Source Code  Bibtex


Web application performance heavily relies on the hit rate of DRAM key-value caches. Current DRAM caches statically partition memory across applications that share the cache. This results in under utilization and limits cache hit rates. We present Memshare, a DRAM key-value cache that dynamically manages memory across applications. Memshare provides a resource sharing model that guarantees reserved memory to different applications while dynamically pooling and sharing the remaining memory to optimize overall hit rate.

Key-value caches are typically memory capacity bound, which leaves cache server CPU and memory bandwidth idle. Memshare leverages these resources with a log-structured design that allows it to provide better hit rates than conventional caches by dynamically re-partitioning memory among applications. We implemented Memshare and ran it on a week-long trace from a commercial memcached provider. Memshare increases the combined hit rate of the applications in the trace from 84.7% to 90.8%, and it reduces the total number of misses by 39.7% without significantly affecting cache throughput or latency. Even for single-tenant applications, Memshare increases the average hit rate of the state-of-the-art key-value cache by an additional 2.7%


  author = {Asaf Cidon and Daniel Rushton and Stephen M. Rumble and Ryan Stutsman},
  title = { {Memshare: Memory Resource Sharing in Multi-tenant Web Caches} },
  booktitle = {Proceedings of the 2017 USENIX Conference on Annual Technical Conference},
  series = {USENIX ATC'17},
  year = {2017},
  location = {Santa Clara, CA},
  publisher = {USENIX Association},
  address = {Berkeley, CA, USA},
  url = {http://www.usenix.org/conference/atc17/program/presentation/cidon},

Generously Sponsored By

NSF Logo