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 variableto 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
and the threshold expression
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
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 .
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).
Next we discuss the influence of progression of time due to Algorithm 2 on and on for a valid schedule.
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
and for each ,
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
For , Algorithm 1 sets and . Then we have for each ,
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
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:
is equivalent to Eq. (11) for .
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
For with and , there is
For , that is , we have
For , there is
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
This result leads to
For the general case , we consider next an arbitrary with . Due to Line 7 of Algorithm 1, we have