CvxCluster: Solving Large, Complex, Granular Resource Allocation Problems 100-1000x Faster
Obi Nnorom Jr, Stephen Boyd, Philip Levis

TL;DR
CvxCluster introduces a convex optimization-based method for large-scale, complex cluster resource allocation, achieving 100-2,500x faster solutions with near-optimal quality.
Contribution
It presents a novel two-stage algorithm transforming resource allocation into a convex problem, enabling scalable and efficient placement with complex constraints.
Findings
Scales to over 100,000 servers with Azure traces.
Runs 100 to 2,500 times faster than MIP solvers.
Maintains within 3% of optimal objective value.
Abstract
Cluster resource allocation is a multidimensional search problem that finds the best allocation of tasks to servers. Because the search space grows exponentially, modern approaches frame it as a mixed integer program (MIP) or a complex set of search heuristics. This paper proposes using a different approach: convex optimization, which has extremely fast solution methods. The research challenge is devising how to transform cluster resource allocation into a convex problem that generates good placements. We describe CvxCluster, which allocates cluster resources with a two-stage algorithm. The first stage solves a convex relaxation of the placement problem to yield a principled set of per-machine resource prices. The second stage uses these prices to drive a lightweight greedy procedure to place tasks. Experimental results with Azure traces find that CvxCluster scales to 100,480 servers…
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.
