🤖 AI Summary
This work addresses the challenge of efficiently solving task scheduling in large-scale clusters, where the exponential growth of the search space renders exact methods intractable. The authors propose CvxCluster, a two-stage algorithm that reformulates the discrete resource allocation problem as a convex optimization problem. In the first stage, convex relaxation yields machine-specific resource prices; in the second, a lightweight, price-driven greedy strategy places tasks accordingly. By integrating convex optimization, resource pricing, and greedy heuristics, CvxCluster naturally accommodates complex constraints such as heterogeneous machine types, GPU servers, and task anti-affinity. Evaluated on real-world Azure workloads, the system scales to 100,480 servers, handles task arrival rates up to 500,000× higher than baseline scenarios, runs 100–2,500× faster than state-of-the-art MIP solvers, and achieves solutions within 3% of optimality.
📝 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 under proportional workload growth and sustains arrival rates up to 500,000x the baseline trace. CvxCluster runs 100 to 2,500x faster than a state-of-the-art MIP solver while remaining within 3% of the optimal objective. CvxCluster can support complex constraints such as job anti-affinity, machine types, and GPU servers. The key insight behind CvxCluster is that reformulating placement as a continuous rather than discrete problem enables much faster methods that find solutions just as good or better than prior heuristics.