36,927 research outputs found
Energy Efficient Scheduling and Routing via Randomized Rounding
We propose a unifying framework based on configuration linear programs and
randomized rounding, for different energy optimization problems in the dynamic
speed-scaling setting. We apply our framework to various scheduling and routing
problems in heterogeneous computing and networking environments. We first
consider the energy minimization problem of scheduling a set of jobs on a set
of parallel speed scalable processors in a fully heterogeneous setting. For
both the preemptive-non-migratory and the preemptive-migratory variants, our
approach allows us to obtain solutions of almost the same quality as for the
homogeneous environment. By exploiting the result for the
preemptive-non-migratory variant, we are able to improve the best known
approximation ratio for the single processor non-preemptive problem.
Furthermore, we show that our approach allows to obtain a constant-factor
approximation algorithm for the power-aware preemptive job shop scheduling
problem. Finally, we consider the min-power routing problem where we are given
a network modeled by an undirected graph and a set of uniform demands that have
to be routed on integral routes from their sources to their destinations so
that the energy consumption is minimized. We improve the best known
approximation ratio for this problem.Comment: 27 page
Profitable Scheduling on Multiple Speed-Scalable Processors
We present a new online algorithm for profit-oriented scheduling on multiple
speed-scalable processors. Moreover, we provide a tight analysis of the
algorithm's competitiveness. Our results generalize and improve upon work by
\textcite{Chan:2010}, which considers a single speed-scalable processor. Using
significantly different techniques, we can not only extend their model to
multiprocessors but also prove an enhanced and tight competitive ratio for our
algorithm.
In our scheduling problem, jobs arrive over time and are preemptable. They
have different workloads, values, and deadlines. The scheduler may decide not
to finish a job but instead to suffer a loss equaling the job's value. However,
to process a job's workload until its deadline the scheduler must invest a
certain amount of energy. The cost of a schedule is the sum of lost values and
invested energy. In order to finish a job the scheduler has to determine which
processors to use and set their speeds accordingly. A processor's energy
consumption is power \Power{s} integrated over time, where
\Power{s}=s^{\alpha} is the power consumption when running at speed .
Since we consider the online variant of the problem, the scheduler has no
knowledge about future jobs. This problem was introduced by
\textcite{Chan:2010} for the case of a single processor. They presented an
online algorithm which is -competitive. We provide an
online algorithm for the case of multiple processors with an improved
competitive ratio of .Comment: Extended abstract submitted to STACS 201
Energy Efficient Scheduling of MapReduce Jobs
MapReduce is emerged as a prominent programming model for data-intensive
computation. In this work, we study power-aware MapReduce scheduling in the
speed scaling setting first introduced by Yao et al. [FOCS 1995]. We focus on
the minimization of the total weighted completion time of a set of MapReduce
jobs under a given budget of energy. Using a linear programming relaxation of
our problem, we derive a polynomial time constant-factor approximation
algorithm. We also propose a convex programming formulation that we combine
with standard list scheduling policies, and we evaluate their performance using
simulations.Comment: 22 page
Reclaiming the energy of a schedule: models and algorithms
We consider a task graph to be executed on a set of processors. We assume
that the mapping is given, say by an ordered list of tasks to execute on each
processor, and we aim at optimizing the energy consumption while enforcing a
prescribed bound on the execution time. While it is not possible to change the
allocation of a task, it is possible to change its speed. Rather than using a
local approach such as backfilling, we consider the problem as a whole and
study the impact of several speed variation models on its complexity. For
continuous speeds, we give a closed-form formula for trees and series-parallel
graphs, and we cast the problem into a geometric programming problem for
general directed acyclic graphs. We show that the classical dynamic voltage and
frequency scaling (DVFS) model with discrete modes leads to a NP-complete
problem, even if the modes are regularly distributed (an important particular
case in practice, which we analyze as the incremental model). On the contrary,
the VDD-hopping model leads to a polynomial solution. Finally, we provide an
approximation algorithm for the incremental model, which we extend for the
general DVFS model.Comment: A two-page extended abstract of this work appeared as a short
presentation in SPAA'2011, while the long version has been accepted for
publication in "Concurrency and Computation: Practice and Experience
Modulo scheduling with integrated register spilling for clustered VLIW architectures
Clustering is a technique to decentralize the design of future wide issue VLIW cores and enable them to meet the technology constraints in terms of cycle time, area and power dissipation. In a clustered design, registers and functional units are grouped in clusters so that new instructions are needed to move data between them. New aggressive instruction scheduling techniques are required to minimize the negative effect of resource clustering and delays in moving data around. In this paper we present a novel software pipelining technique that performs instruction scheduling with reduced register requirements, register allocation, register spilling and inter-cluster communication in a single step. The algorithm uses limited backtracking to reconsider previously taken decisions. This backtracking provides the algorithm with additional possibilities for obtaining high throughput schedules with low spill code requirements for clustered architectures. We show that the proposed approach outperforms previously proposed techniques and that it is very scalable independently of the number of clusters, the number of communication buses and communication latency. The paper also includes an exploration of some parameters in the design of future clustered VLIW cores.Peer ReviewedPostprint (published version
Speed-scaling with no Preemptions
We revisit the non-preemptive speed-scaling problem, in which a set of jobs
have to be executed on a single or a set of parallel speed-scalable
processor(s) between their release dates and deadlines so that the energy
consumption to be minimized. We adopt the speed-scaling mechanism first
introduced in [Yao et al., FOCS 1995] according to which the power dissipated
is a convex function of the processor's speed. Intuitively, the higher is the
speed of a processor, the higher is the energy consumption. For the
single-processor case, we improve the best known approximation algorithm by
providing a -approximation algorithm,
where is a generalization of the Bell number. For the
multiprocessor case, we present an approximation algorithm of ratio
improving the best known result by a factor of
. Notice that our
result holds for the fully heterogeneous environment while the previous known
result holds only in the more restricted case of parallel processors with
identical power functions
Survey on Combinatorial Register Allocation and Instruction Scheduling
Register allocation (mapping variables to processor registers or memory) and
instruction scheduling (reordering instructions to increase instruction-level
parallelism) are essential tasks for generating efficient assembly code in a
compiler. In the last three decades, combinatorial optimization has emerged as
an alternative to traditional, heuristic algorithms for these two tasks.
Combinatorial optimization approaches can deliver optimal solutions according
to a model, can precisely capture trade-offs between conflicting decisions, and
are more flexible at the expense of increased compilation time.
This paper provides an exhaustive literature review and a classification of
combinatorial optimization approaches to register allocation and instruction
scheduling, with a focus on the techniques that are most applied in this
context: integer programming, constraint programming, partitioned Boolean
quadratic programming, and enumeration. Researchers in compilers and
combinatorial optimization can benefit from identifying developments, trends,
and challenges in the area; compiler practitioners may discern opportunities
and grasp the potential benefit of applying combinatorial optimization
- âŠ