Abstract
Nearly all modern data centers serve workloads which are capable of exploiting parallelism. When a job parallelizes across multiple servers it will complete more quickly, but jobs receive diminishing returns from being allocated additional servers. Because allocating multiple servers to a single job is inefficient, it is unclear how best to share a fixed number of servers between many parallelizable jobs. In this paper, we provide the first closed form expression for the optimal allocation of servers to jobs. Specifically, we specify the number of servers that should be allocated to each job at every moment in time. Our solution is a combination of favoring small jobs (as in SRPT scheduling) while still ensuring high system efficiency. We call our scheduling policy high-efficiency SRPT (heSRPT).
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have