Abstract
We consider the Vector Scheduling problem, a natural generalization of the classical makespan minimization problem to multiple resources. Here, we are given n jobs, represented as d-dimensional vectors in [0,1]^d, and m identical machines, and the goal is to assign the jobs to machines such that the maximum load of each machine over all the coordinates is at most 1. For fixed d, the problem admits an approximation scheme, and the best known running time is n^{f(epsilon ,d)} where f(epsilon ,d) = (1/epsilon )^{tilde{O}(d)} (tilde{O} suppresses polylogarithmic terms in d). In particular, the dependence on d is double exponential. In this paper we show that a double exponential dependence on d is necessary, and give an improved algorithm with essentially optimal running time. Specifically, we let exp (x) denote 2^x and show that: (1) For any epsilon <1, there is no (1+epsilon )-approximation with running time exp left( o(lfloor 1/epsilon rfloor ^{d/3})right) unless the Exponential Time Hypothesis fails. (2) No (1+epsilon )-approximation with running time exp left( lfloor 1/epsilon rfloor ^{o(d)}right) exists, unless NP has subexponential time algorithms. (3) Similar lower bounds also hold even if epsilon m extra machines are allowed (i.e. with resource augmentation), for sufficiently small epsilon >0. (4) We complement these lower bounds with a (1+epsilon )-approximation that runs in time exp left( (1/epsilon )^{O(d log log d)}right) + nd. This gives the first efficient approximation scheme (EPTAS) for the problem.
Highlights
We consider the Vector Scheduling problem defined as follows
The input consists of a collection J of n jobs p1, . . . , pn, viewed as d-dimensional vectors from [0, 1]d, and m identical machines
A natural question is whether there exists an approximation scheme for Vector Scheduling with a single exponential running time in 1/ and d, e.g. exp(poly(1/, d))
Summary
We consider the Vector Scheduling problem defined as follows. The input consists of a collection J of n jobs p1, . . . , pn, viewed as d-dimensional vectors from [0, 1]d , and m identical machines. The maximum load on any machine in any coordinate is at most 1. Vector Scheduling is the natural multi-dimensional generalization of the classic Multiprocessor Scheduling problem ( known as makespan minimization, P||Cmax, or load balancing). In the latter problem, the goal is to assign n jobs with arbitrary processing times to m machines in order to minimize the maximum sum of processing times (load) over all the machines. Note that the assumption that the maximum load of a machine in any coordinate is 1 is without loss of generality, as the different coordinates can be scaled independently. We say that an algorithm is an α-approximation for some α > 1 if it finds an assignment with load at most α, whenever there exists a feasible schedule with load at most 1
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.