In-memory object caches are extensively used in today's web installations [1, 6]. Most existing systems adopt monolithic storage models and engineer optimizations on specific workload characteristics [3, 6] or operations [4, 5]. Such optimizations are insufficient as large-scale cloud workloads typically exhibit both temporal and spatial shifts - requirements vary within the same deployment over time and different parts of the same workload demonstrate different access patterns. To this end, we propose a caching tier that supports differentiated services in multiple dimensions. Since there is no best "one-size-fits-all" solution for all workload requirements, we argue that a fine-grained modular design will provide both high performance and flexibility in supporting multiple services.
[1]
Bin Fan,et al.
MemC3: Compact and Concurrent MemCache with Dumber Caching and Smarter Hashing
,
2013,
NSDI.
[2]
Eddie Kohler,et al.
Cache craftiness for fast multicore key-value storage
,
2012,
EuroSys '12.
[3]
Hui Ding,et al.
TAO: Facebook's Distributed Data Store for the Social Graph
,
2013,
USENIX Annual Technical Conference.
[4]
Tony Tung,et al.
Scaling Memcache at Facebook
,
2013,
NSDI.