A Tight Approximation for Co-flow Scheduling for Minimizing Total Weighted Completion Time
Abstract
Co-flows model a modern scheduling setting that is commonly found in a variety of applications in distributed and cloud computing. In co-flow scheduling, there are m input ports and m output ports. Each co-flow j ∈ J can be represented by a bipartite graph between the input and output ports, where each edge (i,o) with demand di,oj means that di,oj units of packets must be delivered from port i to port o. To complete co-flow j, we must satisfy all of its demands. Due to capacity constraints, a port can only transmit (or receive) one unit of data in unit time. A feasible schedule at each time t must therefore be a bipartite matching. We consider co-flow scheduling and seek to optimize the popular objective of total weighted completion time. Our main result is a (2+ε)-approximation for this problem, which is essentially tight, as the problem is hard to approximate within a factor of (2 - ε). This improves upon the previous best known 4-approximation. Further, our result holds even when jobs have release times without any loss in the approximation guarantee. The key idea of our approach is to construct a continuous-time schedule using a configuration linear program and interpret each job's completion time therein as the job's deadline. The continuous-time schedule serves as a witness schedule meeting the discovered deadlines, which allows us to reduce the problem to a deadline-constrained scheduling problem. * This result is flawed; see the first page for the details.