### The Geometry of Scheduling

Nikhil Bansal, Kirk Pruhs
2010 2010 IEEE 51st Annual Symposium on Foundations of Computer Science
We consider the following general scheduling problem: The input consists of n jobs, each with an arbitrary release time, size, and monotone function specifying the cost incurred when the job is completed at a particular time. The objective is to find a preemptive schedule of minimum aggregate cost. This problem formulation is general enough to include many natural scheduling objectives, such as total weighted flow time, total weighted tardiness, and sum of flow time squared. We give an O(log
more » ... P ) approximation for this problem, where P is the ratio of the maximum to minimum job size. We also give an O(1) approximation in the special case of identical release times. These results are obtained by reducing the scheduling problem to a geometric capacitated set cover problem in two dimensions. Introduction We consider the following general offline scheduling problem: General Scheduling Problem (GSP): The input consists of a collection of n jobs, and for each job j there is a positive integer release time r j , a positive integer size p j , and a cost or weight function w j (t) ≥ 0 specifying a nonnegative cost for each time t > r j (we will specify later how these weight functions are represented). A feasible solution is a preemptive schedule, which is an assignment to each unit time interval [t, t + 1] of a job j, released not after time t that is run during that time interval. A job is completed once it has been run for p j units of time. If job j completes at time t, then a cost of w j (t) is incurred for that job. The objective is to minimize the total cost, n j=1 w j (c j ), where c j is the completion time of job j. GSP generalizes several natural scheduling problems, for example: Weighted Flow Time: If w j (t) = w j · (t − r j ), where w j is some fixed weight associated with job j, then the objective is total weighted flow time. Flow Time Squared: If w j (t) = (t − r j ) 2 , then the objective is the sum of the squares of flow times. Weighted Tardiness: If w j (t) = w j max(0, t − d j ) for some deadline d j ≥ r j , then the objective is total weighted tardiness. In general, this problem formulation can model any cost objective function that is the sum of arbitrary cost functions for individual jobs. Note that since preemption is allowed, we can always assume that the cost functions are non-decreasing. Flow time, which is the duration of time c j − r j that a job is in the system, is one of the most natural and commonly used quality of service measures for a job in the computer systems literature. Many commonly-used and commonly-studied scheduling objectives are based on combining the flow times