PARALLEL PROCESSOR SCHEDULING WITH

5 downloads 0 Views 157KB Size Report
max of a nonpreemptive schedule following the longest processing time (LPT) rule versus ... Key words. parallel processor scheduling, preemptive scheduling, ...
c 2003 Society for Industrial and Applied Mathematics 

SIAM J. COMPUT. Vol. 32, No. 3, pp. 671–680

PARALLEL PROCESSOR SCHEDULING WITH LIMITED NUMBER OF PREEMPTIONS∗ ¨ OLIVER BRAUN† AND GUNTER SCHMIDT† Abstract. In this paper, we compare the makespan of preemptive and i-preemptive schedules where only a limited number i of preemptions is allowed. The problem is to schedule n independent jobs on m identical processors that operate in parallel. The objective is to minimize the makespan, i.e., the completion time of the last job that finishes. We show that the ratio of the optimal iip∗ p∗ preemptive schedule length Cmax versus the optimal preemptive schedule length Cmax is bounded ip∗ p∗ from above by Cmax ≤ (2 − 2/(m/(i + 1) + 1))Cmax . Furthermore, we show that the ratio of the LP T of a nonpreemptive schedule following the longest processing time (LPT) rule versus length Cmax p∗ is bounded from above by exactly the same bound the optimal preemptive schedule length Cmax when i = 0. Key words. parallel processor scheduling, preemptive scheduling, nonpreemptive scheduling, i-preemptive scheduling, longest processing time rule, schedule length, worst-case analysis AMS subject classifications. 90B35, 68R05, 68M20 PII. S0097539702410697

1. Introduction. In this paper, we compare the makespan of preemptive, ipreemptive, and LPT schedules for the problem in which a set of n independent jobs has to be scheduled on m identical processors that operate in parallel. The objective is to minimize the makespan, i.e., the maximum completion time of any job. Using the notation by Braun [2], we mean by an i-preemptive schedule that the maximum number of preemptions is bounded from above by a nonnegative integer number i. A preemptive schedule is allowed to interrupt a job and later resume its execution without any loss of time. Also, the minimum time slice for preempting a job may be arbitrarily small. In nonpreemptive schedules, a job is started and executed to completion without any interruption. It is easy to construct an optimal preemptive schedule with McNaughton’s wrap around rule [9], whereas it is an NP-hard problem to construct an optimal nonpreemptive schedule. The longest processing time (LPT) rule, which orders the jobs in nondecreasing order of their processing times, is a (4/3 − 1/3m)-approximation algorithm for the nonpreemptive case [6]. Preemptive, nonpreemptive, and LPT schedules are commonly studied in the literature. An analysis of the complexity of these problems, along with several of their variants and special cases, can be found, e.g., in [1], [5], [3], and [10]. It is easy to see that an optimal preemptive schedule is never longer than an optimal nonpreemptive one. The time savings of a preemptive schedule are bought at the costs of moving a job off a processor before it is finished and at the costs of saving information about the job while it is waiting to be resumed. The costs of preempting a job may be neglected in a computer environment. Here, the costs of preempting the execution of a job in the main memory and transferring it to and from the virtual memory, such as mass storage devices, may be ignored. Generally, however, there arise costs with job preemptions such as inventory and transportation ∗ Received by the editors October 16, 2002; accepted for publication (in revised form) January 3, 2003; published electronically April 17, 2003. http://www.siam.org/journals/sicomp/32-3/41069.html † Department of Information and Technology Management, Saarland University, 66041 Saarbr¨ ucken, Germany ([email protected], [email protected]).

671

672

¨ OLIVER BRAUN AND GUNTER SCHMIDT

costs. A small number of preemptions, in general, has advantages such as lower workin-process inventories, reduced material handling costs, fewer tooling changes, quality improvements, and simplified production planning of materials and labor. We investigate the following question: How much more effective (with respect to the objective of minimizing the makespan) can optimal preemptive scheduling be compared to optimal i-preemptive scheduling? More precisely, over all instances I, ip∗ p∗ ip∗ p∗ what is the least upper bound on Cmax (I)/Cmax (I), where Cmax and Cmax denote an optimal i-preemptive and an optimal preemptive makespan, respectively? For a job system with arbitrary precedence constraints, Liu conjectured in [8] that the ratio of the optimal nonpreemptive makespan versus the optimal preemptive makespan is bounded above by 2 − 2/(m + 1). His upper bound proof was found to be incorrect. Coffman and Garey [4] proved Liu’s conjecture for a system with arbitrary precedence constraints and two processors. Hong and Leung [7] showed the correctness of the bound for unit execution time (UET) and also for tree-structured job systems. Their proof for tree-structured job systems is also valid for independent jobs. The paper is organized as follows. In section 2, we show that the ratio of the ip∗ p∗ optimal i-preemptive makespan Cmax versus the optimal preemptive makespan Cmax ∗ ∗ ip p is bounded from above by Cmax ≤ (2 − 2/(m/(i + 1) + 1))Cmax for 0 ≤ i ≤ m − 1. It follows from [9] that no more than m − 1 preemptions are necessary to construct a schedule which is optimal concerning the makespan. Then we show that the ratio of LP T the makespan Cmax of a nonpreemptive schedule following the LPT rule versus the p∗ LP T optimal preemptive makespan Cmax is bounded from above by Cmax ≤ (2m/(m + ∗ p 1))Cmax . For each of the two bounds, we give an example which shows the tightness of the bounds. Concluding remarks are given in section 3. 2. Worst-case analysis. The scheduling problem under consideration is as follows. There are n jobs J1 , . . . , Jn with processing times p1 , . . . , pn that have to be scheduled on m identical parallel processors P1 , . . . , Pm so as to minimize the makespan Cmax . Cmax is the maximum of all finish times Cj , j = 1, . . . , n, of all jobs. Each processor may work only on one job at a time, and each job may be processed p∗ by only one machine at a time. Cmax is the makespan (schedule length) of an optimal ∗ ip preemptive schedule, Cmax is the makespan of an optimal i-preemptive schedule, and LP T Cmax is the makespan of a schedule constructed with the LPT rule. The LPT rule works in the following way: First, sort the jobs in a list in order of nonincreasing processing times. Then assign the first unscheduled job in the list to any one of the least loaded processors. An optimal i-preemptive schedule S allows at most i preemptions. We assume that preemptions are allowed only on the i processors P2 , . . . , Pi+1 . With maxj=1,...,n pj we denote the maximum processing time of a job, and with pmax =   n pj = j=1 pj we denote the sum of all processing times. McNaughton [9] has given a lower bound for the makespan of preemptive schedules:    pj p∗ Cmax , pmax . (2.1) = max m The wrap around rule of McNaughton constructs optimal schedules with at most m − 1 preemptions. If at least m − 1 preemptions are allowed, then one always can construct an optimal schedule with McNaughton’s algorithm. Therefore, we have to investigate for i-preemptive scheduling only the case when 0 ≤ i ≤ m − 1. ip∗ Let Jk be a job with processing time pk and completion time Ck = Cmax . We assume without loss of generality that job Jk is processed on processor Pi+1 or on

SCHEDULING WITH LIMITED NUMBER OF PREEMPTIONS

P1 P2 .. .

.. .

Pi+1 Pi+2 .. .

.. .

673

Pm-1 Pm sk’ sk

Ck=Ck’

t

Fig. 2.1. Lemma 2.1.

 processor Pi+2 . The structure of the proof is as follows. If pk ≥ pj /m, we have ∗ ∗ ip p = Cmax , as  by (2.1) a preemptive schedule cannot be shorter than pk . So we Cmax assume that pk < pj /m. In Lemma 2.1, we show that in an optimal i-preemptive schedule S, there always exists a job Jk with processing time pk and completion time ip∗ Ck = Cmax which is not interrupted. Note that preemptions are allowed only on the i processors P 2 , . . . , Pi+1 . In Lemma 2.2, we prove that the start time of Jk is not larger than ( pj − (i + 1)pk )/m. In Lemmas 2.3 and 2.4, we show that in the p∗ p∗ and pk > (m/(m + i + 1))Cmax , the inequality case when pk ≤ (m/(m + i + 1))Cmax ip∗ p∗ Cmax ≤ (2 − 2/(m/(i + 1) + 1))Cmax is fulfilled. Next we prove the lemmas.  Lemma 2.1. Let Jk be a job with processing time pk < pj /m and completion ∗ ip . In an optimal i-preemptive schedule S, Jk is not preempted. time Ck = Cmax Proof. This proof is by contradiction. Note that a job is preempted one time at most and that the first scheduled part of job Jk must be scheduled on one of the first i + 1 processors, because only on these processors are preemptions allowed. If in schedule S job Jk would be preempted, it would be possible to construct a new schedule S  with the same makespan and with Jk not preempted as follows. Without loss of generality, let P1 be the processor where Jk is preempted in schedule S, and let Pi+1 be the processor where the processing of Jk is finished. If we move the part of job Jk that is scheduled on processor P1 immediately before the start time sk of Jk on processor Pi+1 and schedule the load of P1 , . . . , Pi+1 with McNaughton’s rule, we obtain a new schedule S  with the following properties (see Figure 2.1). 1. The finish times of processors Pi+2 , . . . , Pm remain unchanged. 2. The total capacity to be scheduled on processors P1 , . . . , Pi+1 remains unchanged in schedule S  . As it is allowed to schedule this capacity with Mcip∗ Naughton’s rule, and as there is no job Jj with pj = Cmax , the finish times  of processors P2 , . . . , Pi+1 in schedule S are not larger than Ck of schedule S. Thus schedule S  has the same makespan as schedule S, and Jk is not preempted.  Lemma 2.2. Let Jk be a job with processing time pk < pj /m and completion ∗ ip . For 0 ≤ i ≤ m − 1, the maximum number of allowed preemptions, time Ck = Cmax  the start time sk of Jk in an optimal i-preemptive schedule S is not larger than ( pj − (i + 1)pk )/m. Proof. In Lemma 2.1, it has been shown that in an optimal i-preemptive schedule ip∗ S, job Jk with Ck = Cmax is not preempted. Note that only on the i processors P2 , . . . , Pi+1 are preemptions allowed. Thus we distinguish two cases.

¨ OLIVER BRAUN AND GUNTER SCHMIDT

674

...

P1 P2 .. .

P1 P2 .. .

.. .

Pi+1 Pi+2 .. .

.. .

Pi+1 Pi+2 .. .

.. .

.. .

Pm-1 Pm

Pm-1 Pm s’k sk

C’k Ck

t

Fig. 2.2. Lemma 2.2, Case 1a.

s’k sk

C’k Ck

t

Fig. 2.3. Lemma 2.2, Case 1b.

Case 1. In an optimal i-preemptive schedule S, Jk is processed on one of the first i + 1 processors (without loss of generality on Pi+1 ). Note that we are allowed to schedule the load on the first i + 1 processors with ip∗ . In McNaughton’s wrap around rule and that there is no job Jj with pj = Cmax an optimal i-preemptive schedule S, the load on the first i + 1 processors is at least (i + 1)Ck . If not, one could construct a new schedule S  with a smaller makespan as follows. Without loss of generality, let P1 be a processor with load less than Ck . By scheduling the load on the first i + 1 processors with McNaughton’s rule, we would get a new schedule S  with the following properties (see Figure 2.2). 1. The total capacity to be scheduled on processors P1 , . . . , Pi+1 remains unchanged in schedule S  . As we are allowed to schedule this capacity with ip∗ McNaughton’s rule, and as there is no job Jj with pj = Cmax , the finish  times of processors P1 , . . . , Pi+1 in schedule S are less than Ck of schedule S, and the number of preemptions is still at most i. 2. The finish times of processors Pi+2 , . . . , Pm remain unchanged. Thus schedule S  would have a smaller makespan than schedule S, and we have proved that the load on the first i + 1 processors is at least (i + 1)Ck . Next, we show that the last m − (i + 1) processors have a load of at least (m − (i + 1))sk . If not, one could construct a new schedule S  with smaller makespan as follows. Without loss of generality, let Pm be a processor with load less than sk . If we would move job Jk to processor Pm , we would obtain a new schedule S  with the following properties (see Figure 2.3). 1. The total capacity to be scheduled on processors P1 , . . . , Pi+1 reduces by pk in schedule S  . As we are allowed to schedule this capacity with McNaughton’s ip∗ wrap around rule, and as there is no job Jj with pj = Cmax , the finish times of processors P1 , . . . , Pi+1 in schedule S  are less than Ck of schedule S, and the number of preemptions is still at most i. 2. The finish times of processors Pi+2 , . . . , Pm−1 remain unchanged. 3. As the finish time on Pm was less than sk (in schedule S), the finish time on Pm in schedule S  is less than Ck of schedule S. Thus schedule S  would have a smaller makespan than schedule S, and we have proved that the load on the last m − (i + 1) processors is (m − (i + 1))sk . In total, we have 

pj ≥ (i + 1)Ck

+

(m − (i + 1))sk = (i + 1)pk + msk

675

SCHEDULING WITH LIMITED NUMBER OF PREEMPTIONS P1 P2 .. .

P1 P2 .. .

.. .

Pi+1 Pi+2 .. .

.. .

Pi+1 Pi+2 .. .

.. .

Pm-1 Pm

.. .

Pm-1 Pm sk

C’k Ck

t

sk

Fig. 2.4. Lemma 2.2, Case 2a.

C’k Ck

t

Fig. 2.5. Lemma 2.2, Case 2b.

or, equivalently,  sk ≤

pj − (i + 1)pk . m

Case 2. In an optimal i-preemptive schedule S, Jk is processed on one of the last m − (i + 1) processors (without loss of generality on Pi+2 ). The first i + 1 processors have a load of at least (i + 1)Ck − pk . If not, we could generate a new schedule S  with a smaller makespan than S as follows. We are allowed to schedule the load on the first i + 1 processors with McNaughton’s rule, and there ip∗ is no job Jj with processing time pj = Cmax . Thus, in schedule S, there must be a processor (without loss of generality Pi+1 ) with load less than Ck − pk = sk . If we move job Jk to processor Pi+1 , we would obtain a new schedule S  with the following properties (see Figure 2.4). 1. The finish times of processors P1 , . . . , Pi remain unchanged. 2. As the finish time on Pi+1 was less than sk (in schedule S), the finish time on Pi+1 in schedule S  is less than Ck of schedule S. 3. The finish time of processor Pi+2 reduces by pk . 4. The finish times of processors Pi+3 , . . . , Pm remain unchanged. Thus schedule S  would have a smaller makespan than schedule S, and we have proved that the load on the first i + 1 processors is at least (i + 1)Ck − pk . Next we prove that the last m − (i + 1) processors have a load of at least (m − (i + 1))sk + pk . If not, we could generate a new schedule S  with a smaller makespan than S as follows. Without loss of generality, let Pm be a processor with load less than sk . If we would move job Jk to processor Pm , we would obtain a new schedule S  with the following properties (see Figure 2.5). 1. The finish times of processors P1 , . . . , Pi+1 remain unchanged. 2. The finish time of processor Pi+2 reduces by pk . 3. The finish times of processors Pi+3 , . . . , Pm−1 remain unchanged. 4. As the finish time on Pm was less than sk (in schedule S), the finish time on Pm in schedule S  is less than Ck of schedule S. Thus schedule S  would have a smaller makespan than schedule S, and we have proved that the load on the last m − (i + 1) processors is (m − (i + 1))sk + pk . In total, we have 

pj ≥ (i + 1)Ck − pk

+

= (i + 1)(sk + pk ) − pk

(m − (i + 1))sk + pk +

(m − (i + 1))sk + pk = (i + 1)pk + msk

¨ OLIVER BRAUN AND GUNTER SCHMIDT

676 or, equivalently,

 sk ≤

pj − (i + 1)pk . m ∗

ip Lemma 2.3. Let S be an optimal  i-preemptive schedule with makespan Cmax . Let ip∗ Jk be a job with Ck = Cmax , pk < pj /m, and

(2.2)

pk ≤

p∗ Cmax



m m+i+1

 .

For 0 ≤ i ≤ m − 1, the maximum number of allowed preemptions, we have, for all instances of the problem P | i − pmtn | Cmax , 

 2



ip ≤ 2 − Cmax

m i+1



+1

p  Cmax .

Proof. From Lemma 2.2 we know that job Jk is not preempted. Thus we have for the schedule length of the optimal i-preemptive schedule ∗

ip Cmax = sk + pk .

With the help of Lemma 2.2, we have   m − (i + 1) pj − (i + 1)pk pj ip∗ + pk = + pk . Cmax ≤ m m m McNaughton’s bound (2.1) and assumption (2.2) lead to ip∗ Cmax



p∗ Cmax

m m − (i + 1) p∗ Cmax + = m m + (i + 1)

2 2− m ( i+1 ) + 1

 ∗

p Cmax .



ip Lemma 2.4. Let S be an optimal  i-preemptive schedule with makespan Cmax . Let ip∗ Jk be a job with Ck = Cmax , pk < pj /m, and

(2.3)



p pk > Cmax



m m+i+1

 .

For 0 ≤ i ≤ m − 1, the maximum number of allowed preemptions, we have, for all instances of the problem P | i − pmtn | Cmax ,  ∗

ip ≤ 2 − Cmax

 2

m i+1



+1

p  Cmax .

Proof. This proof is by contradiction. We assume that there is an optimal iip∗ p∗ preemptive schedule S with Cmax > (2 − 2/(m/(i + 1) + 1))Cmax . In this case, there is ∗ p always a processor with a load of at most (m/(m+i+1))Cmax , as we can see as follows. p∗ , If there would not exist a processor with a load of maximum (m/(m + i + 1))Cmax

677

SCHEDULING WITH LIMITED NUMBER OF PREEMPTIONS P1 P2 .. .

P1 P2 .. .

.. .

Pi+1 Pi+2 .. .

Pi+1 Pi+2 .. .

.. .

Pm-1 Pm

.. .

Pm-1 Pm

p* (m/(m+i+1)) Cmax

sk

Ck

p* (m/(m+i+1)) Cmax

t

Fig. 2.6. Lemma 2.4, Case 1.

we would have 

.. .



ip pj > (i + 1)Cmax 

(m − (i + 1))  2 p∗  Cmax

> (i + 1) 2 − m i+1 + 1

Ck

t

Fig. 2.7. Lemma 2.4, Case 2.

 +

sk

m m+i+1





p Cmax

 +

(m − (i + 1))

m m+i+1





p Cmax



p = mCmax .

This would be a contradiction to McNaughton’s bound (2.1). Thus there is a p∗ . Without loss of generality, we processor with a load of at most m/(m + i + 1)Cmax assume that this processor is Pm with finish time Fm . Case 1. In an optimal i-preemptive schedule S, Jk is processed on one of the first i + 1 processors (without loss of generality on Pi+1 ). In this case, one could construct a new schedule S  with smaller makespan as follows. If we would switch job Jk with the jobs processed on processor Pm , we would obtain a new schedule S  with the following properties (see Figure 2.6). p∗ 1. Because of (2.3), we know that pk > (m/(m + i + 1))Cmax . By switching all the jobs scheduled on Pm with Jk , the total capacity to be scheduled on processors P1 , . . . , Pi+1 reduces by pk − Fm in schedule S  . As we are allowed to schedule the remaining capacity with McNaughton’s wrap around ip∗ , the finish times of processors rule, and as there is no job Jj with pj = Cmax P1 , . . . , Pi+1 in schedule S  are less than Ck of schedule S. 2. The finish times of processors Pi+2 , . . . , Pm−1 remain unchanged. 3. As the finish time Fm on Pm was less than pk (in schedule S), and as Jk was not the only job scheduled on Pi+1 (in schedule S), the finish time on Pm in schedule S  is less than Ck of schedule S. Thus the makespan generated by S  is smaller than the makespan generated by S, which leads to a contradiction to the assumption of the optimality of S. Case 2. In an optimal i-preemptive schedule S, Jk is processed on one of the last m − (i + 1) processors (without loss of generality on Pi+2 ). In this case, one could construct a new schedule S  with smaller makespan as follows. If we switch job Jk with the jobs processed on processor Pm , we obtain a new schedule S  with the following properties (see Figure 2.7). 1. The finish times of processors P1 , . . . , Pi+1 remain unchanged. p∗ 2. Because of (2.3), we know that pk > (m/(m + i + 1))Cmax . As the finish time Fm on Pm was less than pk (in schedule S), the finish time on Pi+2 in schedule S  is less than Ck of schedule S.

¨ OLIVER BRAUN AND GUNTER SCHMIDT

678

P1 .. .

P1 .. .

Pi+1 Pi+2 Pi+3 .. .

.. .

P1 .. .

.. .

Pi+1 Pi+2 Pi+3 .. .

.. .

Pm

Pm 0

k k(m+i+1) / m t

(a)

.. .

.. .

Pm 0

k

2k

t

0

(b)

k

2k

t

(c)

Fig. 2.8. Optimal preemptive and i-preemptive schedules.

3. The finish times of processors Pi+3 , . . . , Pm−1 remain unchanged. 4. As Jk was not the only job to be scheduled on Pi+1 in schedule S, the finish time on Pm in schedule S  is less than Ck of schedule S. Thus the makespan generated by S  is smaller than the makespan generated by S, which leads to a contradiction to the assumption of the optimality of S. ip∗ Theorem 2.5. Let S be an optimal i-preemptive schedule with makespan Cmax . For 0 ≤ i ≤ m − 1, the maximum number of allowed preemptions, we have, for all instances of the problem P | i − pmtn | Cmax ,   ∗ 2 ip p∗  Cmax

Cmax ≤ 2 − . m + 1 i+1 Proof. The proof is by Lemmas 2.3 and 2.4. ip∗ p∗ To show the tightness of the bound Cmax ≤ (2 − 2/(m/(i + 1) + 1))Cmax , we consider the following problem instance: n jobs are to be scheduled on m processors with n = m+i+1 and pj = k, j = 1, . . . , n. The optimal i-preemptive schedule always has length 2k, whereas the optimal preemptive schedule length is k(m + i + 1)/m (see Figure 2.8). ip∗ is marked grey. In figure (a), the jobs are scheduled with Job Jk with Ck = Cmax McNaughton’s rule. In figure (b), job Jk is scheduled on the first i + 1 processors which allow preemptions (without loss of generality on Pi+1 ). In figure (c), job Jk is scheduled on the last m − (i + 1) processors which forbid preemptions (without loss of generality on Pi+2 ). In both cases (b) and (c), there must exist a processor that schedules two jobs without preemption. We have   ip∗ 2 Cmax 2k .

= 2 − = p∗ m k(m + i + 1)/m Cmax +1 i+1

In the following, we show that the relation between a schedule constructed with the LPT rule and an optimal preemptive schedule is bounded from above by 2 − 2/(m + 1). Theorem 2.6. For schedules generated with the LPT rule, we have, for all instances,   2 LP T p∗ Cmax . Cmax ≤ 2 − m+1

SCHEDULING WITH LIMITED NUMBER OF PREEMPTIONS

679

i - preemptive makespan p*

(2 - 2/(m+1)) Cmax ip*

Cmax
m

(2 - 2/(m/(i+1)+1))Cmax Cmax

p*

Cmax

0

m-1

i preemptions

Fig. 3.1. i-preemptive makespan (worst-case).

Proof. Let Jk be the job that determines the schedule length of the LPT schedule. p∗ If pk ≤ (m/(m + 1))Cmax , we have     1 pj − pk pj LP T Cmax + 1− pk = sk + pk ≤ + pk = m m m       2 m 1 p∗ p∗ p∗ Cmax = 2− Cmax ≤ Cmax + 1− . m m+1 m+1 ∗

p If pk > (m/(m + 1))Cmax , we have        pj m pj m p∗ pk > Cmax ≥ = m+1 m m+1 m+1  pj , j = k ≥ sk =⇒ pk > m =⇒ sk < pk .

sk is only less than pk if sk = 0. (Note that the schedule is generated with the LP T p∗ p∗ LPT rule.) Thus we have Cmax = Cmax if pk > (m/(m + 1))Cmax . For i = 0, this bound is also met by schedules generated by the LPT rule. 3. Summary. We compared the length of preemptive and i-preemptive schedules for the problem in which a set of n independent jobs has to be scheduled on m identical processors that operate in parallel. The objective is to minimize the ip∗ makespan. We showed that the ratio of the optimal i-preemptive schedule length Cmax (with a limited number 0 ≤ i ≤ m − 1 of preemptions) versus the optimal preemptive p∗ ip∗ p∗ schedule length Cmax is bounded from above by Cmax ≤ (2 − 2/(m/(i + 1) + 1))Cmax . The grey region in Figure 3.1 displays all possible makespans as a function of the number i of maximum allowed preemptions. LP T Furthermore, we showed that the ratio of the length Cmax of a nonpreemptive schedule generated by the LPT rule versus the optimal preemptive schedule length p∗ Cmax is bounded from above by exactly the same bound if i = 0. We gave an example which shows the tightness of the bounds. Further research is needed to investigate the trade-off between the objectives of minimizing the makespan (time objective) and minimizing the number of preemptions (cost objective), i.e., to find a minimal length schedule for a given i. Clearly, if

680

¨ OLIVER BRAUN AND GUNTER SCHMIDT

i ≥ m − 1, one can generate an optimal schedule with the algorithm of McNaughton. For any value between 0 and m − 2, however, the problem of finding a minimal length schedule is NP-hard. The same problem arises if we try to find a schedule with a makespan not greater allowed allowed p∗ than Cmax and with a minimal number of preemptions. Clearly, if Cmax < Cmax , ∗ allowed p ≥ 2 − (2/(m + 1))Cmax , then any then there is no feasible schedule, and if Cmax LPT schedule meets this bound by generating no preemptions. For any value between these two values, however, the problem of minimizing the number of preemptions is NP-hard. REFERENCES [1] J. Blaz˙ ewicz, K. H. Ecker, E. Pesch, G. Schmidt, and J. We ¸ glarz, Scheduling Computer and Manufacturing Processes, 2nd ed., Springer-Verlag, Berlin, 2001. [2] O. Braun, Scheduling with Limited Available Processors and with Limited Number of Preemptions, Ph.D. thesis, Saarland University, Saarbr¨ ucken, Germany, 2002 (in German). [3] E. G. Coffman, Jr., ed., Computer and Job-Shop Scheduling Theory, John Wiley, New York, 1976. [4] E. G. Coffman, Jr., and M. R. Garey, Proof of the 4/3 conjecture for preemptive vs. nonpreemptive two-processor scheduling, J. ACM, 20 (1993), pp. 991–1018. [5] M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W. H. Freeman, San Francisco, 1979. [6] R. L. Graham, Bounds on multiprocessing timing anomalies, SIAM J. Appl. Math., 17 (1969), pp. 416–429. [7] K. S. Hong and J. Y.-T. Leung, Some results on Liu’s conjecture, SIAM J. Discrete Math., 5 (1992), pp. 500–523. [8] C. L. Liu, Optimal scheduling on multi-processor computing systems, in Proceedings of the 13th Annual Symposium on Switching and Automata Theory, IEEE Computer Society, Los Alamitos, CA, 1972, pp. 155–160. [9] R. McNaughton, Scheduling with deadlines and loss functions, Management Sci., 6 (1959), pp. 1–12. [10] J. D. Ullman, Complexity of sequencing problems, in Computer and Job-Shop Scheduling Theory, E. G. Coffman, Jr., ed., John Wiley, New York, 1976, pp. 139–164.