Maximizing Online Utilization with Commitment

We investigate online scheduling with commitment for parallel identical machines. Our objective is to maximize the total processing time of accepted jobs. As soon as a job has been submitted, the commitment constraint forces us to decide immediately whether we accept or reject the job. Upon acceptance of a job, we must complete it before its deadline d that satisfies d ≥ (1+ϵ)· p + r, with p and r being the processing time and the submission time of the job, respectively while ϵ>0 is the slack of the system. Since the hard case typically arises for near-tight deadlines, we consider ε≤ 1. We use competitive analysis to evaluate our algorithms. Our first main contribution is a deterministic preemptive online algorithm with an almost tight competitive ratio on any number of machines. For a single machine, the competitive factor matches the optimal bound 1+ϵ/ϵ of the greedy acceptance policy. Then the competitive ratio improves with an increasing number of machines and approaches (1+ϵ)·1+ϵ/ϵ as the number of machines converges to infinity. This is an exponential improvement over the greedy acceptance policy for small ϵ. In the non-preemptive case, we present a deterministic algorithm on m machines with a competitive ratio of 1+m·(1+ϵ/ϵ)^1/m. This matches the optimal bound of 2+1/ϵ of the greedy acceptance policy for a single machine while it again guarantees an exponential improvement over the greedy acceptance policy for small ϵ and large m. In addition, we determine an almost tight lower bound that approaches m·(1/ϵ)^1/m for large m and small ϵ.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

12/04/2018

Online scheduling of jobs with favorite machines

This work introduces a natural variant of the online machine scheduling ...
05/05/2021

Scheduling with Testing on Multiple Identical Parallel Machines

Scheduling with testing is a recent online problem within the framework ...
09/30/2011

How the Landscape of Random Job Shop Scheduling Instances Depends on the Ratio of Jobs to Machines

We characterize the search landscape of random instances of the job shop...
05/14/2018

Online interval scheduling to maximize total satisfaction

The interval scheduling problem is one variant of the scheduling problem...
06/06/2018

Online Makespan Minimization: The Power of Restart

We consider the online makespan minimization problem on identical machin...
10/18/2021

Machine Covering in the Random-Order Model

In the Online Machine Covering problem jobs, defined by their sizes, arr...
06/28/2021

Fractionally Subadditive Maximization under an Incremental Knapsack Constraint

We consider the problem of maximizing a fractionally subadditive functio...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

We consider an online resource allocation and scheduling problem modeled as follows. Given a set of identical machines, we process a sequence of jobs in an online fashion. Each job has a release date , a deadline , and a processing time . Our objective is to maximize the total utilization of the system, that is the sum of the processing times of all completed jobs, subject to a commitment guarantee. Due to this guarantee we must decide immediately upon submission of a job, whether to accept or reject it. In case of acceptance, we must complete it before its deadline and cannot accept any other job that would prevent us from doing so.

This problem has received a significant amount of attention and tight algorithms with competitive ratios depending on are known for a single machine without further assumptions on the input LiT94 ; GPS00 . To obtain more meaningful results, a number of papers use a slack parameter and require for all jobs. Typically, the hard case arises for small slack ().

We consider the preemptive and the non-preemptive versions of the problem for small slack values . In case of preemption, we allow migration and assume no penalty for preemption and migration.

We use the common approach of competitive analysis to measure the performance of online algorithms, that is, we determine the competitive ratio. Since we are facing a maximization problem, the strict competitive ratio is the maximum value of over all input sequences , with and being the objective values of an optimal offline algorithm and the examined online algorithm, respectively.

1.1 Our Contribution

We show upper and lower bounds on the competitive ratio of utilization maximization with commitment in dependence of the slackness parameter . Specifically:

  • For machines supporting preemption and migration, we give a deterministic algorithm with a strict competitive ratio of

    This bound decreases with increasing , approaching as tends to infinity and matching the competitive ratio of the optimal greedy algorithm for .

  • We provide an almost matching lower bound of

  • For machines without preemption, we give a deterministic algorithm with a strict competitive ratio of

    For , we apply partitioning to improve this competitive ratio. In particular, we obtain a competitive ratio for integral values and , . For small slack , these results significantly improve over the state of the art greedy algorithm with a competitive ratio of .

  • For the non-preemptive machine environment, we also give the first lower bounds that are asymptotically greater than for any number of machines. In particular, for large and , our lower bound approaches

    which is almost tight (up to a factor and the additive value 1).

1.2 Related Work

Using the three field notation of Graham et al. Graham , the problem admits a pseudopolynomial time algorithm, see Lawler Lawler90 , and a FPTAS due to a technique by Pruhs and Woeginger PruhsW07 . We are not aware of any simplifications when assuming . For preemption without migration, these ideas were further extended to admit a approximation AwerbuchAFLR01 . A reduction from preemptive to non-preemptive due to Kalyanasundaram and Pruhs KaP01 yields a approximation. Recently, Alon et al. AAB18 analyzed the gap between schedules with a bounded number of preemptions and an unbounded number of preemptions. They show that the utilization ratio is at most , which is asymptotically optimal.

Variants of the online problem have been studied in real-time scheduling. Without commitment and assuming preemptions, there exists a tight -competitive deterministic algorithm on a single machine for a class of well-behaved payoff functions including , see, for instance, Baruah et al. BKMMRRSW92 and Wöginger Woe94 . Kalyanasundaram and Pruhs KaP03 gave a competitive randomized algorithm for maximizing the number of completed jobs and showed that no constant competitive deterministic algorithm exists. For general pay-off functions in a non-preemptive environment, several authors CaI98 ; KoS94 ; Por04 showed finite competitive ratios of if holds. For slack111In literature, the stretch is often used instead. The two notions are equivalent. , Lucier et al. LMNY13 proposed an algorithm with competitive ratio .

Commitments make the problem much more difficult. Indeed, Lucier et al. LMNY13 showed that even with slack, no performance guarantees are possible for general weights . By proposing a model with limited commitment called -responsive, Azar et al. AKLMNY15 gave an algorithm with competitive ratio for . Similar relaxed commitment models were recently considered by Chen et al. CEMSS18 for the problem of maximizing the number of accepted jobs . For (the utilization maximization problem), a number of algorithms with commitment have been proposed. On a single machine without assuming slack or preemption, Lipton and Tomkins LiT94 gave a lower bound of for the competitive factor of any randomized online algorithm. Additionally assuming for all jobs, they obtained an upper bound of for any . For arbitrary deadlines, Goldman, Parwatikar, and Suri GPS00 presented a competitive algorithm.

Baruah and Haritsa BaH97 were among the first to present results for problems with slack when they addressed the single machine problem with preemption and commitment. For this problem, they gave an algorithm with a competitive ratio and a lower bound of . For the corresponding non-preemptive problem on a single machine, Goldwasser’s algorithm Gol99 ; Gol03 guarantees a tight deterministic competitive ratio of . A similar competitive ratio is also given by Garay et al. GNYZ02 .

For parallel identical machines, DasGupta and Palis DaP01 consider preemption without migration and suggest a simple greedy algorithm. They claim the same competitive factor as for the single machine problem with preemption. They also give a lower bound of . For the non-preemptive case, Kim and Chwa KiC01 apply Goldwasser’s algorithm Gol99 ; Gol03 to parallel identical machines. Lee Lee03 considers a model without commitment and presents a non-preemptive algorithm that adds many newly submitted jobs to a queue and decides later whether to schedule or to reject them. He claims a competitive ratio of for small slack values. This competitive ratio is slightly worse than our competitive ratio for the same problem with commitment.

2 Notations and Basic Properties

We schedule jobs of a job sequence on parallel identical machines ( model). Release date , processing time , and deadline of a job obey the slack condition . is the fixed slack factor of the system. We say that has a tight slack if holds. In the three field notation, the constraint indicates a problem with slack factor . We are interested in problems with a small slack (). The job sequence defines an order of the jobs such that job precedes job for .

We discuss an online scenario with commitment

: the jobs arrive in sequence order and we must decide whether to accept the most recent job or not before seeing any job at a later position in the sequence. Complying with the common notation in scheduling theory, we use the binary variable

to express this decision for job : denotes acceptance of job while the rejection of produces . We commit ourselves to complete every accepted job not later than its deadline and say that a schedule is valid if it satisfies this commitment. Therefore, we can only accept a new job if there is a valid extension of the current schedule that includes this job. We consider preemptive and non-preemptive variants of this problem. If the system allows preemption (pmtn) then we can interrupt the execution of any job and immediately or later resume it on a possibly different machine without any penalty. In the non-preemptive case, we combine the acceptance commitment with a machine and start time commitment (immediate decision, see Bunde and Goldwasser BuG10 ).

For a previously released job, we only consider its remaining processing time when generating or modifying a preemptive schedule. Therefore, progression of time may change the values of variables that depend on the processing time. For such a variable, we use the appendix to indicate its value at time .

It is our goal to maximize the total processing time of all accepted jobs (). An online algorithm determines for all jobs in such that there is a valid schedule for all jobs with . denotes the total processing time of schedule for job sequence in interval while is the maximum total processing time of any optimal schedule for the same job sequence in the same interval. We evaluate our algorithm by determining bounds for the competitive ratio, that is the largest ratio between the optimal objective value and the objective value produced by online algorithm for all possible job sequences : has a strict competitive ratio if holds for any job sequence . Finally, is a lower bound of the competitive ratio if holds for any online algorithm .

3 Online Scheduling with Preemption

We present an approach for solving our problem on parallel identical machines with preemption. Contrary to previous approaches, our algorithm is based on lazy acceptance, that is, we may not accept a job although its acceptance allows a valid schedule. We show that our lazy acceptance leads to better competitive ratios than the greedy acceptance approach.

In this section, we frequently use function with the identity

(1)

and the threshold expression

(2)

We start by recalling a known aggregation function for a sequence of jobs that are submitted at time or earlier but not yet completed (): for is the minimum total processing time that we must execute in interval of any valid schedule.

Based on function , Horn Hor74 has given a necessary and sufficient condition for the existence of a valid preemptive schedule:

Theorem 3.1 (Horn)

There is a valid preemptive schedule in interval for a sequence of jobs with deadlines on parallel identical machines if and only if we have

(3)
Proof

See Horn Hor74 , proof of Theorem 2.

Next we introduce two algorithms: the first algorithm decides whether to accept a newly submitted job while the second algorithm determines the schedule of the accepted jobs. Afterwards, we prove that the combination of both algorithms always produces a valid solution and give the competitive ratio of our approach.

Main component of Algorithm 1 Acceptance for Preemption is the non decreasing threshold deadline . We simply accept a new job if and only if its deadline is at least as large as , see Lines 5 to 6 and 8 to 9. Initially, we assume for all jobs and set (Line 1). Whenever there is a submission of a new job then Line 3 prevents to be in the past. Line 4 introduces a compensation value for job parts with a large deadline that are scheduled earlier due to the availability of machines, compare Algorithm 2, lines 14-18, and Lemma 1. Due to this early scheduling, progression of time may result in . compensates for this reduction and prevents an increase of the threshold that is too small. To this end, Line 7 sets to the largest value that satisfies .

1:  
2:  for each newly submitted job  do
3:     
4:     
5:     if  then
6:        accept
7:        
8:     else
9:        reject
10:     end if
11:  end for
Algorithm 1 Acceptance for Preemption

Algorithm 2 Schedule Generation uses the current time as input parameter and generates a schedule for interval including the specification of the end of the interval (Lines 6, 11, and 17). We must run the algorithm again if we have accepted a new job or as soon as time has progressed to . We determine the largest deadline such that at most jobs contribute to (Line 2). If there is no such deadline, we skip any preallocation and select the setting to produce an LRPT schedule for the contributions of the jobs to (Lines 3 to 7). Otherwise, we execute a preallocation by starting each of the jobs contributing to on a separate machine (Lines 9 and 10). exceeds by at most the smallest contribution among those jobs to (Line 11). is the number of idle machines after this preallocation (Line 12). If there are idle machines in interval and the total number of uncompleted jobs exceeds then we apply LRPT to determine a schedule starting at time on these idle machines for the contribution of any not yet allocated job to (Lines 15 and 16). If a machine becomes idle in this LRPT schedule before the previously determined value of then we reduce accordingly (Line 17).

1:  index the deadlines such that
2:   is the largest deadline with at most jobs contributing to
3:  if there is no such deadline  then
4:     
5:     
6:     
7:     
8:  else
9:     
10:     allocate each job to a separate machine
11:     
12:     
13:  end if
14:  if  and  then
15:     
16:     generate an LRPT schedule
17:      first idle time in the LRPT schedule
18:  end if
19:  return  
Algorithm 2 Schedule Generation

Since Algorithm 2 prioritizes contributions to over additional contributions to for , it generates a valid schedule if one exists, see Theorem 3.1.

Next we discuss the influence of progression of time due to Algorithm 2 on and on for a valid schedule.

Lemma 1

If Algorithm 2 has generated a valid schedule starting at time then progression from time to time without acceptance of a new job in interval produces

(4)

and for each ,

(5)
Proof

Eq. (4) holds for time if no machine is idle in interval and every machine only executes job parts contributing to due to

If at least one machine executes in interval some job parts that do not contribute to for some time or has some idle time then Algorithm 2 guarantees that at time , there are jobs with uncompleted job parts contributing to and the total amount of processing time in interval that contributes to is at least . Then we have

We assume that Eq. (5) holds for and apply an inductive approach. For , Algorithm 1 sets . Due to Algorithm 2, we have for each ,

For , Algorithm 1 sets and . Then we have for each ,

Next, we prove that Algorithms 1 and 2 guarantee the existence of a valid schedule. To this end, we introduce a new function with . In the middle part of this definition, we use with and .

(6)

is piecewise linear with non-negative slopes. Note that we have defined twice at all corner points ( and ). At each of these points, both definitions produce the same value. Therefore, is continuous and we have

(7)
(8)
(9)

Eq. (9) holds since the slopes are non-negative and decreasing in interval . Based on function , we claim the following property of our combination of algorithms:

Lemma 2

Algorithms 1 and 2 guarantee

(10)

and for ,

(11)

is equivalent to Eq. (11) for .

Proof

We use an inductive approach by assuming validity of Eq. (10) and (11) for time and separately consider the events progression of time and acceptance of a new job.

We start with progression from time to time without acceptance of a new job in interval . Eq. (10) and (11) clearly hold for time . Eq. (5) guarantees validity of Eq. (11) for . For , Eq. (10) also remains valid due to Lemma 1:

The second event is the acceptance of a new job with , , and , see Algorithm 1. To simplify the formal description of this event, we omit the appendix of the variables and apply a time shift by , that is, we assume . This time shift does not affect the validity of our transformations since they always use or .

Again we assume the validity of Eq. (10) and (11) before the submission of . The acceptance of produces a new deadline threshold . We partition time into several intervals: Eq. (11) is always valid for due to Line 7 of Algorithm 1 and it remains valid for due to Eq. (8) and . For , Eq. (10) and (11) remain valid due to Eq. (9) since there is no change in .

For the remaining intervals, we start with the case .

If job has tight slack () then Line 7 of Algorithm 1 produces

(12)
(13)

For with and , there is

(14)

For , that is , we have

For , there is

(15)

We compare this tight slack scenario to the acceptance of a job with but without tight slack (). We indicate the variables of the non-tight scenario with and obtain for

(16)

This result leads to

For the general case , we consider next an arbitrary with . Due to Line 7 of Algorithm 1, we have