Throughput maximization for speed scaling with agreeable deadlines
Résumé
We study the following energy-efficient scheduling problem. We are given a set of n jobs which have to be scheduled by a single processor whose speed can be varied dynamically. Each job Jj is characterized by a processing requirement (work) pj, a release date rj, and a deadline dj. We are also given a budget of energy E which must not be exceeded and our objective is to maximize the throughput (i.e., the number of jobs which are completed on time). We show that the problem can be solved optimally via dynamic programming in O(n4log nlog P) time when all jobs have the same release date, where P is the sum of the processing requirements of the jobs. For the more general case with agreeable deadlines where the jobs can be ordered so that, for every i< j, it holds that ri≤ rj and di≤ dj, we propose an optimal dynamic programming algorithm which runs in O(n6log nlog P) time. In addition, we consider the weighted case where every job Jj is also associated with a weight wj and we are interested in maximizing the weighted throughput (i.e., the total weight of the jobs which are completed on time). For this case, we show that the problem becomes NP-hard in the ordinary sense even when all jobs have the same release date and we propose a pseudo-polynomial time algorithm for agreeable instances.