DistCache: Provable Load Balancing for Large-Scale Storage Systems with Distributed...
summary
DistCache proves a two-layer distributed cache that makes cache throughput grow roughly linearly with added cache nodes and absorbs hot-object skew as long as any single-key query rate ≤ 0.5 × one cache-node throughput. Proofs use expander graphs, network flow, and queuing theory. Implementation uses P4 on programmable switches (two-layer switch cache) and a client-side switch; evaluation shows near-replication throughput for reads and better write performance when write ratio < 30%. Key primitives are independent hash functions for allocation and power-of-two-choices for routing.
AI-written summary · about
chapters (19)
- 0:00Intro
- 1:19Storage servers have load imbalance issue
- 2:08Solutions to mitigate the load imbalance
- 5:52Second, balance the load between clusters
- 7:39Natural goals on a distributed caching mechanism
- 8:33Design Challenges of DistCache
- 9:37Challenge #1: How to allocate the cached items?
- 10:45Independent hashes to allocate the cached items
- 11:58Challenge #2: How to query the cached items?
- 13:32Theoretical Guarantee behind DistCache
- 14:11Proof Sketch: Convert to a perfect matching problem
- 15:06Remarks of the DistCache Analysis
- 15:51Example Deployment Scenarios of DistCache
- 16:37Case Study: Switch-based distributed caching
- 17:30Implementation Overview
- 18:18P4: Programmable Pratocol-independent Packet Processing
- 20:14Evaluation Setup
- 20:47Evaluation Takeaways
- 22:26Conclusions
related talks
21mDistCache: Provable Load Balancing for Large-Scale Storage Systems with Distributed Caching
17mPushing the Limits of In-Network Caching for Key-Value Stores
54mDistributed Caching in Real-Time Payment Systems
19mBeyond the Node: Scaling Inference with Cluster-Wide KVCache...
12mConcordia: Distributed Shared Memory with In-Network Cache Coherence
01h 02mHow to Scale .NET Apps with Distributed Caching
44mHow to speed up your application using JCache
50mLet's talk about the cache!
