Abstract
We study a fundamental online job admission problem where jobs with deadlines arrive online over time at their release dates, and the task is to determine a preemptive single-server schedule which maximizes the number of jobs that complete on time. To circumvent known impossibility results, we make a standard slackness assumption by which the feasible time window for scheduling a job is at least \(1+\varepsilon \) times its processing time, for some \(\varepsilon >0\). We quantify the impact that different provider commitment requirements have on the performance of online algorithms. Our main contribution is one universal algorithmic framework for online job admission both with and without commitments. Without commitment, our algorithm with a competitive ratio of \(\mathcal {O}(1/\varepsilon )\) is the best possible (deterministic) for this problem. For commitment models, we give the first non-trivial performance bounds. If the commitment decisions must be made before a job’s slack becomes less than a \(\delta \)-fraction of its size, we prove a competitive ratio of \(\mathcal {O}(\varepsilon /((\varepsilon -\delta )\delta ^2))\), for \(0<\delta <\varepsilon \). When a scheduler must commit upon starting a job, our bound is \(\mathcal {O}(1/\varepsilon ^2)\). Finally, we observe that for scheduling with commitment the restriction to the “unweighted” throughput model is essential; if jobs have individual weights, we rule out competitive deterministic algorithms.
N. Megow—Supported by the German Science Foundation (DFG) Grant ME 3825/1.
K. Schewior—Supported by CONICYT Grant PII 20150140 and DAAD PRIME program.
C. Stein—Research partly supported by NSF Grants CCF-1714818 and CCF-1822809.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Agrawal, K., Li, J., Lu, K., Moseley, B.: Scheduling parallelizable jobs online to maximize throughput. In: Bender, M.A., Farach-Colton, M., Mosteiro, M.A. (eds.) LATIN 2018. LNCS, vol. 10807, pp. 755–776. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-77404-6_55
Azar, Y., Kalp-Shaltiel, I., Lucier, B., Menache, I., Naor, J., Yaniv, J.: Truthful online scheduling with commitments. In: Proceedings of the ACM Symposium on Economics and Computations (EC), pp. 715–732 (2015)
Bansal, N., Chan, H.-L., Pruhs, K.: Competitive algorithms for due date scheduling. In: Arge, L., Cachin, C., Jurdziński, T., Tarlecki, A. (eds.) ICALP 2007. LNCS, vol. 4596, pp. 28–39. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-73420-8_5
Baruah, S.K., Haritsa, J.R.: Scheduling for overload in real-time systems. IEEE Trans. Comput. 46(9), 1034–1039 (1997)
Baruah, S.K., Haritsa, J.R., Sharma, N.: On-line scheduling to maximize task completions. In: Proceedings of the IEEE Real-Time Systems Symposium (RTSS), pp. 228–236 (1994)
Baruah, S.K., et al.: On the competitiveness of on-line real-time task scheduling. Real-Time Syst. 4(2), 125–144 (1992)
Canetti, R., Irani, S.: Bounding the power of preemption in randomized scheduling. SIAM J. Comput. 27(4), 993–1015 (1998)
Chen, L., Megow, N., Schewior, K.: An \(\cal{O}(\log m)\)-competitive algorithm for online machine minimization. In: Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 155–163 (2016)
Chen, L., Megow, N., Schewior, K.: The power of migration in online machine minimization. In: Proceedings of the ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 175–184 (2016)
DasGupta, B., Palis, M.A.: Online real-time preemptive scheduling of jobs with deadlines. In: Jansen, K., Khuller, S. (eds.) APPROX 2000. LNCS, vol. 1913, pp. 96–107. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-44436-X_11
Ferguson, A.D., Bodík, P., Kandula, S., Boutin, E., Fonseca, R.: Jockey: guaranteed job latency in data parallel clusters. In: Proceedings of the European Conference on Computer Systems (EuroSys), pp. 99–112 (2012)
Garay, J.A., Naor, J., Yener, B., Zhao, P.: On-line admission control and packet scheduling with interleaving. In: Proceedings of the IEEE International Conference on Computer Communications (INFOCOM), pp. 94–103 (2002)
Georgiadis, L., Guérin, R., Parekh, A.K.: Optimal multiplexing on a single link: delay and buffer requirements. IEEE Trans. Inf. Theory 43(5), 1518–1535 (1997)
Goldwasser, M.H.: Patience is a virtue: the effect of slack on competitiveness for admission control. In: Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 396–405 (1999)
Im, S., Moseley, B.: General profit scheduling and the power of migration on heterogeneous machines. In: Proceedings of the ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 165–173 (2016)
Kalyanasundaram, B., Pruhs, K.: Maximizing job completions online. J. Algorithms 49(1), 63–85 (2003)
Koren, G., Shasha, D.E.: MOCA: a multiprocessor on-line competitive algorithm for real-time system scheduling. Theor. Comput. Sci. 128(1–2), 75–97 (1994)
Koren, G., Shasha, D.E.: Dover: an optimal on-line scheduling algorithm for overloaded uniprocessor real-time systems. SIAM J. Comput. 24(2), 318–339 (1995)
Liebeherr, J., Wrege, D.E., Ferrari, D.: Exact admission control for networks with a bounded delay service. IEEE/ACM Trans. Netw. 4(6), 885–901 (1996)
Lipton, R.: Online interval scheduling. In: Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 302–311 (1994)
Lucier, B., Menache, I., Naor, J., Yaniv, J.: Efficient online scheduling for deadline-sensitive jobs: extended abstract. In: Proceedings of the ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 305–314 (2013)
Pruhs, K., Stein, C.: How to schedule when you have to buy your energy. In: Proceedings of the International Conference on Approximation Algorithms for Combinatorial Optimization Problems (APROX), pp. 352–365 (2010)
Schwiegelshohn, C., Schwiegelshohn, U.: The power of migration for online slack scheduling. In: Proceedings of the European Symposium of Algorithms (ESA), vol. 57, pp. 75:1–75:17 (2016)
Woeginger, G.J.: On-line scheduling of jobs with fixed start and end times. Theor. Comput. Sci. 130(1), 5–16 (1994)
Yaniv, J.: Job scheduling mechanisms for cloud computing. Ph.D. thesis, Technion, Israel (2017)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
A Appendix
A Appendix
Lemma 4
Let \(\{f, \ldots , g\}\subset J\) be jobs at maximal distance from M such that \(\sum _{j=f}^i |X_{j}| > \lambda (i+1 - f) \) holds for all \(f\le i\le g\). If g is the last such job, there is a sibling \(j^*\) of g with \(b_{g} = a_{j^*}\) and \(\sum _{j = f }^{j^*} |X_{j}| \le \lambda (j^*+ 1 - f)\).
Proof
(Sketch). Observe that \([a_{f}, b_{g}) = \bigcup _{j=f}^k R(g)\) because the leaves \(f, \ldots , g\) form a string of jobs. Thus, by showing that there is a job \(x \in X_f^g := \bigcup _{j=f}^g X_{j}\) satisfying (V), we prove the lemma with the Volume Lemma. We show that for every job \(f \le j \le g\) there is a set \(Y_j\) such that the processing volume of \(Y_j\) covers the interval \([a_{j},b_{j})\) at least \(\frac{\varepsilon }{\varepsilon -\delta }\) times. More precisely, \(Y_f,\ldots ,Y_g\) satisfy
-
$$\begin{aligned} {\textit{(i)}}\,\bigcup \nolimits _{j=f}^g Y_j \subset X_f^g,\,{\textit{(ii)}}\,|Y_j| = \lambda ,\,{\textit{(iii)}}\,Y_j \subset \{x \in X_f^g: p_x \ge \beta p_{j}\}\,\,\text {for}\,\,f\le j \le g. \end{aligned}$$
Then, ( ii ) and ( iii ) imply \(\sum _{y \in Y_j} p_y \ge \lambda \beta p_{j} = \frac{\varepsilon }{\varepsilon -\delta }(b_{j} - a_{j})\). Thus, if \(x \notin \bigcup _{j=f}^g Y_j\) and x is among those jobs in \(X_f^g\) that Opt completes last, (V) is satisfied. We first describe how to find \(Y_f,\ldots ,Y_g\) before we show that these sets satisfy ( i ) to ( iii ).
By assumption, \(|X_{f}| > \lambda \). Index the jobs in \(X_{f} = \{x_1,\ldots ,x_\lambda ,x_{\lambda +1},\ldots \}\) in increasing completion times \(C_x^*\). Define \(Y_f := \{x_1,\ldots ,x_\lambda \}\) and \(L_f := X_f \setminus Y_f \). Let \(Y_f,\ldots ,Y_j\) and \(L_j\) be defined for \(f < j+1\le g\). By assumption, \(|X_{j+1 } \cup L_j| > \lambda \) since \(|Y_i| = \lambda \) for \(f\le i \le j\). We again index the jobs in \(X_{j +1} \cup L_j = \{x_1, \ldots , x_\lambda , x_{\lambda +1}, \ldots \}\) in increasing optimal completion times. Then, \(Y_{j+1} := \{x_1,\ldots ,x_\lambda \}\) and \(L_{j+1} := \{x_{\lambda +1},\ldots \}\). Since we move jobs only horizontally to later siblings, we call this procedure Push Forward.
By definition, ( i ) and ( ii ) are satisfied. Since \(f,\ldots ,g\) are leaves, the jobs in \(Y_j \cap X_j\) are big w.r.t. j. Thus, it remains to show that the jobs in \(L_j\) are big w.r.t. the next job \(j+1\). To this end, we assume that the jobs in \(Y_f,\ldots ,Y_j\) are big w.r.t. \(f,\ldots ,j\), respectively. If we find an index \(f\le i(x) \le j\) such that x as well as the jobs in \(\bigcup _{i=i(x)}^j Y_i\) are released after \(a_{i(x)}\) and x completes after every \(y \in \bigcup _{i = i(x)}^j Y_i\), then the Volume Lemma 3 implies that \(x \in L_j\) is big w.r.t. \(j+1\). Indeed, then \( \sum _{i = i(x)}^j \sum _{\begin{array}{c} y\in X_{i}: C_y^* \le C_x^* \end{array}} p_y \ge p_x + \sum _{i = i(x)}^j \sum _{y\in Y_i} p_y \ge \frac{\varepsilon }{\varepsilon -\delta }(b_{j} - a_{i(x)}) + p_x . \) By induction, we show the existence of such an index \(i(x)\).
By the same argumentation for \(j = g\), Corollary 1 implies the lemma. \(\square \)
Lemma 2
For all \(j\in J\cup \{M\}\), \(|X_j^S| \le \lambda \tau _j\).
Proof
(Sketch). Recall that \(T_{j}\) is the subtree of the interruption tree rooted in \(j\in J\) while the forest \(T_{-j}\) is \(T_j\) without its root j. We show that for all \(j\in J\cup \{M\}\) there exists a partition \((Y_k)_{k\in T_{-j}}\) with
-
$$\begin{aligned} {\textit{(i)}}\,\bigcup \nolimits _{k\in T_{-j}} Y_k = X_j^S,\, {\textit{(ii)}}\,Y_k \subset \{ x \in X_j: p_x \ge \beta p_k \},\,{\textit{(iii)}}\,|Y_k| \le \lambda \,\,\text {for}\,\,k\in T_{-j}. \end{aligned}$$
Then, \(|X_j^S | = |\bigcup _{k\in T_{-j}} Y_k | = \sum _{k \in T_{-j}} |Y_k| \le \tau _j \lambda \) and, thus, the lemma follows.
The proof consists of an outer and an inner induction. The outer induction is on the distance \(\varphi (j)\) of a job j from machine job M, i.e., \(\varphi (M) := 0\) and \(\varphi (j) := \varphi (\pi (j)) + 1\) for \(j\in J\). Let \(\varphi _{\max } := \max \{\varphi (i): i \in J\}\). The inner induction uses the idea about pushing jobs \(x\in X_j\) to some later sibling of j in the same string of jobs (see proof of Lemma 4).
Let \(j \in J\) with \(\varphi (j) = \varphi _{\max } -1 \). By Observation 1, \(X_j^S = \bigcup _{k: \pi (k) = j} X_k\), where all \(k \in T_{-j}\) are leaves at distance \(\varphi _{\max }\) from M. To define \(Y_k\) for \(k \in T_{-j}\) satisfying ( i ) to ( iii ), we distinguish three cases:
Case 1. If \(k\in T_{-j}\) is isolated, \(|X_k| \le \lambda \) follows directly from the Volume Lemma as otherwise \(\sum _{x \in X_k} p_x \ge \lambda \beta p_k + p_x = \tfrac{\varepsilon }{\varepsilon - \delta } (b_k - a_k) + p_x\) contradicts Corollary 1, where \(x\in X_k\) is the last job that Opt completes from the set \(X_k\). Since all jobs in \(X_k\) are big w.r.t. k, we set \(Y_k := X_k\).
Case 2. For \(k\in T_{-j}\) with \(|X_k| > \lambda \), we find \(Y_f,\ldots ,Y_g\) with Lemma 4 and set \(Y_{g+1} := X_{g+1} \cup L_g\) where \(f \le k \le g\) (maximal) satisfy Lemma 2.
Case 3. Consider jobs k in a string with \(|X_k| \le \lambda \) without siblings \(f,\ldots ,g\) in the same string with \(b_g = a_k\) and \(\sum _{i=f}^{g} |X_j| > (g - f) \lambda \). This means that such jobs do not receive jobs \(x \in X_i\) for \(i\ne k\) by the Push Forward procedure in Case 2. For such \(k\in T_{-j}\) we define \(Y_k := X_k\) as in Case 1.
Then, \(X_j^S = \bigcup _{k \in T_{-j}} X_k = \bigcup _{k \in T_{-j}} Y_k\) and, thus, ( i ) to ( iii ) are satisfied.
We use induction to extend the claim for \(\varphi = \varphi _{\max }\) to all \(0\le \varphi \le \varphi _{\max }\). Let \(\varphi < \varphi _{\max }\) such that \((Y_k)_{k\in T_{-j}}\) satisfying ( i ) to ( iii ) exists for all \(j\in J\) with \(\varphi (j) \ge \varphi \). Fix \(j \in J\) with \(\varphi (j) = \varphi -1\). By induction and Observation 1, it holds that \(X_j^S = \bigcup _{k: \pi (k) = j} \left( X_k^B \cup \bigcup _{i \in T_{-k}} Y_i \right) \). Now, we use the partitions \((Y_i)_{i \in T_{-k}}\) for k with \(\pi (k) = j\) as starting point to find the partition \((Y_k)_{k \in T_{-j}}\). We fix k with \(\pi (k)= j\) and distinguish similar three cases as in the base case:
Case 1. If k is isolated, we show that \(|X_k| \le (\tau _k+1) \lambda \) and develop a procedure to find \((Y_i)_{i \in T_{k}}\).
By induction, \(|X_k^S| \le \tau _k \lambda \). In the full version of the paper, we prove that \(|X_k^B| \le \lambda + (\tau _k \lambda - |X_k^S|)\). To construct \((Y_i)_{i \in T_{k} }\), we assign \(\min \{\lambda , |X_k^B|\}\) jobs from \(X_k^B\) to \(Y_k\). If \(|X_k^B| > \lambda \), distribute the remaining jobs according to \(\lambda - |Y_i|\) among the descendants of k. Then, \(X_k = \bigcup _{i \in T_{k}} Y_i\). Because a job that is big w.r.t job k is also big w.r.t. all descendants of k, every (new) set \(Y_i\) satisfies ( ii ) and ( iii ). We refer to this procedure as Push Down since jobs are shifted vertically to descendants.
Case 2. If \(|X_k| > (\tau _k+1) \lambda \), k must belong to a string with similar properties as in Lemma 4, i.e., there is a maximal string of jobs \(f,\ldots ,g\) containing k such that \(\sum _{j=f}^i |X_{j}| > \lambda \sum _{j=f}^i \tau _j \) for \(f\le i\le g\) and \(b_{j} = a_{j+1}\) for \(f\le j < g\).
If the Volume Condition (V) is satisfied, there exists another sibling \(g+1\) that balances the sets \(X_f,\ldots ,X_g,X_{g+1}\) due to Corollary 1. This is shown by using Push Down within a generalization of the Push Forward procedure. As the jobs \(f,\ldots ,g\) may have descendants, we use Push Forward to construct the sets \(Z_f,\ldots ,Z_g\) and \(L_f,\ldots , L_g\) with \(|Z_k| = \lambda (\tau _k+1)\). Then, we apply Push Down to \(Z_k\) and \((Y_i)_{i\in T_{-k}}\) in order to obtain \((Y_i)_{i \in T_{k} }\) such that they will satisfy \(Z_k = \bigcup _{i\in T_{k}} Y_i\), \(Y_i \subset \{ x \in X_j: p_x \ge \beta p_i \}\), and \(|Y_i| = \lambda \) for \(i\in T_{k}\). Thus, the sets \(X_f,\ldots ,X_g\) satisfy (V) and we can apply Corollary 1.
Case 3. Any job k with \(\pi (k) = j\) that was not yet considered as part of a string must satisfy \(|X_{k} | \le (\tau _k+1) \lambda \). We use Push Down of Case 1 to get \((Y_{i})_{i \in T_k }\). Hence, we have found \((Y_k)_{k\in T_{-j}}\) with the properties ( i ) to ( iii ). \(\square \)
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Chen, L., Eberle, F., Megow, N., Schewior, K., Stein, C. (2019). A General Framework for Handling Commitment in Online Throughput Maximization. In: Lodi, A., Nagarajan, V. (eds) Integer Programming and Combinatorial Optimization. IPCO 2019. Lecture Notes in Computer Science(), vol 11480. Springer, Cham. https://doi.org/10.1007/978-3-030-17953-3_11
Download citation
DOI: https://doi.org/10.1007/978-3-030-17953-3_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-17952-6
Online ISBN: 978-3-030-17953-3
eBook Packages: Computer ScienceComputer Science (R0)