@inproceedings{10.1145/3767295.3803608,
author = {Hombal, Kiran and Zhu, Henry and Bhat, Shreesha Gopalakrishna and Kaushikkar, Neil and Alagappan, Ramnatthan and Ganesan, Aishwarya},
title = {A Logically Disaggregated Cache for Replicated Storage Systems},
year = {2026},
isbn = {9798400722127},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3767295.3803608},
doi = {10.1145/3767295.3803608},
abstract = {We study if replicated storage systems effectively utilize the caches embedded within each replica. Our study reveals that existing systems manage the embedded caches in each replica in silos, leading to significant cache redundancy across replicas and consequently low performance. To address this problem, we introduce logically disaggregated cache (Ldc), a new approach to managing caches in replicated storage systems. Ldc disaggregates the embedded caches from the replicas to form a single, logical cache. Ldc then allows any replica to access any part of the logical cache, which reduces redundancy caused by reads. Because writes pollute all caches, Ldc quickly demotes written objects to limit redundancy caused by writes. Ldc, however, realizes that reducing redundancy may hurt performance in some cases and thus employs an online analyzer to strike a balance between cache redundancy and coverage. We implement Ldc in three systems: an eventually-consistent KV store, a strongly-consistent KV store, and a production database. Using microbenchmarks, macrobenchmarks, and real-world traces, we show that the Ldc versions perform significantly better than the original systems (e.g., 2.6\texttimes{} to 5.4\texttimes{} higher throughput in the eventually-consistent KV store under YCSB).},
booktitle = {Proceedings of the 21st European Conference on Computer Systems},
pages = {1381–1398},
numpages = {18},
keywords = {key-value store, replication, cache management, remote memory},
location = {McEwan Hall/The University of Edinburgh, Edinburgh, Scotland UK},
series = {EUROSYS '26}
}