Workshop paper

UniCache: The Next 700 Caches for Serverless Computing


Different caches for serverless computing are typically effective for their target use cases. However, they do not generalize well to the diverse range of serverless applications and their workloads. To address this issue, we present the first taxonomy of data caching designs for serverless systems. The taxonomy dissects the complex design space into six dimensions, each with multiple design choices. The taxonomy enables us to understand the impact of individual design decisions on the overall cache performance. Based on the taxonomy, we introduce the Unified Cache (UniCache)—a general-purpose caching system for serverless environments. UniCache dynamically reconfigures itself by intelligently selecting the cache organization for each application and thus specializes itself to the application requirements and workloads using a hierarchy of reinforcement learning models. We implement UniCache on two serverless platforms and evaluate it with diverse applications. Compared to a state-of-the-art baseline, UniCache on average speeds-up application execution by 5.7× and improves throughput by 4.6×.