Online Makespan Minimization: Beat LPT by Dynamic Locking 1


Abstract

Online makespan minimization is a fundamental problem in scheduling. In this paper, we investigate its over-time formulation, where each job has a release time and a processing time. A job becomes known only at its release time and must be scheduled on a machine thereafter. The Longest Processing Time First (LPT) algorithm, established by Chen and Vestjens (1997), achieves a competitive ratio of \(1.5\). For the special case of two machines, Noga and Seiden introduced the SLEEPY algorithm, which achieves a tight competitive ratio of \(1.382\). However, for \(m \geq 3\), no known algorithm has convincingly surpassed the long-standing \(1.5\) barrier.

We propose a natural generalization of SLEEPY and show this simple approach can beat the \(1.5\) barrier and achieve \(1.482\)-competitive when \(m=3\). However, when \(m\) becomes large, we prove this simple generalization fails to beat \(1.5\). Meanwhile, we introduce a novel technique called dynamic locking to overcome this new challenge. As a result, we achieve a competitive ratio of \(1.5-\frac{1}{O(m^2)}\), which beats the LPT algorithm (\(1.5\)-competitive) for every constant \(m\).

1 Introduction↩︎

Makespan Minimization is a well-established objective in the field of scheduling. In the standard case of identical machines, we are presented with \(m\) identical machines and \(n\) jobs that require scheduling. The objective is to assign each job to a specific machine to minimize the makespan, which corresponds to the last completion time among all machines. Traditional offline algorithm design focuses on accomplishing this task efficiently under the assumption that we know all the jobs’ information at the beginning. However, the assumption does not hold in many real-world applications, where we are required to make online decisions. Minimizing makespan in an online scenario has garnered significant attention since the 1960s [1]. There are two types of online formulations of makespan minimization problems.

  • Sequential (list) formulation: jobs are all released at \(0\) but following an online order that the next job is revealed only after we decide irrevocably which machine is allocated for the current one.

  • Over-time arrival formulation: Each job \(j\) is associated with a release time \(r_j\), and is revealed by the algorithm at \(r_j\). The algorithm can start processing a job at an idle machine after the job’s release time without preemption.

Our paper focuses on the second one, under the standard competitive analysis for online algorithms. An algorithm is said to be \(c\)-competitive, or achieves a competitive ratio of \(c\) if its makespan is at most \(c\) times the optimal makespan under all possible inputs.

Let us compare the two models from the perspective of motivation. The sequential formulation naturally fits scenarios involving short-term load balancing tasks, such as scheduling across multiple CPUs over a brief time window. In these cases, many tasks arrive almost simultaneously, so their release times can be treated as zero. Moreover, such settings typically require immediate dispatch, meaning that jobs must be scheduled in the order they arrive. In this context, minimizing the makespan serves as a reasonable objective, as it promotes balanced load distribution among the CPUs. On the other hand, the over-time formulation is more suitable for long-term manufacturing scenarios. In such settings, tasks arrive gradually over time, as part of a batch that must be completed together to trigger downstream operations. Here, the makespan becomes a natural objective, and release times play a crucial role, as jobs no longer arrive simultaneously. Given this long-term perspective, we no longer require immediate dispatch; instead, we can determine which jobs to process over time without adhering to a fixed decision order.

A common concern with using the makespan objective in the presence of release times is whether it still effectively captures load balancing across machines. In the offline setting, where all release times are known in advance, one might worry that the makespan could be dominated by the latest released jobs, potentially overlooking imbalances in scheduling earlier tasks. However, this concern is naturally mitigated under the worst-case competitive analysis framework for online algorithms. If an online algorithm allocates early jobs in an unbalanced manner, but performs well for later jobs, an adversary could exploit this by releasing only the early jobs, resulting in a poor competitive ratio. Consequently, any online algorithm with a good competitive ratio must inherently maintain balanced scheduling at all times. This makes the makespan objective with release times well-suited for long-term scheduling tasks, particularly when the underlying goal is to balance load across machines.

In 1997, Chen and Vestjens [2] proposed an online LPT (Longest Processing Time First) algorithm described as follows: at each time that there is an idle (not processing any job) machine and several released but not scheduled jobs, schedule the longest job on that machine. They prove that LPT is \(1.5\)-competitive, and the analysis is tight for \(m\geq 2\). The tightness is established by the following one-one-two hard instance: initially, two size-\(1\) jobs are released at time \(0\), and LPT immediately schedules them on two separate machines. Subsequently, just after the commencement of these two jobs, \(m-1\) jobs with a processing time of \(2\) are released. No other jobs are released later. LPT finishes these jobs at \(3\), while the optimal solution can complete them at \(2\) by placing the first two small jobs on the same machine. On the hardness side for general algorithms, they show that no deterministic online algorithm has a competitive ratio better than \((\frac{5-\sqrt{5}}{2})\approx 1.382\) for \(m=2\) and \(1.347\) for \(m\geq 3\), which is further improved to \(1.3596\) by Li and Zhang [3]. The most natural open question is: can we beat this simple LPT strategy in the over-time Online Makespan Minimization problem?

Let us begin by considering how to beat the competitive ratio of \(1.5\) in the classic one-one-two hard instance. When two size-1 jobs arrive at time 0, processing both immediately yields a competitive ratio of \(1.5\). This naturally suggests a strategy: process one job and delay the other. In 2001, Noga and Seiden [4] applied this insight and proposed an algorithm called \(\tt{SLEEPY}\) for the 2-machine case. Remarkably, they achieved the optimal competitive ratio of \((\frac{5 - \sqrt{5}}{2}) \approx 1.382\). However, when the number of machines becomes larger, there are more technical challenges. In 2018, Huang et al. [5] managed to break the \(1.5\) barrier for general \(m\) by utilizing an additional power called restart (which involves stopping the processing of a job but reprocessing the whole job later). Alongside this, they introduced a key analytical tool, the left-over lemma, which provides a bound comparing the total amount of work completed by the algorithm and by the optimal schedule over a given time interval. Despite these advances, whether LPT and its \(1.5\) competitive ratio can be outperformed in the original (non-restart) setting for any \(m \geq 3\) has remained an open question for decades, even for small constants such as \(m = 3\) or \(m = 4\).

We partially answer this long-standing open question on the positive end. We generalize the SLEEPY algorithm and propose the Generalized SLEEPY algorithm that works for general \(m\), along with a novel technique called dynamic locking. We prove that it is \(\left(1.5-\frac{1}{O(m^2)}\right)\)-competitive for general \(m\). In conclusion, we beat LPT for all the cases where \(m\) is a constant.

theoremratiogeneral Generalized SLEEPY achieves a competitive ratio of \(1.5-\frac{1}{O(m^2)}\) for the case \(m\geq 4\), with dynamic locking.

Interestingly, in the case \(m=3\), a good competitive ratio can be achieved more straightforwardly without the dynamic locking technique, which is \(1.482\). The result is formalized in the following theorem.

Theorem 1. Generalized SLEEPY achieves a competitive ratio of \(1.482\) for the case \(m=3\), without dynamic locking.

However, the dynamic locking strategy is crucial when \(m\) becomes large. In particular, we show that the competitive ratio becomes \(1.5\) without dynamic locking when \(m\geq 6\).

theoremdynamiclocking There is a hard instance for every \(m\geq 6\), such that the competitive ratio of Generalized SLEEPY becomes at least \(1.5\) without dynamic locking.

The following table summarizes the previous results and our contribution to the online (over-time) machine minimization problem.

Table 1: Competitive ratios (our improvement is written in red). DL means dynamic locking.
\(m=1\) \(m=2\) \(m=3\) \(m\ge4\)
LPT[2] \(1\) \(1.5\) \(1.5\) \(1.5\)
SLEEPY[4] \(1\) \(1.382\) (optimal) undefined undefined
Generalized SLEEPY(without DL) \(1\) \(1.382\) (optimal) 1.482 \(> 1.5\;(m\geq 6)\)
Generalized SLEEPY(with DL) \(1\) \(1.382\) (optimal) 1.482 \(1.5-1/O(m^2)\)

1.1 Our Techniques↩︎

Most analyses of competitive or approximation ratios for makespan minimization rely on two fundamental techniques for upper-bounding the power of the optimal solution (OPT): the bin-packing argument and the efficiency argument. The bin-packing argument limits how many large jobs OPT can schedule; for example, it cannot process more than \(m\) jobs of size more than \(0.5 \cdot \texttt{OPT}\), as each machine can accommodate at most one such job. The efficiency argument, on the other hand, bounds the total workload OPT can complete in a time window; a basic form states that OPT cannot process more than \(tm\) units of work in \([0, t)\). To prove that an online algorithm is \(c\)-competitive, we typically argue by contradiction: if the algorithm’s makespan exceeds \(c \cdot \texttt{OPT}\), then either there are too many large jobs (violating bin-packing), or too much workload is completed by the algorithm (violating efficiency).

We build on the locking idea of the SLEEPY algorithm, which is proposed by Noga and Seiden [4], originally designed for \(m=2\). This algorithm follows the LPT strategy but, whenever it starts a job \(j\) at time \(s_j\), it locks the other machine until \(s_j + \alpha p_j\), where \(\alpha\) is the locking parameter and \(p_j\) is the processing time of job \(j\). In other words, no job may start on the other machine before the lock expires. Consider the classic one-one-two hard instance: LPT achieves a competitive ratio of \(1.5\), as the last large job is delayed from its release time \(r_n\) to its start time \(s_n\), with this delay amounting to \(0.5 \cdot \texttt{OPT}\) while both machines remain busy. The delayed interval \([r_n, s_n)\) must thus be a busy period on all machines. To create this busy delayed period, the adversary can release two size-1 jobs at time \(0\), prompting LPT to start them just before \(r_n = 0 + \epsilon\), whereas OPT can schedule both on a single machine. However, under the locking strategy of SLEEPY, a gap is introduced between the start times of these size-1 jobs. If the adversary still attempts to enforce a busy period at \(r_n\), the first job must start strictly before \(r_n\). As a result, the size of this first job must exceed the length of \([r_n, s_n)\), which is \(0.5 \cdot \texttt{OPT}\). This prevents OPT from assigning both jobs to the same machine, thereby breaking the hard instance. We extend this idea to \(m \geq 3\) by locking all other machines whenever a job starts.

However, locking comes with drawbacks. It can waste machine capacity by leaving machines idle, even when there are released jobs that have not yet started. This causes the algorithm to complete less total work in certain intervals, sometimes even less than LPT—which weakens efficiency arguments. For \(m = 2\), this is manageable, since at most one machine is locked. But for \(m \geq 3\), we must formally analyze the impact. We address this by combining our analysis framework with the left-over lemma from Huang et al. [5].

A deeper challenge is that the last job may be delayed either because machines are busy or because they are locked. This distinction complicates bin-packing arguments: the delayed interval \([r_n, s_n)\) is no longer purely a busy period—it may contain idle time caused by locking. For instance, if job \(n\) starts late because a larger job \(n'\) (with \(p_{n'} > p_n\) and \(r_{n'} = r_n\)) is locking machines, then \(s_n = s_{n'} + \alpha p_{n'}\). The interval \([r_n, s_{n'})\) may be busy, but \([s_{n'}, s_n)\) is idle. As a result, the effective busy period may be shorter than \(0.5 \cdot \texttt{OPT}\). Even if \(m\) jobs start before \(r_n\), and we can show gaps between their start times—making them larger than \([r_n, s_{n'})\)—it remains unclear whether two such jobs can fit on one machine in OPT, since the size increase may not offset the busy-period reduction.

For \(m = 2\), Noga and Seiden [4] showed that such locking-induced delays cannot happen, using an efficiency argument. We extend this insight to \(m = 3\). However, the approach fails when \(m\) becomes large (see [thm:dynamic32locking], proved in 8).

To resolve this, we introduce a novel technique called dynamic locking. Our idea is to assign larger locking parameters to jobs that start before \(r_n\) than to the job \(n'\). In an online setting, this is nontrivial, since we cannot know in advance which job will be the last to start before \(r_n\). To handle this, we set the locking parameter \(\alpha\) dynamically based on each job’s processing time \(p_j\) and start time \(s_j\), decreasing \(\alpha\) as \(s_j/p_j\) increases. This implicitly ensures that the job \(n'\) receives a smaller locking parameter than the jobs that start before \(r_n\), leading to a larger gap between their start times. This gap prevents OPT from fitting both jobs on a single machine.

1.2 Paper Organization↩︎

We first introduce some basic notations and our algorithms in 2. Then, we briefly introduce our analysis framework and some basic properties in 3. Next, we complete the proof of the main theorem ([thm:ratio95m623]) in 4, 5, and 6. The case for \(m=3\) (proof of 1) is discussed in 7. The hardness result ([thm:dynamic32locking]) is proved in 8.

Focusing on the over-time formulation of the online makespan minimization problem, Li et al. [6] studied a special case known as the kind release time (KRT) condition, where no jobs are released while all machines are busy. They showed that under this assumption, the classic LPT algorithm achieves a competitive ratio of \(\frac{5}{4}\) when \(m = 2\), complementing the general upper and lower bounds discussed earlier. In the preemptive setting, jobs’ processing may be interrupted and resumed later (without migration). An optimal preemptive algorithm for identical machines was presented by Chen et al. [7], who showed that the competitive ratio is \(1 / (1 - (1 - \frac{1}{m})^m)\), which equals \(\frac{4}{3}\) when \(m = 2\) and converges to \(\frac{e}{e - 1}\) as \(m \to \infty\).

Another commonly studied model is the sequential formulation, where all jobs are released at time zero but are revealed one by one in an online manner, requiring the algorithm to assign each job to a machine upon its arrival. This setting corresponds to the classical online load balancing problem. A foundational result was established by Graham [1], who showed that the greedy algorithm—assigning each job to the machine where it can start earliest—achieves a competitive ratio of \(2 - \frac{1}{m}\), which is optimal for \(m \leq 3\). Subsequent improvements for larger values of \(m\) have been explored by Bartal et al. and Karger et al. [8], [9]. A lower bound of \(1.88\) for deterministic algorithms in the non-preemptive setting was established by Rudin et al. [10]. Extensions of this problem to uniform and related machines have been investigated by Aspnes et al. and Jez et al. [11], [12]. The best known upper bound of \(5.828\) for this setting is achieved by the algorithm of Berman et al. [13], while a lower bound of \(2.564\) was established by Ebenlendr et al. [14]. Additional results and a broader overview of this setting can be found in the works of Albers et al., Galambos et al., and Dwibedy et al. [15][17].

In recent years, various extensions of these basic models have been proposed. One such extension includes the use of a reordering buffer, as studied in Englert et al. [18]. Another notable direction is the model of parallel schedules, where the online algorithm is permitted to construct several candidate schedules and select the best one at the end. This approach was analyzed in Albers et al. [19], where a \((\frac{4}{3} + \epsilon)\)-competitive algorithm was proposed for any \(0 < \epsilon \leq 1\), using \(\left(\frac{1}{\epsilon}\right)^{O(\log(1/\epsilon))}\) schedules. Additionally, a \((1 + \epsilon)\)-competitive algorithm that uses \(\left(\frac{m}{\epsilon}\right)^{O(\log(1/\epsilon)/\epsilon)}\) schedules was also presented.

2 Preliminaries↩︎

First, we formally define the model. We have \(m\) identical machines, and \(n\) jobs arrive online, where each job \(j\) is associated with a release time \(r_j\) and a processing time \(p_j\). The online algorithm has no information about job \(j\) before time \(r_j\). At any moment \(t\), it can choose to process one of the released jobs \(j\) on a machine non-preemptively. We denote the start time and completion time of job \(j\) by \(s_j\) and \(C_j = s_j + p_j\), respectively. The objective is to minimize the makespan, i.e., the maximum completion time among all jobs, \(\max_j C_j\).

In our context, \(\mathcal{J}\) denotes the set of jobs, while \(\mathcal{M}\) denotes the set of machines. The schedule produced by our algorithm, along with its corresponding makespan, is denoted by \(\sigma(\mathcal{J})\). Meanwhile, \(\pi(\mathcal{J})\) represents the optimal offline schedule for the given job set \(\mathcal{J}\), along with its makespan. When \(\mathcal{J}\) is clear from context, we may simplify the notation to \(\sigma\) and \(\pi\). We focus on the standard competitive analysis in our paper. We say that an algorithm is \((1+\gamma)\)-competitive if \(\frac{\sigma(\mathcal{J})}{\pi(\mathcal{J})} \leq 1+\gamma\) holds for all possible instances \(\mathcal{J}\).

2.1 The Generalized SLEEPY Algorithm↩︎

Our algorithm is an LPT-style algorithm embedded with a specific machine-locking strategy: whenever a job starts processing on a machine, all other machines are locked for a certain period. Before presenting our algorithm in detail, we first define the state of jobs and machines at a given time \(t\). \[\text{A job is} \begin{cases} \boldsymbol{released} & \text{if } t \geq r_j;\\ \boldsymbol{processing} & \text{if } s_j \le t < C_j = s_j + p_j; \\ \boldsymbol{finished} & \text{if } t \geq C_j ; \\ \boldsymbol{pending} & \text{if } r_j \le t < s_j. \end{cases}\]

\[\text{A machine is} \begin{cases} \boldsymbol{busy} & \text{if it is currently processing a job j;} \\ \boldsymbol{locked} & \text{if the algorithm does not allow it to start a new job;} \\ \boldsymbol{idle} & \text{if it is neither busy nor locked.}\\ \end{cases}\]

We now present the algorithm. Let \(\lambda \ge 1\) and \(\alpha \in [0, \gamma]\) be the locking parameters. The Generalized SLEEPY algorithm with dynamic locking operates as follows. At any moment \(t\), if there is at least one idle machine, the algorithm selects an arbitrary idle machine and performs the following two steps:

  1. LPT Strategy: Assign the longest pending job \(j\) to the selected idle machine and start processing it.

  2. Dynamic Locking Strategy: Lock all machines until time \(s_j + \alpha_j p_j\), where the locking parameter is given by \(\alpha_j = \lambda^{-\frac{s_j}{p_j}} \alpha \le \alpha\). Note that if another machine is already busy, we can still treat it as locked until \(s_j + \alpha_j p_j\); a machine can thus be marked as both busy and locked simultaneously.

Note that when we refer to the Generalized SLEEPY algorithm without dynamic locking, we mean that the locking parameter \(\alpha_j\) is set to a fixed constant \(\alpha\) (i.e., \(\lambda = 1\)). We show that even this simpler version can surpass the \(1.5\) barrier in the case of \(m=3\); the proof is provided in 7. The original SLEEPY algorithm [4] is in fact a special instance of our framework for \(m=2\), obtained by setting \(\lambda = 1\) (thus, no dynamic locking) and choosing \(\alpha = \frac{3 - \sqrt{5}}{2}\). As a result, Generalized SLEEPY attains the same optimal competitive ratio of \(\frac{5 - \sqrt{5}}{2}\) as SLEEPY when there are two machines.

To analyze the competitive ratio of the algorithm, we aim to show that no job set \(\mathcal{J}\) can cause the algorithm to produce a makespan satisfying \(\sigma(\mathcal{J}) > (1+\gamma)\pi(\mathcal{J})\). Without loss of generality, we assume for contradiction that there exists a smallest (in terms of the number of jobs) counterexample \(\mathcal{J}\) such that \(\pi(\mathcal{J}) = 1\) and \(\sigma(\mathcal{J}) > (1+\gamma)\pi(\mathcal{J}) = 1 + \gamma\). We label the jobs in \(\mathcal{J}\) by indices \(1, \dots, n\) according to their completion times in the schedule \(\sigma\), so that \(C_1 \le C_2 \le \dots \le C_n\).

To derive a contradiction, we focus on two types of arguments: bin-packing arguments and efficiency arguments. The goal of the bin-packing arguments is to identify a sufficiently large subset of large jobs, such as \(m+1\) jobs with processing time \(p_j > 0.5\), that cannot be feasibly scheduled within a makespan of \(1\), contradicting \(\pi(\mathcal{J}) = 1\). In contrast, the efficiency arguments aim to show that the algorithm processes a substantial amount of workload, such that it would be impossible for the optimal offline schedule to complete all that workload within \([0,1)\). As a simple example, if the total workload processed by the algorithm exceeds \(m\), then a contradiction arises. However, since not all jobs are released at time \(0\), the upper bound of processed workload by the optimal solution may be less than \(m\). We must employ more refined arguments that account for release times in our analysis.

2.2 Algorithm’s Efficiency↩︎

In this subsection, we introduce some useful notations to describe the efficiency of an algorithm, as preparation for applying efficiency arguments. Roughly speaking, efficiency measures the total workload completed by the algorithm within a given time interval. We also present a technical lemma from [5] that provides an upper bound on the efficiency gap between our algorithm and the optimal solution.

Definition 1. Consider a schedule \(\sigma\). To describe whether a machine is wasting time, we define two indicators for each machine \(M \in \mathcal{M}\) as follows:

  • \(\mathbb{1}^P_\sigma(M, t)\), which indicates that machine \(M\) is busy in schedule \(\sigma\) at time \(t\).

  • \(\mathbb{1}^W_\sigma(M, t)\), which indicates that in schedule \(\sigma\), at time \(t\), machine \(M\) is not busy even though there are pending jobs.

It is worth noting that, under the strategy used by Generalized SLEEPY, the event corresponding to \(\mathbb{1}^W_\sigma(M, t)\) occurs only when a machine is locked.

Definition 2. For an interval \([t_1,t_2)\), we define the following notations to measure the efficiency of \(\sigma\) in this period.

  • \(P_\sigma(t_1,t_2)\): the total processing time (workload) in \(\sigma\) during \((t_1,t_2)\), i.e., \[P_\sigma(t_1,t_2) \triangleq \sum_{M\in\mathcal{M}}\int_{t_1}^{t_2}\mathbb{1}^P_\sigma(M, t)dt.\]

  • \(W_\sigma(t_1,t_2)\): the total waste of processing power in \(\sigma\) during \((t_1,t_2)\), i.e., \[W_\sigma(t_1,t_2) \triangleq \sum_{M\in\mathcal{M}}\int_{t_1}^{t_2} \mathbb{1}^W_\sigma(M, t)dt.\]

  • \(\hat{P}_\sigma(t_1,t_2)\): the total extended processing time in \(\sigma\) during \((t_1,t_2)\) (including the unfinished parts of jobs that are being processed at time \(t_2\)), i.e., \[\hat{P}_\sigma(t_1,t_2) \triangleq P_{\sigma}(t_1,t_2) + \sum_{j: t_1 \leq s_j < t_2, C_j>t_2} (C_j - t_2) = \sum_{j:t_1\le s_j<t_2}p_j+\sum_{j:s_j<t_1<C_j}(C_j-t_1).\]

For convinence, we use \(P_\pi\) and \(P_\sigma\) denote \(P_\pi(0,1)\) and \(P_\sigma(0,C_n)\), which means the total processing time of \(\sigma\) and \(\pi\). Naturally, we have \(P_\pi = P_\sigma \leq m\).

The following lemma provides the basic efficiency argument for Generalized SLEEPY, with or without dynamic locking. It gives an upper bound on the total processing power wasted by the algorithm.

Lemma 1. The total waste of processing power during \((t_1,t_2)\) is upper bounded using the extended processing time during \((t_1,t_2)\), i.e. \(W_\sigma(t_1,t_2)\le(m-1)\alpha\hat{P}_\sigma(t_1,t_2)\).

Proof. According to the algorithm’s definition, each processing job \(j\) can create at most \(m-1\) locked periods, each extending from \(s_j\) to \(s_j + \alpha_j p_j\). Now, consider all the locked periods that fall within the interval \((t_1, t_2)\). These locked periods can be associated with processing jobs that complete after time \(t_1\). There are two cases to analyze.

First, if \(s_j \geq t_1\), the length of the locked period is at most \(\alpha_j p_j\). Second, if \(s_j < t_1\), the length of the locked period within \((t_1, t_2)\) is at most \(\alpha_j p_j - (t_1 - s_j) < \alpha_j (C_j - t_1)\).

Summing these bounds over all such jobs, we find that the total locked time during \((t_1, t_2)\) is at most \((m-1) \alpha \hat{P}_\sigma(t_1, t_2)\). ◻

Finally, we compare the efficiency of the algorithm and the optimal solution over a specific time interval \([0, t)\). That is, we aim to compare \(P_\pi(0, t)\) and \(P_\sigma(0, t)\). \(P_\pi(0, t)\) can exceed \(P_\sigma(0, t)\) for two reasons. First, \(\sigma\) may waste time due to machines being locked. Second, some machines in \(\sigma\) may be idle simply because there are no pending jobs.

Intuitively, the first case can be bounded by \(W_\sigma(0, t)\), while the second case can occur only over limited portions of the interval \((0, t)\); otherwise, the efficiency of \(\pi\) would also be low. The following left-over lemma formalizes these two sources of inefficiency and provides an integrated upper bound on the difference \(P_\pi(0, t) - P_\sigma(0, t)\).

Lemma 2 (Left-over Lemma [5]). \(P_\pi(0,t)-P_\sigma(0,t) \le \frac{1}{4}mt + W_\sigma(0,t)\), where \(m\) is the number of machines.

We remark that this lemma works for general scheduling algorithms. In their paper, the restart operation creates wasted time, which is produced by the locking strategy in our algorithm.

3 Overview of Our Analysis↩︎

Our analysis begins by examining why the last job \(n\) has such a large completion time, i.e., \(C_n > 1 + \gamma\). The only possible reason is that it experiences a significant delay between its release time \(r_n\) and its start time \(s_n\).

Lemma 3. \(s_n-r_n>\gamma\).

Proof. Since \(s_n+p_n>1+\gamma\) and \(r_n+p_n\le 1\), \(s_n-r_n> \gamma\). ◻

Lemma 4. \(\forall j \in \mathcal{J}\), all machines are not idle during \((r_j,s_j)\) in \(\sigma\).

Proof. There is always at least one pending job, the job \(j\), during \((r_j,s_j)\) in \(\sigma\). And the algorithm will immediately process the longest pending job if a machine is idle (not locked and busy). Thus, \(\forall j \in \mathcal{J}\), there is no idle machines during \((r_j,s_j)\) in \(\sigma\). ◻

Next, we rule out the case where the last job \(n\) is too small. Roughly speaking, if \(p_n\) is small, \(s_n\) should be large, then the algorithm must have processed a substantial amount of workload over the long interval \([0, s_n)\), which leads to a contradiction via the efficiency arguments. This idea is formalized in the following lemma for the size of the last job.

Lemma 5 (Basic Lower Bound on \(p_n\)). We have the following lower bound on \(p_n\):

  • (Used in the general case) \(\displaystyle p_n>\frac{m\gamma-\frac{m}{4}-m(m-1)\alpha}{\frac{3}{4}m-1-(m-1)\alpha}\).

  • (Used in the case of \(m=3\)) \(\displaystyle p_n >\frac{m\gamma-\frac{m}{4}-m(m-1)\alpha+\hat{P}_\sigma(0,s_n)- P_\sigma(0,s_n)}{\frac{3}{4}m-1-(m-1)\alpha}\).

Proof. The reason why we can prove the lower bound on \(p_n\) is that we observe that \(P_{\sigma}\) will include too much workload (larger than \(P_{\pi}\)) when \(p_n\) is small. We divided the time period \([0,C_n]\) into two parts, \([0,r_n]\) and \((r_n,C_n]\) and analyze the difference of workload between \(\sigma\) and \(\pi\).

For \([0,r_n]\), after applying 2, we have \[\label{eqn:pnlarge95leftover} P_\pi(0,r_n)-P_\sigma(0,r_n) \le \frac{m}{4}r_n + W_\sigma(0,r_n).\tag{1}\]

We first discuss the algorithm for \((r_n, C_n]\). Recall the definition of \(\hat{P}_\sigma(0,s_n)\). It does not include \(p_n\) because \(n\) starts at \(s_n\). Therefore, we have a lower bound on \(P_{\sigma}(r_n, C_n)\). \[P_{\sigma}(r_n,C_n) \geq P_\sigma(r_n,s_n) + p_n + \hat{P}_\sigma(0,s_n) - P_\sigma(0,s_n).\] Remark that \(\hat{P}_\sigma(0,s_n) - P_\sigma(0,s_n)\) is a lower bound on workload completed by \(\sigma\) after \(s_n\) except \(p_n\). In general, we will consider the worst case that \(\hat{P}_\sigma(0,s_n) - P_\sigma(0,s_n) = 0\). However, when \(m=3\), we have some observations to give a better lower bound for it. So, we keep this term in the inequality. By 4, machines cannot be idle during \((r_n,s_n)\) in \(\sigma\). Therefore, we have \[P_{\sigma}(r_n,C_n) \geq m(s_n - r_n) - W_\sigma(r_n,s_n) + p_n + \hat{P}_\sigma(0,s_n) - P_\sigma(0,s_n).\] On the other hand, we have a trivial upper bound of \(\pi\), which is \[P_{\pi}(r_n,C_n) \leq m(1-r_n).\] The difference in workload during this period is \[\begin{align} P_{\sigma}(r_n,C_n) - P_{\pi}(r_n,C_n) & \geq m(s_n - r_n) - W_\sigma(r_n,s_n) + p_n + \hat{P}_\sigma(0,s_n) - P_\sigma(0,s_n) - m(1-r_n) \notag \\ & = m(s_n- 1) - W_\sigma(r_n,s_n) + p_n + \hat{P}_\sigma(0,s_n) - P_\sigma(0,s_n) \notag \\ & \geq m(s_n + p_n - 1 - p_n) - W_\sigma(r_n,s_n) + p_n + \hat{P}_\sigma(0,s_n) - P_\sigma(0,s_n) \notag \\ & > m(\gamma - p_n) - W_\sigma(r_n,s_n) + p_n + \hat{P}_\sigma(0,s_n) - P_\sigma(0,s_n).\label{eqn:pnlarge95secondperiod} \end{align}\tag{2}\] Combining two cases (1 and 2 ) together, we have a lower bound on \(P_{\sigma} - P_{\pi}\). \[\begin{align} P_{\sigma} - P_{\pi} &> - \frac{m}{4}r_n - W_\sigma(0,r_n) + m(\gamma - p_n) - W_\sigma(r_n,s_n) + p_n + \hat{P}_\sigma(0,s_n) - P_\sigma(0,s_n) \\ &= - \frac{m}{4}r_n + m(\gamma - p_n) - W_\sigma(0,s_n) + p_n + \hat{P}_\sigma(0,s_n) - P_\sigma(0,s_n). \end{align}\] Next, we aim to bound \(W_\sigma(0,s_n)\). By the basic efficiency of the algorithm (1), we have \[W_\sigma(0,s_n) \leq (m-1)\alpha \hat{P}_\sigma(0,s_n).\] Further, because \(\hat{P}_\sigma(0,s_n)\) does not include \(p_n\), \(\hat{P}_\sigma(0,s_n) \leq m - p_n\), we have \[W_\sigma(0,s_n) \leq (m-1)\alpha (m-p_n).\] Therefore, by using this upper bound of \(W_\sigma(0,s_n)\), together with \(r_n \leq 1 - p_n\) (because otherwise \(p_n\) cannot be completed before \(1\)), we have \[\begin{align} P_{\sigma} - P_{\pi} &> - \frac{m}{4}r_n + m(\gamma - p_n) - W_\sigma(0,s_n) + p_n + \hat{P}_\sigma(0,s_n) - P_\sigma(0,s_n) \\ &\geq - \frac{m}{4}(1-p_n) + m(\gamma - p_n) - (m-1)\alpha (m-p_n) + p_n + \hat{P}_\sigma(0,s_n) - P_\sigma(0,s_n). \end{align}\] Let \[\begin{align} f(p_n) & = - \frac{m}{4}(1-p_n) + m(\gamma - p_n) - (m-1)\alpha (m-p_n) + p_n + \hat{P}_\sigma(0,s_n) - P_\sigma(0,s_n) \\ & = (-\frac{3}{4}m + 1 + (m-1)\alpha)p_n - \frac{m}{4} + m\gamma - m(m-1)\alpha + \hat{P}_\sigma(0,s_n) - P_\sigma(0,s_n). \end{align}\] Because \(m\geq 2\) and \(\alpha <0.5\), the coefficient of \(p_n\) is negative. Hence, \(f(p_n)\) is increasing when \(p_n\) decrease. Therefore, \(p_n\) cannot be too small, since we have \(f(p_n) \leq P_{\sigma} - P_{\pi} = 0\). In particular, \[p_n > \frac{m\gamma-\frac{m}{4}-m(m-1)\alpha+\hat{P}_\sigma(0,s_n) - P_\sigma(0,s_n)}{\frac{3}{4}m-1-(m-1)\alpha}.\] For general case, we use \(\hat{P}_\sigma(0,s_n) - P_\sigma(0,s_n) \geq 0\). The inequality becomes \[p_n > \frac{m\gamma-\frac{m}{4}-m(m-1)\alpha}{\frac{3}{4}m-1-(m-1)\alpha}.\] ◻

To handle the remaining cases when \(p_n\) is large, our analysis establishes a series of inequalities involving the parameters \(\lambda\), \(\alpha\) (the locking parameters), and \(\gamma\). These properties play a key role in reaching a contradiction and impose specific constraints on the choice of \(\lambda\), \(\alpha\), and \(\gamma\). Ultimately, by setting \(\alpha = \frac{1}{4m^2}\), \(\lambda = 4^{25/6}\), and \(\gamma = \frac{1}{2} - \frac{1}{4^{20}m^2}\), we arrive at the desired contradiction. While some of these conditions may appear complex or unintuitive, and only a few turn out to be tight when the parameters are optimized, we have explicitly stated all such conditions within the corresponding properties in 6. This not only allows readers to verify the correctness of our analysis but also sets the stage for a more transparent discussion on parameter selection.

The next step in our analysis is to examine what happens in the algorithm after time \(r_n\), to understand why the last job \(n\) is delayed. We refer to this interval as the last scheduling period. In 4, we first build a structural understanding of this period within the algorithm’s schedule.

Roughly speaking, this period can be divided into two parts: a last locking chain and a busy period. The last locking chain consists of a sequence of jobs that lock the next one in a cascading manner, from \(n_1 = n\) to \(n_k\), until we reach a job \(n_k\) that is no longer delayed due to locking. We then show that \(s_{n_k}\) is still greater than \(r_n\), meaning there is a busy period \([r_n, s_{n_k})\) that delays job \(n_k\). Since all machines are busy during this interval, there must be \(m\) jobs processing on these machines. We refer to these \(m\) jobs, together with the \(k\) jobs in the last locking chain, as the critical jobs. Refer to 1 as an example.

Figure 1: Locking chain (the white jobs) and critical jobs (the white and gray jobs).

We categorize these critical jobs into two types:

  • early critical jobs, where \(s_j < r_n\);

  • late critical jobs, where \(s_j \geq r_n\).

By proving that no three critical jobs can be scheduled on the same machine, we conclude, via the Pigeonhole Principle, that there must be \(k\) pairs of critical jobs scheduled on the same machine in \(\pi\). We then distinguish two cases:

  • If all these \(k\) pairs consist solely of early critical jobs, we have \(k\) machines, each processing an early critical pair. We handle this case using a generalized bin-packing argument and resolve it by carefully setting the rescaling factor \(\lambda\) in 5.1. Roughly speaking, we show that the total processing time of these critical jobs is at least \(k\), so at least one machine must have a makespan exceeding \(1\), contradicting \(\pi = 1\).

  • Otherwise, if at least one pair involves a late critical job, we apply the efficiency argument by comparing the efficiency of our algorithm with that of the optimal solution. This analysis is detailed in 5.2 and 5.3, where we derive a contradiction.

Finally, we conclude the proof of [thm:ratio95m623] with a sketch. Moreover, we also note why we can achieve a better ratio when \(m=3\) even without dynamic locking. Using an efficiency argument, we can show (in 10) that the last locking chain can consist only of the last job \(n\), which significantly simplifies the challenge posed by the last locking chain.

Proof. The proof combines the following key lemmas:

  • 7 in 4: we prove that no three critical jobs can be scheduled on the same machine in \(\pi\).

  • 8 in 5.1: we show that it is impossible for all critical pairs to consist of early critical jobs.

  • 9 in 5.2 and [lem:latecase2main] in 5.3: these two subcases handle situations where a critical pair includes a late critical job.

We emphasize again that these lemmas are conditional results, holding only when certain listed conditions are satisfied. In 6, we show that by setting \(\alpha = \frac{1}{4m^2}\), \(\lambda = 4^{25/6}\), and \(\gamma = \frac{1}{2} - \frac{1}{4^{20}m^2}\), all these conditions indeed hold. This establishes that our algorithm is \((1.5 - \frac{1}{O(m^2)})\)-competitive. ◻

4 Basic Discussion: Last Scheduling Period↩︎

This section discusses the critical period in \(\sigma\), i.e., the period after \(r_n\). We aim to understand why the last job \(n\) is delayed until time \(s_n\). The delay of the last job in our setting can occur for two different reasons.

On the one hand, the job may be delayed because all machines are busy. In this case, we call it a pushed job. On the other hand, the delay may occur because machines are locked, and the job is scheduled immediately once a machine becomes unlocked. We refer to such jobs as locked jobs. Note that in a corner-case scenario where a job is released at the same moment a machine becomes unlocked and is immediately scheduled, we still classify it as a locked job.

Now, we scan backward starting from the last job, with the goal of finding the first job in this sequence that is not locked. If the last job \(n_1 = n\) is locked, we identify the job responsible for locking the machines, denoted as \(n_2\). If \(n_2\) is also a locked job, we repeat this process until we find a job \(n_k\) that is not a locked job (i.e., it is either pushed or scheduled immediately). We define the set \(S = \{n_1 = n, n_2, \dots, n_k\}\) as the last locking chain in \(\sigma\).

By the definition of the locking chain, we have the following claim.

For all \(2\leq i \leq k\), \(s_{n_{i-1}} = s_{n_{i}} + \alpha_{n_{i}} p_{n_{i}}\).

Then, we have the following advanced property under a specific condition of the three parameters \(\lambda\), \(\alpha\), and \(\gamma\).

Definition 3. We denote by \(\alpha_f\) the largest locking parameter of jobs in \(S\), i.e. \(\alpha_f\triangleq\max_{j\in S}\alpha_j\).

We have the following advanced properties for the final locking chain:

  1. When \(2 \leq k \leq m + 1\), for all \(1 \leq i \leq k - 1\), we have: \[p_{n_{i+1}} \geq p_{n_i} \quad \text{and} \quad s_{n_{i+1}} - r_{n_{i+1}} > \gamma - \alpha_f \sum_{j=2}^{i+1} p_{n_j}.\]

  2. The chain length satisfies \(|S| = k \leq m\).

Proof. We prove the first property for \(2 \leq k \leq m+1\) by induction on \(k\), and then prove the second property by contradiction.

For the base case \(k=2\), by 3 and the definition of the last locking chain, we have \[s_{n_1} - s_{n_2} = \alpha_{n_2} p_{n_2} \leq \alpha \leq \gamma < s_{n_1} - r_{n_1}.\] This implies \(s_{n_2} > r_{n_1}\), which yields \(p_{n_2} \geq p_{n_1}\) by the LPT strategy of our algorithm. Next, we show the delay bound: \[\begin{align} s_{n_2} - r_{n_2} &= s_{n_1} - \alpha_{n_2} p_{n_2} - r_{n_2} \\ &\geq (s_{n_1} + p_{n_1}) - \alpha_{n_2} p_{n_2} - (r_{n_2} + p_{n_2}) \end{align}\] Since \(s_{n_1} + p_{n_1} > 1 + \gamma\) and \(r_{n_2} + p_{n_2} \leq 1\), it follows that \[s_{n_2} - r_{n_2} > \gamma - \alpha_{n_2} p_{n_2} \geq \gamma - \alpha_f p_{n_2}.\]

When \(3 \leq k \leq m+1\), we first note: \[s_{n_1} - s_{n_{k-1}} = \sum_{j=2}^{k-1} \alpha_{n_j} p_{n_j} \leq (k - 2)\alpha_f.\] Assume by the induction hypothesis that the statement holds for all \(i < k - 1\). Then, \[\begin{align} s_{n_{k-1}} - r_{n_{k-1}} &> \gamma - \alpha_f \sum_{j=2}^{k-1} p_{n_j} \\ &\geq \gamma - (k - 2)\alpha_f \\ &> \gamma - (m - 1)\alpha_f. \end{align}\] Under the condition

equation > m ,

which implies \(\frac{\gamma}{\alpha_f} \geq \frac{\gamma}{\alpha} > m\), we have \[r_{n_{k-1}} < s_{n_{k-1}} - \gamma + (m-1)\alpha_f < s_{n_{k-1}} - \alpha_f \leq s_{n_k},\] where the last inequality follows from the fact that \(s_{n_{k-1}} = s_{n_k} + \alpha_{n_k} p_{n_k} \leq s_{n_k} + \alpha_f\). Thus, by the algorithm definition, \(p_{n_k} \geq p_{n_{k-1}}\).

We now analyze the delay of \(n_k\): \[\begin{align} s_{n_k} - r_{n_k} &= (s_{n_{k-1}} - \alpha_{n_k} p_{n_k}) - r_{n_k} \\ &\geq (s_{n_{k-1}} - \alpha_{n_k} p_{n_k} + p_{n_{k-1}}) - (r_{n_k} + p_{n_k}) \quad\geq p_{n_{k-1}}} \\ &\geq (s_{n_{k-1}} - \alpha_{n_k} p_{n_k} + p_{n_1}) - (r_{n_k} + p_{n_k}) \quad } \geq p_{n_1} by induction hypothosis} \\ &= (s_{n_1} - \sum_{j=2}^{k-1} \alpha_{n_j} p_{n_j} - \alpha_{n_k} p_{n_k} + p_{n_1}) - (r_{n_k} + p_{n_k}) \quad }} \\ &\geq (s_{n_1} - \sum_{j=2}^{k} \alpha_{n_j} p_{n_j} + p_{n_1}) - 1 \quad+ p_{n_k} \leq 1 since \pi = 1} \\ &> \gamma - \sum_{j=2}^{k} \alpha_{n_j} p_{n_j} \quad+ p_{n_1} > 1 + \gamma} \\ &\geq \gamma - \alpha_f \sum_{j=2}^{k} p_{n_j}. \end{align}\]

Consequently, the first property holds for all \(2 \leq k \leq m+1\) by this inductive proof.

Next, we prove the second property by contradiction. Suppose \(k \geq m + 1\). Then, among the \(k\) jobs in the chain, at least two must be processed on the same machine. That is, there exist indices \(i < j\) such that both \(n_i\) and \(n_j\) are assigned to the same machine, and hence \[C_{n_j} = s_{n_j} + p_{n_j} \leq s_{n_i}.\]

Among all such pairs \((i, j)\), choose the one with the smallest \(j\). By the pigeonhole principle, we have \(j \leq m + 1\). Since the jobs form a locking chain, it holds that \[s_{n_i} - s_{n_j} = \sum_{k = i+1}^{j} \alpha_{n_k} p_{n_k}, \quad \text{and} \quad p_{n_j} \geq p_{n_{j-1}} \geq \dots \geq p_{n_{i+1}}.\] Then we estimate: \[\begin{align} s_{n_j} + p_{n_j} &= s_{n_i} - \sum_{k = i+1}^{j} \alpha_{n_k} p_{n_k} + p_{n_j} \\ &\geq s_{n_i} - (j - i)\alpha_f p_{n_j} + p_{n_j} \\ &= s_{n_i} + \left(1 - (j - i)\alpha_f\right) p_{n_j} \\ &\geq s_{n_i} + (1 - m\alpha_f) p_{n_j} > s_{n_i}, \end{align}\] where the last inequality follows from [condition:lockingchain], which implies \(m\alpha_f < 1\). This contradicts the assumption that \(s_{n_j} + p_{n_j} \leq s_{n_i}\). Therefore, no two jobs from \(S\) are processed on the same machine. Since there are only \(m\) machines, we conclude that \(|S| \leq m\). ◻

Definition 4. For simplicity, define \(\gamma'\triangleq \gamma-\alpha_f\sum_{j=2}^{k} p_{n_j}\).

Then, we have the following corollaries.

Corollary 1. \(s_{n_k}+p_{n}>1+\gamma'\).

Proof. For \(i = 1, \dots, k\), we have \(s_{n_k} + p_n = s_{n_1} - \displaystyle\sum_{j=2}^k \alpha_{n_j} p_{n_j} + p_n > 1 + \gamma - \alpha_f \displaystyle\sum_{j=2}^k p_{n_j} = 1 + \gamma'\) by 4 and \(s_n + p_n > 1 + \gamma\). ◻

Corollary 2. \(s_{n_k}>\gamma'+r_n\).

Proof. By [claim:lockingchain95basic], we have \(s_{n_k} = s_n - \displaystyle\sum_{j=2}^k \alpha_{n_j} p_{n_j}\), and by 3, \(s_{n_k} \ge s_n - \alpha_f \displaystyle\sum_{j=2}^k p_{n_j}\). Then, using 4 and 3, we obtain \(s_{n_k} \ge s_n + \gamma' - \gamma > \gamma' + r_n\). ◻

Next, since \(s_{n_k} > r_n\) and \(n_k\) is not a locked job by definition, it follows that there must be \(m\) jobs being processed at time \(s_{n_k}\). Otherwise, it would be impossible to delay job \(n\) to a start time \(s_n > s_{n_k}\). We denote these jobs by \(j_1, j_2, \dots, j_m\) and refer to them as critical jobs, together with the jobs in the locking chain. That is, we define the critical job set as \[\mathcal{J}_C = \{j_1, \dots, j_m\} \cup \{n_1, \dots, n_k\}.\] Refer to 2 for illustration.

Figure 2: Locking chain (the white jobs) and critical jobs (the white and gray jobs).

Definition 5 (Early and Late Critical Jobs). For a critical job \(j\), we call it

  • Early Critical Job, if \(s_{j} < r_{n}\);

  • Late Critical Job, if \(s_{j} \geq r_{n}\).

Lemma 6. If a critical job \(j\) is an early critical job, then \(p_{j} > \gamma'\). Otherwise, if it is a late critical job, \(p_{j} \geq p_n\).

Proof. If \(s_j<r_n\), \(p_j\ge s_{n_k}-s_j>s_{n_k}-r_n>\gamma'\). If \(s_j\ge r_n\), then \(p_j\geq p_n\) because of the LPT strategy. ◻

Lemma 7. No \(3\) jobs \(\in \mathcal{J}_C\) are executed in the same machine in \(\pi\).

Proof. With condition

equation -(m-1),

and the definition of \(\gamma'\), we have \(\gamma'=\gamma-\alpha_f\sum_{j=2}^kp_{n_j}\geq\gamma-(m-1)\alpha\geq0.4\). With condition

equation >,

and 5, we have \(p_n>\frac{1}{3}\). Since all jobs in \(\mathcal{J}_C\) have processing time at least either \(p_n\) or \(\gamma'\) (by 6), and both are at least \(\frac{1}{3}\) due to the condition, it is impossible to arrange \(3\) jobs \(\in \mathcal{J}_C\) on the same machine in \(\pi\). ◻

Now, we have completed the preparation for our analysis. In the critical period (\(t > r_n\)), we identify \(m + k\) critical jobs. By 7 and the pigeonhole principle, at least \(k\) pairs of these jobs must be executed on the same machine in \(\pi\). We refer to each such pair as a critical job pair.

5 Further Discussion of Critical Job Pairs↩︎

In this section, we analyze different cases among the \(k\) critical job pairs. We classify them into two types:

  • Early Critical Pair: both jobs are early critical jobs.

  • Late Critical Pair: at least one job is a late critical job.

We first eliminate the case where all critical pairs are early in 5.1, which is a key scenario for the dynamic locking technique. In this section, we will also fix the choice of \(\lambda\). Then, in 5.2 and 5.3, we analyze the efficiency of both our algorithm and the optimal solution in the presence of at least one late critical pair, ultimately leading to a contradiction.

5.1 Early Critical Pairs Only↩︎

This section eliminates the case that all critical job pairs consist of early critical jobs. First, we give a lower bound for \(\alpha_f\), which promises that the critical jobs will use a large enough locking parameter.

\(\alpha_f>\lambda^{-4.5}\alpha\).

Proof. First, we prove \(s_n \leq 1 + \gamma\). If \(s_n = r_n\), we have \(s_n = r_n < 1\). Otherwise, either it is locked, i.e., \(\exists j, s_n = s_j + \alpha_j p_j \leq C_j \leq C_{n-1}\), or it is pushed, i.e., \(\exists j, s_n = C_j \leq C_{n-1}\). Finally, we conclude \(s_n \leq 1+ \gamma\) by showing \(C_{n-1} \leq 1+\gamma\). The fact comes from that \(\mathcal{J}\) is minimum. If there is a job set \(\mathcal{J}=\{n-k,\dots,n\}(k\ge 1)\) with \(\forall j \in \mathcal{J}, C_j>1+\gamma\), then delete the job with the latest start time in \(\mathcal{J}\) from \(\mathcal{J}\). Denote the new job set as \(\mathcal{J}'\). We have \(\sigma(\mathcal{J}')=\sigma(\mathcal{J}) > 1+\gamma\) and \(\pi(\mathcal{J}')\le \pi(\mathcal{J})=1\). It contradicts the notion that \(\mathcal{J}\) is the minimum. Therefore, we have \(s_n \leq 1 + \gamma\).

Then, by 5 and [condition:pnlarge], we have \(p_n > \frac{1}{3}\). It implies that \(\frac{s_n}{p_n}< 3+3\gamma\le4.5\). Thus, \[\alpha_f=\max_{j\in S}\alpha_j=\max_{j\in S}\lambda^{-\frac{s_j}{p_j}}\alpha\ge\lambda^{-\frac{s_n}{p_n}}\alpha>\lambda^{-4.5}\alpha.\] ◻

Hereafter, we show that with a proper choice of \(\lambda\), we can eliminate the possibility of all critical job pairs consisting of early critical jobs.

Lemma 8. Fix \(\lambda^{0.24} = 4\). There exists at least one late critical pair, i.e., at least one critical job pair (\(a\) and \(b\)) satisfies that either \(s_a\ge r_{n}\) or \(s_b\ge r_{n}\).

Proof. Assume that every critical job pair \(a\) and \(b\) satisfies that \(s_a< r_{n}\) and \(s_b< r_{n}\). In the analysis below, we can conclude that \(\pi(\mathcal{J})>1\), which leads to a contradiction.

By definition, these \(2k\) critical jobs are all in \(\{j_1,\dots,j_m\}\). A straightforward observation is that \(2k\leq m\). Identify them with integer \(l_1,\dots,l_{2k}\) such that \(s_{l_1}<\dots<s_{l_{2k}}\). Define \(\alpha_s\triangleq \min_{j\in \{l_1,\dots,l_{2k}\}}\alpha_j\). The total processing time of these jobs is at least \[2k(s_{n_k}-s_{l_{2k}})+(2k-1)\alpha_sp_{l_{2k-1}}+\dots+\alpha_sp_{l_1}>2k\gamma'+k(2k-1)\alpha_s\gamma'.\] Since these jobs are processed on \(k\) machines in \(\pi\), the total processing time of these jobs is at most \(k\). Otherwise, \(\pi(\mathcal{J})>1\). However, we can get a lower bound of \(\alpha_s\) as follows.

By the definition of \(\gamma'\) and [condition:gamma39], we have \(\gamma' \ge \gamma-(m-1)\alpha\ge 0.4\). For job \(j\in \{l_1,\dots,l_{2k}\}\), we have \(s_j < r_{n}\) and \(p_j > \gamma'\). Then, \[\frac{s_j}{p_j}<\frac{r_{n}}{\gamma'}. \label{sj47pj}\tag{3}\] For job \(n_i\in \{n_1,\dots,n_k\}\), by 2, \(s_{n_i}\geq s_{n_k} > \gamma'+ r_{n}\), and \(p_i \leq p_{n_k} < p_n + \gamma-\gamma'\le1-r_n+\gamma-\gamma'\). Then, \[\frac{s_{n_i}}{p_{n_i}}\ge\frac{s_{n_k}}{p_{n_k}}>\frac{\gamma'+ r_{n}}{1-r_n+\gamma-\gamma'}. \label{sni47pni}\tag{4}\] By definition of \(\alpha_s\) and \(\alpha_f\), with 3 and 4 , we obtain that \[\begin{align} \frac{\alpha_s}{\alpha_f}>\lambda^{-(\frac{r_{n}}{\gamma'}-\frac{\gamma'+ r_{n}}{1-r_n+\gamma-\gamma'})}. \end{align}\] Let \(f(r_n)\triangleq-\frac{r_{n}}{\gamma'}+\frac{\gamma'+ r_{n}}{1-r_n+\gamma-\gamma'}\). Then, \[\frac{\partial f}{\partial r_n}=-\frac{1}{\gamma'}+\frac{1+\gamma}{(1-r_n+\gamma-\gamma')^2}.\] We get \(f'(r_n)<0\) when \(r_n\in[0,1+\gamma-\gamma'-\sqrt{\gamma'(1+\gamma)})\) and \(f'(r_n)>0\) when \(r_n\in(1+\gamma-\gamma'-\sqrt{\gamma'(1+\gamma)},1)\). Therefore, \[\frac{\alpha_s}{\alpha_f}>\lambda^{f(r_n)}\geq \lambda^{f(1+\gamma-\gamma'-\sqrt{\gamma'(1+\gamma)})}=\lambda^{2\sqrt{\frac{1+\gamma}{\gamma'}}-\frac{1+\gamma}{\gamma'}}.\] Conditioned on

equation ,

we can get \(\frac{1+\gamma}{\gamma'}\leq \frac{1+\gamma}{\gamma-(m-1)\alpha}\leq3.5\) and \(\frac{1+\gamma}{\gamma'}\geq\frac{1}{\gamma'}+1>3\). Let \(h(x)\triangleq2\sqrt{x}-x\). We know \(h(x)\) strictly decreases in \([1,+\infty)\). Then we have that \(2\sqrt{\frac{1+\gamma}{\gamma'}}-\frac{1+\gamma}{\gamma'}\geq 2\sqrt{3.5}-3.5>0.24\). Therefore, \(\frac{\alpha_s}{\alpha_f}>\lambda^{0.24}=4\). Thus, \[\begin{align} 2k\gamma'+k(2k-1)\alpha_s\gamma'&=k(2+(2k-1)\alpha_s)(\gamma-\alpha_f\sum_{j = 2}^{k}p_{n_j})\\ &\ge k(2+(2k-1)\alpha_s)(\gamma-(k-1)\alpha_f)\\ &>k(2+4(2k-1)\alpha_f)(\gamma-(k-1)\alpha_f). \end{align}\] By Pigeonhole Principle, there is one machine in \(\pi\) have the processing time at least \((2+4(2k-1)\alpha_f)(\gamma-(k-1)\alpha_f)\). Let \(g(k) \triangleq (2+4(2k-1)\alpha_f)(\gamma-(k-1)\alpha_f)\), as a lower bound of \(\pi\). In definition, \(1=\pi\geq g(k)\). However, we have \[\frac{\partial g}{\partial k}=(8\gamma-4(4k-3)\alpha_f-2)\alpha_f\ge 2(4\gamma-2(2m-3)\alpha-1)\alpha_f \geq 0,\] with one more condition

equation 4(2m-3).

Since we fix \(\lambda^{0.24} = 4\), by [claim:aflow], we obtain \(\alpha_f>4^{-17.75}\alpha\). Then we know that \[g(k) \geq g(1)=(2+4\alpha_f)\gamma>(2+4^{-17.75}\alpha)\gamma>1,\] if we require the condition

equation (2+4^-17.75)>1.

This is a contradiction. ◻

From 8, we know that there exists at least one pair of critical jobs \(a\) and \(b\) such that either \(s_a\ge r_{n}\) or \(s_b\ge r_{n}\). Consider such a pair of critical jobs \(a\) and \(b\), called a Late Critical Pair.

Definition 6 (Idle Period). A period is idle if at least one machine remains idle. \([\theta^-,\theta^+]\) is defined as the final idle period before \(s_n\). If there is no idle period before \(s_n\), \(\theta^-=\theta^+=0\).

By definition, we have a basic property for this idle period.

\(\theta^+ \leq \min_{j\in S} r_j\).

Proof. By definition of the last locking chain, there is no idle segment during \([\min_{j\in S}\{r_j\}, s_n]\). Therefore, \(\theta^+\leq \min_{j\in S}\{r_j\}\). ◻

We will discuss the following two cases of the fixed late critical pair.

  1. \(\min\{s^\pi_a,s^\pi_b\} < \theta^+\) in 5.2.

  2. \(\min\{s^\pi_a,s^\pi_b\} \geq \theta^+\) in 5.3.

5.2 Late Critical Pair: \(\min \{s^\pi_a,s^\pi_b\} < \theta^+\)↩︎

In this section, we derive a contradiction that \(\sigma\) processes a workload exceeding \(m\) to show that this situation cannot occur. First, we eliminate cases where jobs \(a\) and \(b\) are late critical jobs.

Let \(c\) be \(a\) if \(s^\pi_a<s^\pi_b\) and \(b\) otherwise. It follows that \(s_c < r_{n}\), leading to \(p_c > \gamma'\).

Proof. Without loss of generality, assume \(s^\pi_a<s^\pi_b\). If \(s_a\geq r_{n}\), then \(s_a\ge r_{n}\ge \theta^+>s^\pi_a\geq r_a\), which contradicts that \([\theta^-,\theta^+]\) is an idle period. ◻

Finally, additional restrictions on \(\alpha\) and \(\gamma\) are imposed to demonstrate a contradiction, reinforcing the infeasibility of this scenario.

Lemma 9. The first case, i.e., \(\min \{s^\pi_a,s^\pi_b\} < \theta^+\), is impossible.

Proof. Without loss of generality, assume \(s^\pi_a< s^\pi_b\). By [claim:pre95case1], \(s_a< r_{n}\le s_b\), \(p_a>\gamma'\) and \(p_b\ge p_{n}\). Then we have that \(1\ge s^\pi_a+p_a+p_b\ge s^\pi_a+p_a+p_{n}\). By 1, we also have \(s_a+p_a+p_{n}> s_{n_k}+p_{n}>1+\gamma'\). After connecting these two inequalities, we get \(1-s^\pi_a\ge p_a+p_{n}>1+\gamma'-s_a\). So \(s_a - r_a \geq s_a - s^\pi_a > \gamma'\). By the definition of idle, we know that there won’t be idle machines during \([r_a,s_a)\) and \([r_{n},s_{n})\). In 3, we prove \(s_{n}-r_{n}>\gamma\). So the sum of the total waste of processing power and total processing time during \([r_a,s_{n})\) is greater than the sum of the total waste of processing power and total processing time during \([r_a,s_a)\) and \([r_{n},s_{n})\). Then we have that \(W_\sigma(r_a,s_{n})+P_\sigma(r_a,s_{n})\ge m(\gamma'+\gamma)\). Using 1, \(W_\sigma(r_a,s_{n})\le (m-1)\alpha\hat{P}_\sigma(r_a,s_{n}).\) With these two inequalities above, we have that \[\hat{P}_\sigma(r_a,s_{n})\ge\frac{m(\gamma'+\gamma)}{1+(m-1)\alpha}.\] By the definition of \(\hat{P}_\sigma(t_1,t_2)\), we have that \(P_\sigma \geq \hat{P}_\sigma(r_a,s_{n})+\sum_{i=1}^k p_{n_i}\). Hence, we get \[\begin{align} P_\sigma &\geq \hat{P}_\sigma(r_a,s_{n})+\sum_{i=1}^k p_{n_i} \geq \frac{m(\gamma'+\gamma)}{1+(m-1)\alpha}+\sum_{i=1}^k p_{n_i}\\ &=\frac{m}{1+(m-1)\alpha}(2\gamma- \alpha_f\sum_{i=2}^k p_{n_i}) + \sum_{i=1}^k p_{n_i} \\ &\ge\frac{2m\gamma}{1+(m-1)\alpha}+(1-\frac{m\alpha}{1+(m-1)\alpha})\sum_{i=2}^k p_{n_i}+p_n. \end{align}\] Conditioned on

equation 1-,

we have \(P_\sigma \ge\frac{2m\gamma}{1+(m-1)\alpha}+p_n\). By 5, \(p_n>\frac{m\gamma-\frac{m}{4}-m(m-1)\alpha}{\frac{3}{4}m-1-(m-1)\alpha}\). With another condition

equation +,

we have \(P_\sigma\geq\frac{2m\gamma}{1+(m-1)\alpha}+p_n>m(\frac{2\gamma}{1+(m-1)\alpha}+\frac{\gamma-\frac{1}{4}-(m-1)\alpha}{\frac{3}{4}m-1-(m-1)\alpha})\ge m\), which is a contradiction. ◻

5.3 Late Critical Pair: \(\min \{s^\pi_a,s^\pi_b\} \ge \theta^+\)↩︎

In this section, we derive a contradiction that the overall workload of our algorithm (i.e., \(p_\sigma\)) is larger than that of OPT (i.e., \(P_\pi\)). First, we prove two technical lemmas concerning the efficiency of our algorithm to derive a lower bound of \(P_{\sigma}- P_{\pi}\). Subsequently, we derive a contradiction by demonstrating that the lower bound is positive.

\(\forall t\in [\theta^+,s_n]\), \(P_\pi(0,\theta^+) + m(t-\theta^+) -P_\sigma(0,t)\le\frac{m}{4}\theta^++ W_\sigma(0,t)\).

Proof. Using 2 over time period \((0,\theta^+)\), we have that \[\begin{align} P_\pi(0,\theta^+)-P_\sigma(0,\theta^+) \le \frac{m}{4}\theta^++ W_\sigma(0,\theta^+). \end{align}\] By the definition of the last idle period, there is no idle time during \((\theta^+,s_n)\). So for \(t\in [\theta^+,s_n]\), \(m(t-\theta^+)-P_\sigma(\theta^+,t) \le W_\sigma(\theta^+,t)\). We can get \(P_\pi(0,\theta^+) + m(t-\theta^+)-P_\sigma(0,t)\le \frac{m}{4}\theta^++W_\sigma(0,t)\) after summing these two inequalities above. ◻

Corollary 3. \(\forall t\in [\theta^+,s_n]\), \(P_\pi(0,\theta^+) + m(t-\theta^+) -\hat{P}_\sigma(0,t)\le \frac{m}{4}\theta^++ (m-1) m \alpha t\).

Proof. By [cor:leftover1], \[P_\pi(0,\theta^+) + m(t-\theta^+)-\hat{P}_\sigma(0,t) \le \frac{m}{4}\theta^++ W_\sigma(0,t) - (\hat{P}_\sigma(0,t) - {P}_\sigma(0,t)).\] By 1, \[W_\sigma(0,t)\le(m-1)\alpha\hat{P}_\sigma(0, t).\] Then we have \[\begin{align} P_\pi(0,\theta^+) + m(t-\theta^+)-\hat{P}_\sigma(0,t) &\leq \frac{m}{4}\theta^++ (m-1)\alpha \hat{P}_\sigma(0,t) - (\hat{P}_\sigma(0,t) - {P}_\sigma(0,t))\\ &=\frac{m}{4}\theta^++ (m-1) \alpha {P}_\sigma(0,t) + ((m-1)\alpha - 1) (\hat{P}_\sigma(0,t) - {P}_\sigma(0,t)) \end{align}\] Conditioned on

equation 1-(m-1)

we have \(P_\pi(0,\theta^+) + m(t-\theta^+)-\hat{P}_\sigma(0,t)\leq \frac{m}{4}\theta^++ (m-1) \alpha {P}_\sigma(0,t)\leq \frac{m}{4}\theta^++ (m-1) m \alpha t\). ◻

\(P_\sigma-P_\pi\geq p_n+\sum_{i=2}^k p_{n_i}-\frac{m}{4}\theta^+-m(m-1)\alpha s_{n_k}-m(1-s_{n_k})\).

Proof. From the definition of \(\theta^+\), we know \(\theta^+\leq s_{n_k} \leq s_n\). By 3, \(P_\pi(0,\theta^+) + m(s_{n_k}-\theta^+)-\hat{P}_\sigma(0,s_{n_k})\le \frac{m}{4}\theta^++m(m-1)\alpha s_{n_k}\), from which we can yield that \[\hat{P}_\sigma(0,s_{n_k}) - P_\pi(0,\theta^+) \geq m(s_{n_k}-\theta^+) - \frac{m}{4}\theta^+- m(m-1)\alpha s_{n_k}. \label{subcase1-1}\tag{5}\] By definition of the last locking chain, the workload of \(\sigma\) during \((s_{n_k}, C_n)\), except the workload from jobs that start before \(s_{n_k}\) is \[P_\sigma(s_{n_k},C_n) - (\hat{P}_\sigma(0,s_{n_k}) - {P}_\sigma(0,s_{n_k})) \geq \sum_{i=1}^k p_{n_i}=p_n+\sum_{i=2}^k p_{n_i}. \label{subcase1-2}\tag{6}\] Therefore, with 5 and 6 , \[\begin{align} P_\sigma-P_\pi&= P_\sigma(s_{n_k},C_n) + {P}_\sigma(0,s_{n_k}) - (P_\pi(0,\theta^+) + P_\pi(\theta^+,1))\\ &\geq P_\sigma(s_{n_k},C_n) + {P}_\sigma(0,s_{n_k}) - (P_\pi(0,\theta^+) + m(1-\theta^+))\\ &= P_\sigma(s_{n_k},C_n) - (\hat{P}_\sigma(0,s_{n_k}) - {P}_\sigma(0,s_{n_k})) + (\hat{P}_\sigma(0,s_{n_k}) - P_\pi(0,\theta^+)) - m(1-\theta^+)\\ &\geq p_n+\sum_{i=2}^k p_{n_i} + m(s_{n_k}-\theta^+) - \frac{m}{4}\theta^+- m(m-1)\alpha s_{n_k} - m(1-\theta^+)\\ &= p_n+\sum_{i=2}^k p_{n_i}-\frac{m}{4}\theta^+-m(m-1)\alpha s_{n_k}-m(1-s_{n_k}). \end{align}\] ◻

Then, we move towards two subcases of \(a\) and \(b\), based on the relationship between \(s_a\), \(s_b\), and \(r_{n}\). Recall that \(s_a\geq r_{n}\) or \(s_b\geq r_{n}\) is proved in 8. Without loss of generality, assuming \(s_b \geq s_a\), it remains to discuss the following two cases:

  1. \(s_a < r_{n} \leq s_b\): \(a\) is early critical job and \(b\) is late.

  2. \(r_{n} \leq s_a \leq s_b\): \(a\) and \(b\) are both late critical jobs.

If \(\min \{s^\pi_a,s^\pi_b\} \ge \theta^+\), it is impossible that \(s_a < r_{n}\le s_b\).

Proof. We have that \(p_{n}\le p_b\le1-p_a-\theta^+<1-\gamma'-\theta^+\), from which we can see \(\theta^+<1-\gamma'-p_{n}<s_n-\gamma-\gamma'\). By [delta], \(P_\sigma-P_\pi\geq p_n+\sum_{i=2}^k p_{n_i}-\frac{m}{4}\theta^+-m(m-1)\alpha s_{n_k}-m(1-s_{n_k})\). Since \(\theta^+<1-\gamma'-p_{n}\) and \(s_{n_k}+p_{n}>1+\gamma'\) (1),

\[\begin{align} P_\sigma-P_\pi&\geq p_n+\sum_{i=2}^k p_{n_i}-\frac{m}{4}\theta^+-m(m-1)\alpha s_{n_k}-m(1-s_{n_k})\\ &> p_n+\sum_{i=2}^k p_{n_i}-\frac{m}{4}(1-\gamma'-p_{n})-m(m-1)\alpha (1+\gamma'-p_{n})-m(p_{n}-\gamma')\\ &=(1+m(m-1)\alpha-\frac{3}{4}m)p_n+\sum_{i=2}^k p_{n_i}-\frac{m}{4}-m(m-1)\alpha (1+\gamma')+\frac{5}{4}m\gamma'. \end{align}\] Conditioned on

equation m-1-m(m-1)+1,

the coefficient of \(p_n\) is not greater than \(0\). Then with \(p_{n}<1-\gamma'\), we obtain \[\begin{align} P_\sigma-P_\pi&>1-\gamma'+\sum_{i=2}^k p_{n_i}-2m(m-1)\alpha\gamma'-m(1-2\gamma')\\ &=(1+\alpha-2m\alpha(1-(m-1)\alpha))\sum_{i=2}^k p_{n_i} - (m(1-2\gamma)+(2m(m-1)\alpha+1)\gamma-1). \end{align}\] Conditioned on

align 1+-2m(1-(m-1)),

align m(1-2)+(2m(m-1)+1),

we get \(P_\sigma-P_\pi> 0\). This is a contradiction. ◻

If \(\min \{s^\pi_a,s^\pi_b\} \ge \theta^+\), it is impossible that \(r_{n} \leq s_a \leq s_b\).

Proof. If \(s_a \ge r_{n}\) and \(s_b \ge r_{n}\), we have \(p_a\ge p_{n}\) and \(p_b\ge p_{n}\). Then, because \(\min \{s^\pi_a,s^\pi_b\} + p_a + p_b \leq 1\), we have \(p_a+p_b \leq 1 - \theta^+\). It implies that \(p_{n}\le \frac{p_a+p_b}{2}\leq\frac{1-\theta^+}{2}\), so we have \(\theta^+\le 1-2p_n\). Combining \(\theta^+\leq 1-2p_{n}\), \(s_{n_k}+p_{n}>1+\gamma'\) (1) and [delta], we get

\[\begin{align} P_\sigma-P_\pi&\geq p_n+\sum_{i=2}^k p_{n_i}-\frac{m}{4}\theta^+-m(m-1)\alpha s_{n_k}-m(1-s_{n_k})\\ &> p_n+\sum_{i=2}^k p_{n_i}-\frac{m}{4}(1-2p_{n})-m(m-1)\alpha (1+\gamma'-p_n)-m(p_n-\gamma')\\ &=(1+m(m-1)\alpha-\frac{1}{2}m)p_n+\sum_{i=2}^k p_{n_i}-\frac{m}{4}-m(m-1)\alpha (1+\gamma')+m\gamma'. \end{align}\] Conditioned on

equation m-1-m(m-1),

the coefficient of \(p_n\) is not greater than 0. Then with \(p_{n}\le\frac{1}{2}\), we obtain \[\begin{align} P_\sigma-P_\pi&> \frac{1}{2}+\sum_{i=2}^k p_{n_i}-m(m-1)\alpha (\frac{1}{2}+\gamma')-m(\frac{1}{2}-\gamma')\\ &=(1-m\alpha(1-(m-1)\alpha))\sum_{i=2}^k p_{n_i}-(m(\frac{1}{2}-\gamma)+m(m-1)\alpha (\frac{1}{2}+\gamma)-\frac{1}{2}). \end{align}\] Conditioned on

equation 1-m(1-(m-1)),

equation m(-)+m(m-1)(+)-,

we get \(P_\sigma-P_\pi> 0\). This is a contradiction. ◻

lemmasecondcase The second case, i.e., \(\min \{s^\pi_a,s^\pi_b\} \geq \theta^+\), is impossible.

Proof. It is a straightforward combination of [claim:sasbrnk95case1] and [claim:sasbrnk95case2]. ◻

6 Bound of \(\gamma\) and \(\alpha\)↩︎

Given the conditions concerning variables \(\lambda, \;\alpha, \;\gamma\) and \(m\) as mentioned earlier in the text, we prove that there does not exist a minimum size set of jobs \(\mathcal{J}\) with optimal makespan \(\pi(\mathcal{J})=1\) that makes our algorithm have a makespan \(\sigma(\mathcal{J})=C_n=s_n+p_n>1+\gamma\). In other words, for each job set \(\mathcal{J}\), our algorithm guarantees that \(\frac{\sigma(\mathcal{J})}{\pi(\mathcal{J})}\le 1+\gamma\). The conditions are systematically reorganized and presented below for clarity.

  • Conditions on \(\alpha\) in terms of \(m\):

\[\begin{align} 1-\frac{m\alpha}{1+(m-1)\alpha}\ge0 \\ 1-(m-1)\alpha\ge0 \\ \frac{3}{4}m-1-m(m-1)\alpha\ge0 \\ 1+\alpha-2m\alpha(1-(m-1)\alpha)\ge 0 \\ -\frac{1}{2}m+(m-1)\alpha+1\le0 \\ 1-m\alpha(1-(m-1)\alpha)\ge 0 \end{align}\]

  • Conditions on \(\gamma\) in terms of \(m\) and \(\alpha\):

\[\begin{align} \frac{\gamma}{\alpha} > m \\ \gamma-(m-1)\alpha\ge0.4 \\ \frac{m\gamma-\frac{m}{4}-m(m-1)\alpha}{\frac{3}{4}m-1-(m-1)\alpha}>\frac{1}{3} \\ \gamma\ge\frac{1+3.5(m-1)\alpha}{2.5} \\ 4\gamma-2(2m-3)\alpha-1\ge 0 \\ (2+4^{-17.75}\alpha)\gamma>1 \\ \frac{2\gamma}{1+(m-1)\alpha}+\frac{\gamma-\frac{1}{4}-(m-1)\alpha}{\frac{3}{4}m-1-(m-1)\alpha}\ge 1 \\ m(1-2\gamma)+(2m(m-1)\alpha+1)\gamma-1\le 0 \\ m(\frac{1}{2}-\gamma)+m(m-1)\alpha (\frac{1}{2}+\gamma)-\frac{1}{2}\le 0 \end{align}\] Due to Conditions 12 and 15, the value of \(\alpha\) needs to be on the order of \(\frac{1}{O(m^2)}\). We can see that all conditions on \(\alpha\) in terms of \(m\) are satisfied if \[\alpha\le\frac{1}{4m^2}.\] Set \(\alpha = \frac{1}{4m^2}\) and then consider those conditions on \(\gamma\) in terms of \(m\) and \(\alpha\). Note that [condition:2gamma1] is the tightest condition. Set \(\gamma = \frac{1}{2}-\frac{1}{4^{20}m^2}\) to satisfy [condition:2gamma1]. Then, substitute the values of \(\alpha\) and \(\gamma\), we can verify that all conditions on \(\gamma\) in terms of \(m\) and \(\alpha\) are satisfied, which proves our main theorem:

Theorem 2 (Precise version of [thm:ratio95m623]). By setting \(\alpha = \frac{1}{4m^2}\), \(\lambda = 4^{25/6}\), the Generalized SLEEPY algorithm with dynamic locking achieves a competitive ratio of \(1.5-\frac{1}{4^{20}m^2}\).

7 Further Discussion on \(m=3\)↩︎

Here, we fix \(\lambda = 1\). There is an interesting fact about this special case.

Lemma 10. If \(3\gamma-5\alpha-1 > 0\), the size of the last locking chain \(|S|=1\).

Proof. If the size of the last locking chain \(|S|\ge2\), by the definition of the last locking chain and [claim:lockingchain95basic], \(\hat{P}_\sigma(0,s_n)-P_\sigma(0,s_n)\ge(1-\alpha)p_n\). Then by 5, \[p_n > \frac{3\gamma-\frac{3}{4}-6\alpha+\hat{P}_\sigma(0,s_n)- P_\sigma(0,s_n)}{\frac{5}{4}-2\alpha}\geq\frac{3\gamma-\frac{3}{4}-6\alpha+(1-\alpha)p_n}{\frac{5}{4}-2\alpha}.\] Therefore, under the condition that

equation 3 > 0,

we have \(p_n>\frac{3\gamma-6\alpha-\frac{3}{4}}{\frac{1}{4}-\alpha}>1\), which contradicts the assumption that \(\pi(\mathcal{J})=1\). ◻

10 implies that the job \(n\) is a pushed job. Thus, there will be exactly \(m\) processing jobs at time \(s_{n}\). Identify them by indices \(j_1,j_2,\dots,j_m\). Define \(\mathcal{J}_{C,m=3}=\{n,j_1,\dots,j_m\}\) as the critical set of tasks in this case. These \(m+1\) jobs in \(\mathcal{J}_{C,m=3}\) satisfy the following straightforward property.

For each critical job \(j\), we call it

  • Early Critical Job, if \(s_{j} < r_{n}\), and we have \(p_{j} > \gamma\);

  • Late Critical Job, if \(s_{j} \geq r_{n}\), and we have \(p_{j} \geq p_n\).

Proof. It is trivial that \(p_n\ge p_n\). The processing time for early critical jobs exceeds \(\gamma\), derived from \(s_n-r_n>\gamma\), and late critical jobs’ processing time is at least \(p_n\) according to the LPT strategy. ◻

By the pigeonhole principle, at least \(2\) of these \(m+1\) jobs in \(\mathcal{J}_{C,m=3}\) will be assigned to one machine in \(\pi\). We denote this pair of jobs as jobs \(a\) and \(b\). Firstly, we eliminate the case that jobs \(a\) and \(b\) are both early critical jobs. Remark that we do not require the dynamic locking factor \(\lambda\), because we do not have locked jobs.

It is impossible that jobs \(a\) and \(b\) are both early critical jobs.

Proof. Assume \(s_a<s_b\). By our locking strategy and 3, \(s_b\geq s_a+\alpha p_a\) and \((1-\alpha)p_a>\gamma\). Then \(p_a+p_b\ge 2(s_n-s_b)+s_b-s_a\ge 2\gamma+\alpha p_a>\frac{2-\alpha}{1-\alpha}\gamma\). Conditioned on

equation ,

\(p_a+p_b>1\). This contradicts the supposition that \(\pi(\mathcal{J})=1\). ◻

From [claim:m613sasbrn], we know that either \(s_a\ge r_{n_k}\) or \(s_b\ge r_{n_k}\). By [lem:idle95basic], \(\theta^+ \leq r_{n}\). Similarly, as in the general analysis, we will discuss the following two cases of this pair of jobs.

  1. \(\min\{s^\pi_a,s^\pi_b\} < \theta^+\).

  2. \(\min\{s^\pi_a,s^\pi_b\} \geq \theta^+\).

For the first case, assume \(s_a^\pi<s_b^\pi\) without loss of generality. By [claim:pre95case1], \(s_a<r_n\) and \(p_a>\gamma\). Then \(s_a<r_n<s_b\). Similarly to the proof of [claim:sasbrnk95case1], we get \(s_a-r_a\ge s_a-s_a^\pi>\gamma\). We know that there won’t be idle machines during \([r_a,s_a)\) and \([r_n,s_n)\). Since \(C_a\geq s_n\), there is at least one busy machine during \((r_a, C_n)\). Assume the minimal release time is \(r_{min}\). Therefore, \(3(1-r_{min})\ge P_\pi=P_\sigma\ge s_n+p_n-r_{min}+2\gamma(\frac{3}{1+2\alpha}-1)>1+\gamma+2\gamma(\frac{3}{1+2\alpha}-1)-r_{min}\). Conditioned on

equation (-1),

\(3>1+\gamma(\frac{6}{1+2\alpha}-1)+2r_{min}\ge3\), which is a contradiction. The illustration of the impossibility of the second case is the same as 5.3. Therefore, we should follow Conditions 9-15.

In conclusion, to prove 1, we need not discuss the property of the last locking chain because we prove \(|S|=1\) by a new condition of [conm613:1]. Therefore, Conditions 1-3 can be removed. On the other hand, it also becomes easier to handle early critical pairs. The proof of [claim:m613sasbrn] replaces Conditions 4-6 by [conm613:2]. Then, for late critical pairs, in the first case, we also replace Conditions 7-8 with a weaker one-[conm613:3]. In the second case, we keep the same proof as the general case. Therefore, we keep Conditions 9-15.

7.1 Conditions Required in This Special Case↩︎

\[\begin{align} 3\gamma-5\alpha-1 &> 0 \\ \frac{2-\alpha}{1-\alpha}\gamma&\ge1 \\ \gamma(\frac{6}{1+2\alpha}-1)&\geq2 \\ 1-2\alpha&\ge 0 \\ \frac{5}{4}-6\alpha&\ge0 \\ 1-5\alpha+12\alpha^2&\ge 0\;\text{(always holds)} \\ 3(1-2\gamma)+(12\alpha+1)\gamma-1&\le 0 \\ \frac{1}{2}-6\alpha&\ge0 \\ 1-3\alpha(1-2\alpha)&\ge 0\;\text{(always holds)} \\ 3(\frac{1}{2}-\gamma)+6\alpha (\frac{1}{2}+\gamma)-\frac{1}{2}&\le 0 \end{align}\]

First, it is straightforward to verify Conditions 9, 10, 11, 13, 14 hold if \(\alpha\le\frac{1}{12}\). For the remaining conditions, it can be checked that \(\alpha=0.07066\) and \(\gamma = 0.4817\) are feasible for all of them. We plot a figure for help verifying.

Figure 3: We plot all conditions in the figure and mark the infeasible region in grey. Finally, the white region means the feasible region where all constraints are satisfied.

8 Hard Instance↩︎

Here, we prove the following theorem to demonstrate the necessity of introducing dynamic locking. We recall [thm:dynamic32locking]:

The proof is given by case-by-case analysis on the locking parameter \(\alpha\) in the Generalized SLEEPY.

8.1 Case 1: \(\alpha \geq \frac{1}{2(m-1)}\)↩︎

Consider the following instance: \(m\) jobs are released at time \(0\), with processing time \(1\). In the optimum schedule, by starting the \(m\) jobs at time 0, we obtain the optimum makespan of \(1\). In the Generalized SLEEPY algorithm’s schedule, the last started job of the \(m\) jobs would be \((m-1)\alpha\), so the completion time of the job is \((m-1)\alpha + 1 \geq 1.5\). In this case, the competitive ratio of Generalized SLEEPY is at least \(1.5\). Refer to Figure 4.

a

b

Figure 4: The schedule of \(\pi\) (left) and \(\sigma\) (right) in the hard instance of Case 1..

8.2 Case 2: \(\alpha < \frac{1}{2(m-1)}\) (\(m\geq6\))↩︎

Consider the following instance:

  • \(6\) jobs labeled from \(1\) to \(6\), with \(\forall i \in [1, 6].~ r_i = 0\), \(p_1 = \frac{1}{1 + (1-\alpha)^5}\), and \(\forall i \in [2, 6].~ p_i = (1-\alpha)^{i-1} p_1\).

  • \(m - 3\) jobs labeled from \(7\) to \(m + 3\), with \(\forall i\in [7,m+3].~ r_i = (1 - (1-\alpha)^5)p_1+\varepsilon\), where \(\varepsilon \rightarrow 0\), and \(p_i = 1 - (1 - (1-\alpha)^5)p_1\).

8.2.1 OPT’s Schedule.↩︎

The \(i\)-th machine processes the \(i\)-th and the \(7-i\)-th jobs in the first three machines and the completion time is \(p_i + p_{7-i} = p_1 \cdot ((1-\alpha)^{i-1} + (1-\alpha)^{6-i}) \leq p_1 \cdot (1 + (1-\alpha)^{5}) = 1\). In the last \(m-3\) machines, each of them processes one job labeled from \([7, m+3]\), the finish time is \((1 - (1-\alpha)^{5})p_1+\varepsilon + (1 - (1 - (1-\alpha)^{5})p_1)= 1+\varepsilon \rightarrow 1\). Refer to 5 below.

Figure 5: The schedule of \pi in the hard instance of Case 2.

8.2.2 Generalized SLEEPY’s Schedule.↩︎

For \(1 \leq i \leq 6\), because the processing time decreases from \(1\) to \(6\), the jobs would be placed in this order and processed in different machines. Formally, we have \(s_1=0\) and for all \(2 \leq i \leq 6\), \(s_i = \sum_{j = 1}^{i-1} \alpha p_j\). Therefore, for all \(1 \leq i \leq 6\), \[\begin{align} C_i = s_i + p_i &= \sum_{j = 1}^{i-1} \alpha p_j + (1-\alpha)^{i-1} p_1\\ &= \sum_{j = 1}^{i-2}\alpha p_j + \alpha (1 - \alpha)^{i-2}p_1 + (1 - \alpha)^{i-1}p_1 \\ &= \sum_{j = 1}^{i-2}\alpha p_j + (1 - \alpha)^{i-2}p_1 \\ &= \dots = p_1. \end{align}\] Note that \(s_{6} = p_1 - p_{6} = p_1 (1 - (1-\alpha)^{5}) = r_{7}-\varepsilon<r_7\), the last \(m - 3\) jobs are released just after the start of the job \(6\). Because only \(m-6\) machines are free before \(p_1\), three of the last \(m-6\) jobs must be scheduled after \(p_1\) or even after \(r_7+p_7=1 > p_1\). Without loss of generality, we call them \(m+1\), \(m+2\), and \(m+3\). By the definition of Generalized SLEEPY, the start time of the last job \(s_{m+3}\) must be large, where \[s_{m+3} = s_{m+1}+ 2\alpha (1- (1 - (1-\alpha)^{5})p_1) = p_1 + 2\alpha (1- (1 - (1-\alpha)^{5})p_1).\] Therefore, \[\begin{align} C_{m+3} &= p_1 + 2\alpha (1- (1 - (1-\alpha)^{5})p_1) + p_{m+3}\\ &= \frac{1}{1 + (1-\alpha)^5} + (1+2\alpha) (1-\frac{1 - (1-\alpha)^{5}}{1 + (1-\alpha)^5})\\ &= p_1+(1+2\alpha)p_7. \end{align}\] Refer to 6 below.

Figure 6: The schedule of \sigma in the hard instance of Case 2.

Let \(f(\alpha) = \frac{1}{1 + (1-\alpha)^5} + (1+2\alpha) (1-\frac{1 - (1-\alpha)^{5}}{1 + (1-\alpha)^5})\). We observe that for all \(\alpha \leq \frac{1}{2(m-1)}\), \(f(\alpha)\geq 1.5\). We plot the function in the following 7 for verification. The competitive ratio of Generalized SLEEPY is at least \(1.5\) in this case.

Figure 7: Function f(\alpha). We have \forall \alpha \leq \frac{1}{2(m-1)},~f(\alpha)\geq 1.5. Note that the vertical line is \alpha = 0.1 = \frac{1}{2(m-1)} when m=6.

9 Conclusion↩︎

In conclusion, our main contribution is to show that we can beat the \(1.5\)-competitive ratio of LPT for every constant \(m\), marking an important step toward understanding whether LPT is the optimal algorithm for this over-time online makespan minimization problem. We believe that our results and techniques can inspire further work toward fully resolving this open question:

  • If we believe that LPT is indeed optimal when \(m\) becomes large, then it would be necessary to construct a counterexample involving an infinite number of machines. This is because, for any constant number of machines, our algorithm achieves a competitive ratio strictly below \(1.5\). Prior to our results, many researchers may have believed that a counterexample with some constant \(m\), for example \(m=4\), could already demonstrate the tight bound of \(1.5\).

  • On the other hand, if we believe that there exists a better algorithm that can beat \(1.5\) for general \(m\), then several challenges must be addressed. In our paper, we use a \(o(1)\) locking parameter; otherwise, the algorithm could waste too much processing power, making it difficult to use efficiency arguments. To improve beyond \(1.5\) for general \(m\), one would need to apply an \(\Omega(1)\) locking parameter and resolve the associated efficiency issues by designing a more refined version of the left-over lemma. Furthermore, the complications arising from the last locking chain become even more severe, suggesting that a similar idea to dynamic locking must also be incorporated.

On the other hand, we also believe that our algorithmic idea is not merely a theoretical trick for analysis. In this over-time model, locking machines for a period to wait for more future information can play an important role in improving LPT. Our dynamic locking rule suggests that a dynamic locking strategy may outperform a static one. Although in practice the locking parameter and the locking strategy may not be set exactly as in our work, it is an interesting direction to investigate whether there exists a suitable way to lock machines that can enhance the performance of LPT in practical settings.

References↩︎

[1]
Graham, R.L.: Bounds on multiprocessing timing anomalies. SIAM Journal of Applied Mathematics 17(2), 416–429 (1969).
[2]
Chen, B., Vestjens, A.P.A.: Scheduling on identical machines: How good is LPT in an on-line setting? Oper. Res. Lett. 21(4), 165–169 (1997). , https://doi.org/10.1016/S0167-6377(97)00040-0.
[3]
Li, S., Zhang, Y.: On-line scheduling on parallel machines to minimize the makespan. J. Syst. Sci. Complex. 29(2), 472–477 (2016). , https://doi.org/10.1007/s11424-015-3252-8.
[4]
Noga, J., Seiden, S.S.: An optimal online algorithm for scheduling two machines with release times. Theor. Comput. Sci. 268(1), 133–143 (2001). , https://doi.org/10.1016/S0304-3975(00)00264-4.
[5]
Huang, Z., Kang, N., Tang, Z.G., Wu, X., Zhang, Y.: Online makespan minimization: The power of restart. In: Blais, E., Jansen, K., Rolim, J.D.P., Steurer, D. (eds.) Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques, APPROX/RANDOM 2018, August 20-22, 2018 - Princeton, NJ, USA. LIPIcs, vol. 116, pp. 14:1–14:19. Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2018). , https://doi.org/10.4230/LIPIcs.APPROX-RANDOM.2018.14.
[6]
Li, W., Yuan, J.: LPT online strategy for parallel-machine scheduling with kind release times. Optim. Lett. 10(1), 159–168 (2016). , https://doi.org/10.1007/s11590-015-0862-y.
[7]
Chen, B., van Vliet, A., Woeginger, G.J.: An optimal algorithm for preemptive on-line scheduling. Oper. Res. Lett. 18(3), 127–131 (1995). , https://doi.org/10.1016/0167-6377(95)00039-9.
[8]
Bartal, Y., Fiat, A., Karloff, H.J., Vohra, R.: New algorithms for an ancient scheduling problem. J. Comput. Syst. Sci. 51(3), 359–366 (1995). , https://doi.org/10.1006/jcss.1995.1074.
[9]
Karger, D.R., Phillips, S.J., Torng, E.: A better algorithm for an ancient scheduling problem. J. Algorithms 20(2), 400–430 (1996). , https://doi.org/10.1006/jagm.1996.0019.
[10]
III, J.F.R., Chandrasekaran, R.: Improved bounds for the online scheduling problem. SIAM J. Comput. 32(3), 717–735 (2003). , https://doi.org/10.1137/S0097539702403438.
[11]
Aspnes, J., Azar, Y., Fiat, A., Plotkin, S.A., Waarts, O.: On-line load balancing with applications to machine scheduling and virtual circuit routing. In: Kosaraju, S.R., Johnson, D.S., Aggarwal, A. (eds.) Proceedings of the Twenty-Fifth Annual ACM Symposium on Theory of Computing, May 16-18, 1993, San Diego, CA, USA. pp. 623–631. ACM(1993). , https://doi.org/10.1145/167088.167248.
[12]
Jez, L., Schwartz, J., Sgall, J., Békési, J.: Lower bounds for online makespan minimization on a small number of related machines. J. Sched. 16(5), 539–547 (2013). , https://doi.org/10.1007/s10951-012-0288-7.
[13]
Berman, P., Charikar, M., Karpinski, M.: On-line load balancing for related machines. J. Algorithms 35(1), 108–121 (2000). , https://doi.org/10.1006/jagm.1999.1070.
[14]
Ebenlendr, T., Sgall, J.: A lower bound on deterministic online algorithms for scheduling on related machines without preemption. Theory Comput. Syst. 56(1), 73–81 (2015). , https://doi.org/10.1007/s00224-013-9451-6.
[15]
Albers, S.: Better bounds for online scheduling. SIAM J. Comput. 29(2), 459–473 (1999). , https://doi.org/10.1137/S0097539797324874.
[16]
Galambos, G., Woeginger, G.J.: An on-line scheduling heuristic with better worst case ratio than graham’s list scheduling. SIAM J. Comput. 22(2), 349–355 (1993). , https://doi.org/10.1137/0222026.
[17]
Dwibedy, D., Mohanty, R.: Online list scheduling for makespan minimization: A review of the state-of-the-art results, research challenges and open problems. SIGACT News 53(2), 84–105 (2022). , https://doi.org/10.1145/3544979.3544993.
[18]
Englert, M., Özmen, D., Westermann, M.: The power of reordering for online minimum makespan scheduling. SIAM J. Comput. 43(3), 1220–1237 (2014). , https://doi.org/10.1137/130919738.
[19]
Albers, S., Hellwig, M.: Online makespan minimization with parallel schedules. Algorithmica 78(2), 492–520 (2017). , https://doi.org/10.1007/s00453-016-0172-5.

  1. This work was completed when Zhaozi Wang was an undergraduate student at Shanghai Jiao Tong University. He is now a Ph.D. candidate at New York University.↩︎