CacheDOCS: A Dynamic Key-Value Object Caching Service

Gascon-Samson, J., Coppinger, M., Jin, F., Kienzle, J., Kemme, B. (2017) CacheDOCS: A Dynamic Key-Value Object Caching Service, ICDCS-PED2017, Atlanta, USA
[Preprint] [Presentation Slides]

Abstract: Caching plays an important role in many domains, as it can lead to important performance improvements. A key-value based caching system typically stores the results of popular queries in efficient storage locations. While caching enjoys widespread usage in the context of dynamic web applications, most mainstream caching systems store static binary items, which makes them impractical for many real-world applications that would benefit from storing dynamic items. In this paper, we propose CacheDOCS, a dynamic key-value object caching service that allows for caching arbitrary objects. As part of our model, CacheDOCS provides an API that supports the execution of operations against cached objects, and allows for clients to seamlessly subscribe to keep their local copies in sync with cached remote objects. CacheDOCS supports multiple update dissemination strategies in order to optimize performance, and proposes a versioning mechanism to ensure consistency. We implemented a full version of CacheDOCS and we ran several performance-related experiments under three use-case scenarios.