DistCache: Provable Load Balancing for Large-Scale Storage Systems with Distributed Caching
Talkat USENIX ATC '19 · on Wednesday, 2019-07-10· at 16:10· USENIX ATC Track I: Grand Ballroom I–VI·
summary
DistCache splits a single hot-cache into many small nodes, allocating hot items with two independent hash functions and routing queries with the power-of-two-choices, proving cache throughput grows roughly linearly with added nodes (assumes any single item’s rate ≤ half a cache node). Implementation uses programmable switch hardware (P4 on Tofino switches) to serve cache layers, keeps one copy per layer to minimize coherence, and evaluates at scale: near-replication read performance, better write throughput when reads ≤ ~30%, and linear scaling to thousands of servers.
AI-written summary · about
chapters (14)
- 0:00Intro
- 0:36Large-scale cloud services need large storage clusters
- 1:00Storage servers have load imbalance issue
- 1:50Solutions to mitigate the load imbalance
- 4:54Insight: Use small cache nodes only
- 5:10First, balance the load within each cluster
- 5:40Second, balance the load between clusters
- 6:14DistCache: Distributed caching as load balancer
- 8:19Design Challenges of DistCache
- 12:37Putting together: DistCache
- 13:31Case Study: Switch-based distributed caching
- 14:55P4: Programmable Protocol Independent Packet Processing
- 17:24Evaluation Setup
- 17:55Evaluation Takeaways
related talks
25mDistCache: Provable Load Balancing for Large-Scale Storage Systems with Distributed...
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
15mFrom Chaos to Clarity: Deciphering Cache Inconsistencies in a Distributed...
21mBuilding Distributed Platforms at Extreme Scale on Fast Changing Data
38mSecuring Distributed Cache: Achieving Secure-by-Default with Key Challenges &...
43mCaching half a billion user transactions
