Scheduling Splittable Jobs on Configurable Machines (2312.05416v1)
Abstract: Motivated by deep neural network applications, we study the problem of scheduling splittable jobs (e.g., neural network inference tasks) on configurable machines (e.g., multi-instance GPUs). We are given $n$ jobs and a set $C$ of configurations (e.g, representing ways to configure a GPU) consisting of multisets of blocks (e.g., representing GPU instances). A schedule consists of a set of machines, each assigned some configuration in $C$ with each block in the configuration assigned to process one job. The amount of a job's demand that is satisfied by a given block is an arbitrary function of the job and block. The objective is to satisfy all demands on as few machines as possible. We provide a tight logarithmic approximation algorithm for this problem in the general setting, an asymptotic $(2 + \varepsilon)$-approximation with $O(1)$ input configurations for arbitrary $\varepsilon > 0$, and a polynomial time approximation scheme when both the number and size of configurations are $O(1)$.