WriteGuards: Distributed Storage Support for Strongly Consistent Caches
Ziming Mao, Atul Adya, Jonathan Ellithorpe, Rishabh Iyer, Matei Zaharia, Scott Shenker, Ion Stoica
摘要
This paper presents a set of in-process and remote distributed caches for datacenter environments, CLINK and CRINK respectively, that provide linearizable reads entirely from memory without contacting storage. These caches remain loosely coupled to the storage layer and achieve high performance, scale, and availability by cooperating with auto-sharders and by tracking consistency metadata at the granularity of key ranges rather than individual keys. To our knowledge, CLINK is the first distributed linked cache that delivers scalable, linearizable reads from memory while remaining loosely coupled with storage.
At the heart of these caches is a lightweight storage primitive called WriteGuards that can be easily added to a distributed store. WriteGuards prevent a subtle race we call the delayed-writes anomaly arising during changes in ownership of key ranges. Each write carries a small fencing value tied to the current owner, and the storage system checks this value to reject delayed writes. WriteGuards apply to key ranges instead of individual keys for scalability, add only a conditional check on the write path, and require no coordination on reads.
We implemented our cache designs on TiDB. The inprocess cache CLINK cuts tail read latency by three orders of magnitude, and the remote cache CRINK reduces it by 2.2 -2.4× relative to direct storage access and existing strongly consistent remote caches.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper12
- FaasCache: keeping serverless computing alive with greedy-dual cachingAlexander Fuerst, Prateek SharmaASPLOS 2021 · 被引用 223 次
- The CacheLib Caching Engine: Design and Experiences at ScaleBenjamin Berg, Daniel S. Berger, Sara McAllister, Isaac Grosof 等OSDI 2020 · 被引用 145 次
- Twine: A Unified Cluster Management System for Shared InfrastructureChunqiang Tang, Kenny Yu, Kaushik Veeraraghavan, Jonathan Kaldor 等OSDI 2020 · 被引用 107 次
- Segcache: a memory-efficient and scalable in-memory key-value cache for small objectsJuncheng Yang, Yao Yue, Rashmi VinayakNSDI 2021 · 被引用 70 次
- Fresh Caching for Dynamic ContentBahman Abolhassani, John Tadrous, Atilla Eryilmaz, Edmund YehINFOCOM 2021 · 被引用 61 次
相关 Paper
- Asynchronous Prefix Recoverability for Fast Distributed StoresTianyu Li, Badrish Chandramouli, Jose M. Faleiro, Samuel Madden 等SIGMOD 2021 · 被引用 7 次
- Carbink: Fault-Tolerant Far MemoryYang Zhou, Hassan M. G. Wassel, Sihang Liu, Jiaqi Gao 等OSDI 2022 · 被引用 35 次
- DRPTM: A Decoupled Read-efficient High-scalable Persistent Transactional MemoryWenkai Liang, Hao Hu, Xiangyu Zou, Wen Xia 等DAC 2023 · 被引用 3 次
- CHIME: A Cache-Efficient and High-Performance Hybrid Index on Disaggregated MemoryXuchuan Luo, Jiacheng Shen, Pengfei Zuo, Xin Wang 等SOSP 2024 · 被引用 10 次
- A Logically Disaggregated Cache for Replicated Storage SystemsKiran Hombal, Henry Zhu, Shreesha Gopalakrishna Bhat, Neil Kaushikkar 等EuroSys 2026
