ROBUS: Fair Cache Allocation for Multi-tenant Data-parallel Workloads
Mayuresh Kunjir, Brandon Fain, Kamesh Munagala, Shivnath Babu

TL;DR
ROBUS introduces a fair cache allocation method for multi-tenant data processing systems, balancing performance improvements with fairness by employing a novel cooperative game theory-based model and randomized algorithms.
Contribution
Develops a novel fairness model incorporating core and envy-freeness for shared cache resources, with a polynomial-time approximation algorithm implemented on Spark.
Findings
Achieves near-optimal speedup while maintaining fairness.
Provides a polynomial-time approximation for the fair cache allocation problem.
Demonstrates effectiveness on industry-standard workloads.
Abstract
Systems for processing big data---e.g., Hadoop, Spark, and massively parallel databases---need to run workloads on behalf of multiple tenants simultaneously. The abundant disk-based storage in these systems is usually complemented by a smaller, but much faster, {\em cache}. Cache is a precious resource: Tenants who get to use cache can see two orders of magnitude performance improvement. Cache is also a limited and hence shared resource: Unlike a resource like a CPU core which can be used by only one tenant at a time, a cached data item can be accessed by multiple tenants at the same time. Cache, therefore, has to be shared by a multi-tenancy-aware policy across tenants, each having a unique set of priorities and workload characteristics. In this paper, we develop cache allocation strategies that speed up the overall workload while being {\em fair} to each tenant. We build a novel…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
