51,476 research outputs found
SELFISHMIGRATE: A Scalable Algorithm for Non-clairvoyantly Scheduling Heterogeneous Processors
We consider the classical problem of minimizing the total weighted flow-time
for unrelated machines in the online \emph{non-clairvoyant} setting. In this
problem, a set of jobs arrive over time to be scheduled on a set of
machines. Each job has processing length , weight , and is
processed at a rate of when scheduled on machine . The online
scheduler knows the values of and upon arrival of the job,
but is not aware of the quantity . We present the {\em first} online
algorithm that is {\em scalable} ((1+\eps)-speed
-competitive for any constant \eps > 0) for the
total weighted flow-time objective. No non-trivial results were known for this
setting, except for the most basic case of identical machines. Our result
resolves a major open problem in online scheduling theory. Moreover, we also
show that no job needs more than a logarithmic number of migrations. We further
extend our result and give a scalable algorithm for the objective of minimizing
total weighted flow-time plus energy cost for the case of unrelated machines
and obtain a scalable algorithm. The key algorithmic idea is to let jobs
migrate selfishly until they converge to an equilibrium. Towards this end, we
define a game where each job's utility which is closely tied to the
instantaneous increase in the objective the job is responsible for, and each
machine declares a policy that assigns priorities to jobs based on when they
migrate to it, and the execution speeds. This has a spirit similar to
coordination mechanisms that attempt to achieve near optimum welfare in the
presence of selfish agents (jobs). To the best our knowledge, this is the first
work that demonstrates the usefulness of ideas from coordination mechanisms and
Nash equilibria for designing and analyzing online algorithms
Greed Works -- Online Algorithms For Unrelated Machine Stochastic Scheduling
This paper establishes performance guarantees for online algorithms that
schedule stochastic, nonpreemptive jobs on unrelated machines to minimize the
expected total weighted completion time. Prior work on unrelated machine
scheduling with stochastic jobs was restricted to the offline case, and
required linear or convex programming relaxations for the assignment of jobs to
machines. The algorithms introduced in this paper are purely combinatorial. The
performance bounds are of the same order of magnitude as those of earlier work,
and depend linearly on an upper bound on the squared coefficient of variation
of the jobs' processing times. Specifically for deterministic processing times,
without and with release times, the competitive ratios are 4 and 7.216,
respectively. As to the technical contribution, the paper shows how dual
fitting techniques can be used for stochastic and nonpreemptive scheduling
problems.Comment: Preliminary version appeared in IPCO 201
Throughput Maximization in Multiprocessor Speed-Scaling
We are given a set of jobs that have to be executed on a set of
speed-scalable machines that can vary their speeds dynamically using the energy
model introduced in [Yao et al., FOCS'95]. Every job is characterized by
its release date , its deadline , its processing volume if
is executed on machine and its weight . We are also given a budget
of energy and our objective is to maximize the weighted throughput, i.e.
the total weight of jobs that are completed between their respective release
dates and deadlines. We propose a polynomial-time approximation algorithm where
the preemption of the jobs is allowed but not their migration. Our algorithm
uses a primal-dual approach on a linearized version of a convex program with
linear constraints. Furthermore, we present two optimal algorithms for the
non-preemptive case where the number of machines is bounded by a fixed
constant. More specifically, we consider: {\em (a)} the case of identical
processing volumes, i.e. for every and , for which we
present a polynomial-time algorithm for the unweighted version, which becomes a
pseudopolynomial-time algorithm for the weighted throughput version, and {\em
(b)} the case of agreeable instances, i.e. for which if and only
if , for which we present a pseudopolynomial-time algorithm. Both
algorithms are based on a discretization of the problem and the use of dynamic
programming
Energy Efficient Scheduling via Partial Shutdown
Motivated by issues of saving energy in data centers we define a collection
of new problems referred to as "machine activation" problems. The central
framework we introduce considers a collection of machines (unrelated or
related) with each machine having an {\em activation cost} of . There
is also a collection of jobs that need to be performed, and is
the processing time of job on machine . We assume that there is an
activation cost budget of -- we would like to {\em select} a subset of
the machines to activate with total cost and {\em find} a schedule
for the jobs on the machines in minimizing the makespan (or any other
metric).
For the general unrelated machine activation problem, our main results are
that if there is a schedule with makespan and activation cost then we
can obtain a schedule with makespan \makespanconstant T and activation cost
\costconstant A, for any . We also consider assignment costs for
jobs as in the generalized assignment problem, and using our framework, provide
algorithms that minimize the machine activation and the assignment cost
simultaneously. In addition, we present a greedy algorithm which only works for
the basic version and yields a makespan of and an activation cost .
For the uniformly related parallel machine scheduling problem, we develop a
polynomial time approximation scheme that outputs a schedule with the property
that the activation cost of the subset of machines is at most and the
makespan is at most for any
- …