We are given a set of @math jobs and a single processor that can vary its speed dynamically. Each job @math is characterized by its processing requirement (work) @math , its release date @math and its deadline @math . We are also given a budget of energy @math and we study the scheduling problem of maximizing the throughput (i.e. the number of jobs which are completed on time). We propose a dynamic programming algorithm that solves the preemptive case of the problem, i.e. when the execution of the jobs may be interrupted and resumed later, in pseudo-polynomial time. Our algorithm can be adapted for solving the weighted version of the problem where every job is associated with a weight @math and the objective is the maximization of the sum of the weights of the jobs that are completed on time. Moreover, we provide a strongly polynomial time algorithm to solve the non-preemptive unweighed case when the jobs have the same processing requirements. For the weighted case, our algorithm can be adapted for solving the non-preemptive version of the problem in pseudo-polynomial time.
Dynamic Voltage Scaling techniques allow the processor to set its speed dynamically in order to reduce energy consumption. It was shown that if the processor can run at arbitrary speeds and uses power s^@a when running at speed s, the online heuristic AVR has a competitive ratio (2@a)^@a 2. In this paper we first study the online heuristics for the discrete model where the processor can only run at d given speeds. We propose a method to transform online heuristic AVR to an online heuristic for the discrete model and prove a competitive ratio 2^@a^-^1(@a-1)^@a^-^1(@d^@a-1)^@a(@d-1)(@d^@a-@d)^@a^-^1+1, where @d is the maximum ratio between adjacent non-zero speed levels. We also prove that the analysis holds for a class of heuristics that satisfy certain natural properties. We further study the throughput maximization problem when there is an upper bound for the maximum speed. We propose a greedy algorithm with running time O(n^2logn) and prove that the output schedule is a 3-approximation of the throughput and a (@a-1)^@a^-^1(3^@a-1)^@a2@a^@a(3^@a^-^1-1)^@a^-^1-approximation of the energy consumption.  The past few years have witnessed different scheduling algorithms for a processor that can manage its energy usage by scaling dynamically its speed. In this paper we attempt to extend such work to the two-processor setting. Specifically, we focus on deadline scheduling and study online algorithms for two processors with an objective of maximizing the throughput, while using the smallest possible energy. The motivation comes from the fact that dual-core processors are getting common nowadays. Our first result is a new analysis of the energy usage of the speed function OA [15,4,8] with respect to the optimal two-processor schedule. This immediately implies a trivial two-processor algorithm that is 16-competitive for throughput and O(1)-competitive for energy. A more interesting result is a new online strategy for selecting jobs for the two processors. Together with OA, it improves the competitive ratio for throughput from 16 to 3, while increasing that for energy by a factor of 2. Note that even if the energy usage is not a concern, no algorithm can be better than 2-competitive with respect to throughput.  Existing work on scheduling with energy concern has focused on minimizing the energy for completing all jobs or achieving maximum throughput [19, 2,7,13,14]. That is, energy usage is a secondary concern when compared to throughput and the schedules targeted may be very poor in energy efficiency. In this paper, we attempt to put energy efficiency as the primary concern and study how to maximize throughput subject to a user-defined threshold of energy efficiency. We first show that all deterministic online algorithms have a competitive ratio at least Δ, where Δ is the max-min ratio of job size. Nevertheless, allowing the online algorithm to have a slightly poorer energy efficiency leads to constant (i.e., independent of Δ) competitive online algorithm. On the other hand, using randomization, we can reduce the competitive ratio to O(logΔ) without relaxing the efficiency threshold. Finally we consider a special case where no jobs are "demanding" and give a deterministic online algorithm with constant competitive ratio for this case. We consider online scheduling algorithms in the dynamic speedscaling model, where a processor can scale its speed between 0 andsome maximum speed T. The processor uses energy at ratesαwhen run at speed s,where α> 1 is a constant. Most modern processorsuse dynamic speed scaling to manage their energy usage. This leadsto the problem of designing execution strategies that are bothenergy efficient, and yet have almost optimum performance. We consider two problems in this model and give essentiallyoptimum possible algorithms for them. In the first problem, jobswith arbitrary sizes and deadlines arrive online and the goal is tomaximize the throughput, i.e. the total size of jobs completedsuccessfully. We give an algorithm that is 4-competitive forthroughput and O(1)-competitive for the energy used. Thisimproves upon the 14 throughput competitive algorithm of . [10]. Our throughput guarantee is optimal as any onlinealgorithm must be at least 4-competitive even if the energy concernis ignored [7]. In the second problem, we consider optimizing thetrade-off between the total flow time incurred and the energyconsumed by the jobs. We give a 4-competitive algorithm to minimizetotal flow time plus energy for unweighted unit size jobs, and a (2+ o(1)) α ln α-competitivealgorithm to minimize fractional weighted flow time plus energy.Prior to our work, these guarantees were known only when theprocessor speed was unbounded (T= ∞) [4].