20,941 research outputs found

    Polynomial Time Algorithms for Minimum Energy Scheduling

    Get PDF
    The aim of power management policies is to reduce the amount of energy consumed by computer systems while maintaining satisfactory level of performance. One common method for saving energy is to simply suspend the system during the idle times. No energy is consumed in the suspend mode. However, the process of waking up the system itself requires a certain fixed amount of energy, and thus suspending the system is beneficial only if the idle time is long enough to compensate for this additional energy expenditure. In the specific problem studied in the paper, we have a set of jobs with release times and deadlines that need to be executed on a single processor. Preemptions are allowed. The processor requires energy L to be woken up and, when it is on, it uses the energy at a rate of R units per unit of time. It has been an open problem whether a schedule minimizing the overall energy consumption can be computed in polynomial time. We solve this problem in positive, by providing an O(n5)-time algorithm. In addition we provide an O(n4)-time algorithm for computing the minimum energy schedule when all jobs have unit length

    Minimizing Energy Use of Mixed-Fleet Public Transit for Fixed-Route Service

    Full text link
    Public transit can have significantly lower environmental impact than personal vehicles; however, it still uses a substantial amount of energy, causing air pollution and greenhouse gas emission. While electric vehicles (EVs) can reduce energy use, most public transit agencies have to employ them in combination with conventional, internal-combustion engine vehicles due to the high upfront costs of EVs. To make the best use of such a mixed fleet of vehicles, transit agencies need to optimize route assignments and charging schedules, which presents a challenging problem for large public transit networks. We introduce a novel problem formulation to minimize fuel and electricity use by assigning vehicles to transit trips and scheduling them for charging while serving an existing fixed-route transit schedule. We present an integer program for optimal discrete-time scheduling, and we propose polynomial-time heuristic algorithms and a genetic algorithm for finding solutions for larger networks. We evaluate our algorithms on the transit service of a mid-size U.S. city using operational data collected from public transit vehicles. Our results show that the proposed algorithms are scalable and achieve near-minimum energy use

    Algorithmic Aspects of Energy-Delay Tradeoff in Multihop Cooperative Wireless Networks

    Full text link
    We consider the problem of energy-efficient transmission in delay constrained cooperative multihop wireless networks. The combinatorial nature of cooperative multihop schemes makes it difficult to design efficient polynomial-time algorithms for deciding which nodes should take part in cooperation, and when and with what power they should transmit. In this work, we tackle this problem in memoryless networks with or without delay constraints, i.e., quality of service guarantee. We analyze a wide class of setups, including unicast, multicast, and broadcast, and two main cooperative approaches, namely: energy accumulation (EA) and mutual information accumulation (MIA). We provide a generalized algorithmic formulation of the problem that encompasses all those cases. We investigate the similarities and differences of EA and MIA in our generalized formulation. We prove that the broadcast and multicast problems are, in general, not only NP hard but also o(log(n)) inapproximable. We break these problems into three parts: ordering, scheduling and power control, and propose a novel algorithm that, given an ordering, can optimally solve the joint power allocation and scheduling problems simultaneously in polynomial time. We further show empirically that this algorithm used in conjunction with an ordering derived heuristically using the Dijkstra's shortest path algorithm yields near-optimal performance in typical settings. For the unicast case, we prove that although the problem remains NP hard with MIA, it can be solved optimally and in polynomial time when EA is used. We further use our algorithm to study numerically the trade-off between delay and power-efficiency in cooperative broadcast and compare the performance of EA vs MIA as well as the performance of our cooperative algorithm with a smart noncooperative algorithm in a broadcast setting.Comment: 12 pages, 9 figure

    Throughput Maximization in Multiprocessor Speed-Scaling

    Full text link
    We are given a set of nn jobs that have to be executed on a set of mm speed-scalable machines that can vary their speeds dynamically using the energy model introduced in [Yao et al., FOCS'95]. Every job jj is characterized by its release date rjr_j, its deadline djd_j, its processing volume pi,jp_{i,j} if jj is executed on machine ii and its weight wjw_j. We are also given a budget of energy EE 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. pi,j=pp_{i,j}=p for every ii and jj, 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 ri≤rjr_i \le r_j if and only if di≤djd_i \le d_j, for which we present a pseudopolynomial-time algorithm. Both algorithms are based on a discretization of the problem and the use of dynamic programming
    • …
    corecore