Windows scheduling of arbitrary-length jobs on multiple machines

  • Authors:
  • Amotz Bar-Noy;Richard E. Ladner;Tami Tamir;Tammy Vandegrift

  • Affiliations:
  • Computer & Information Science Department, Brooklyn College, Brooklyn, USA 11210;Department of Computer Science and Engineering, University of Washington, Seattle, USA 98195;School of Computer Science, The Interdisciplinary Center, Herzliya, Israel;Electrical Engineering & Computer Science, University of Portland, Portland, USA 97203

  • Venue:
  • Journal of Scheduling
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

The generalized windows scheduling problem for n jobs on multiple machines is defined as follows: Given is a sequence, I=驴(w 1,驴 1),(w 2,驴 2),驴,(w n ,驴 n )驴 of n pairs of positive integers that are associated with the jobs 1,2,驴,n, respectively. The processing length of job i is 驴 i slots where a slot is the processing time of one unit of length. The goal is to repeatedly and non-preemptively schedule all the jobs on the fewest possible machines such that the gap (window) between two consecutive beginnings of executions of job i is at most w i slots. This problem arises in push broadcast systems in which data are transmitted on multiple channels. The problem is NP-hard even for unit-length jobs and a (1+驴)-approximation algorithm is known for this case by approximating the natural lower bound $W(I)=\sum_{i=1}^{n}(1/w_{i})$ . The techniques used for approximating unit-length jobs cannot be extended for arbitrary-length jobs mainly because the optimal number of machines might be arbitrarily larger than the generalized lower bound $W(I)=\sum_{i=1}^{n}(\ell_{i}/w_{i})$ . The main result of this paper is an 8-approximation algorithm for the WS problem with arbitrary lengths using new methods, different from those used for the unit-length case. The paper also presents another algorithm that uses 2(1+驴)W(I)+logw max machines and a greedy algorithm that is based on a new tree representation of schedules. The greedy algorithm is optimal for some special cases, and computational experiments show that it performs very well in practice.