A-Cache: Resolving cache interference for distributed storage with mixed workloads

Distributed key-value stores employ large main memory caches to mitigate the high costs of disk access. A challenge for such caches is that large scale distributed stores simultaneously face multiple workloads, often with drastically different characteristics. Interference between such competing workloads leads to performance degradation through inefficient use of the main memory cache. This paper diagnoses the cache interference seen for representative workloads and then develops A-Cache, an adaptive set of main memory caching methods for distributed key-value stores. Focused on read performance for common workload patterns, A-Cache leads to throughput improvements of up to 150% for competing data-intensive applications running on server class machines.

[1]  Karsten Schwan,et al.  DataStager: scalable data staging services for petascale applications , 2009, HPDC '09.

[2]  Parag Agrawal,et al.  The case for RAMCloud , 2011, Commun. ACM.

[3]  Galen C. Hunt,et al.  Debugging in the (very) large: ten years of implementation and experience , 2009, SOSP '09.

[4]  Vanish Talwar,et al.  VScope: Middleware for Troubleshooting Time-Sensitive Data Center Applications , 2012, Middleware.

[5]  Hsien-Hsin S. Lee,et al.  Way guard: a segmented counting bloom filter approach to reducing energy for set-associative caches , 2009, ISLPED.

[6]  Jin Li,et al.  SkimpyStash: RAM space skimpy key-value store on flash-based storage , 2011, SIGMOD '11.

[7]  Adam Silberstein,et al.  Benchmarking cloud serving systems with YCSB , 2010, SoCC '10.

[8]  Jacqueline Chame,et al.  A tile selection algorithm for data locality and cache interference , 1999, ICS '99.

[9]  Chentao Wu,et al.  Hotspot Prediction and cache in distributed stream-processing storage systems , 2009, 2009 IEEE 28th International Performance Computing and Communications Conference.

[10]  Karsten Schwan,et al.  Symbiotic Scheduling for Shared Caches in Multi-core Systems Using Memory Footprint Signature , 2011, 2011 International Conference on Parallel Processing.

[11]  Song Jiang,et al.  Workload analysis of a large-scale key-value store , 2012, SIGMETRICS '12.

[12]  Tian Luo,et al.  Differentiated storage services , 2011, SOSP.

[13]  Karsten Schwan,et al.  Region scheduling: efficiently using the cache architectures via page-level affinity , 2012, ASPLOS XVII.

[14]  Olivier Temam,et al.  Cache interference phenomena , 1994, SIGMETRICS.

[15]  Xiao Zhang,et al.  Towards practical page coloring-based multicore cache management , 2009, EuroSys '09.

[16]  Lu Liu,et al.  Muppet: MapReduce-Style Processing of Fast Data , 2012, Proc. VLDB Endow..

[17]  Bin Fan,et al.  Small cache, big effect: provable load balancing for randomly partitioned cluster services , 2011, SoCC.

[18]  Brad Fitzpatrick,et al.  Distributed caching with memcached , 2004 .

[19]  Raghu Ramakrishnan,et al.  bLSM: a general purpose log structured merge tree , 2012, SIGMOD Conference.