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+ε)-approximation with O(1) input configurations for arbitrary ε>0, and a polynomial time approximation scheme when both the number and size of configurations are O(1).
@article{arxiv.2312.05416,
title = {Scheduling Splittable Jobs on Configurable Machines},
author = {Matthew Casey and Rajmohan Rajaraman and David Stalfa},
journal= {arXiv preprint arXiv:2312.05416},
year = {2023}
}