Skip to main content
Log in

Malleable scheduling beyond identical machines

  • Published:
Journal of Scheduling Aims and scope Submit manuscript

Abstract

In malleable job scheduling, jobs can be executed simultaneously on multiple machines with the processing time depending on the number of allocated machines. In this setting, jobs are required to be executed non-preemptively and in unison, in the sense that they occupy, during their execution, the same time interval over all the machines of the allocated set. In this work, we study generalizations of malleable job scheduling inspired by standard scheduling on unrelated machines. Specifically, we introduce a general model of malleable job scheduling, where each machine has a (possibly different) speed for each job, and the processing time of a job j on a set of allocated machines S depends on the total speed of S with respect to j. For machines with unrelated speeds, we show that the optimal makespan cannot be approximated within a factor less than \(\frac{e}{e-1}\), unless \(P = NP\). On the positive side, we present polynomial-time algorithms with approximation ratios \(\frac{2e}{e-1}\) for machines with unrelated speeds, 3 for machines with uniform speeds, and 7/3 for restricted assignments on identical machines. Our algorithms are based on deterministic LP rounding. They result in sparse schedules, in the sense that each machine shares at most one job with other machines. We also prove lower bounds on the integrality gap of \(1+\varphi \) for unrelated speeds (\(\varphi \) is the golden ratio) and 2 for uniform speeds and restricted assignments. To indicate the generality of our approach, we show that it also yields constant factor approximation algorithms for a variant where we determine the effective speed of a set of allocated machines based on the \(L_p\) norm of their speeds.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2

Similar content being viewed by others

Notes

  1. Malleable scheduling also appears as moldable, while sometimes the two terms refer to slightly different models.

  2. We denote by \({\mathbb {R}}_+\) (resp. \({\mathbb {Z}}_+\)) the set of non-negative reals (resp. integers).

  3. This property holds w.l.o.g., as the system always has the choice not to use some of the allocated machines.

  4. For convenience, we use the identifier \(f_j\) for both functions. Since their arguments come from disjoint domains, it is always clear from the context which one is meant.

  5. Note that the minimizer of this expression coincides with the unique solution of \(\beta ^{-1}+1 = \frac{e^{\frac{1}{\beta } - 1}}{\beta (e^{\frac{1}{\beta } - 1} - 1)}\) in the interval [0, 1].

References

  • Amdahl, G. M. (2007). Validity of the single processor approach to achieving large scale computing capabilities. IEEE Solid-State Circuits Society Newsletter, 12(3), 19–20.

    Article  Google Scholar 

  • Blazewicz, J., Kovalyov, M. Y., Machowiak, M., Trystram, D., & Weglarz, J. (2006). Preemptable malleable task scheduling problem. IEEE Transactions on Computers, 55(4), 486–490.

    Article  Google Scholar 

  • Brent, R. P. (1974). The parallel evaluation of general arithmetic expressions. Journal of the ACM (JACM), 21(2), 201–206.

    Article  Google Scholar 

  • Correa, J., Marchetti-Spaccamela, A., Matuschke, J., Stougie, L., Svensson, O., Verdugo, V., & Verschae, J. (2015). Strong LP formulations for scheduling splittable jobs on unrelated machines. Mathematical Programming, 154(1–2), 305–328.

    Article  Google Scholar 

  • Du, J., & Leung, J. (1989). Complexity of scheduling parallel task systems. SIAM Journal on Discrete Mathematics, 2(4), 473–487.

    Article  Google Scholar 

  • Dutot, P., Mounié, G., & Trystram, D. (2004). Scheduling parallel tasks: Approximation algorithms. In J. T. Leung (Ed.), Handbook of scheduling: Algorithms, models, and performance analysis, chapter 26 (pp. 26–1–26–24). CRC Press.

  • Feige, U. (1998). A threshold of ln \(n\) for approximating set cover. Journal of the ACM (JACM), 45(4), 634–652.

    Article  Google Scholar 

  • Feige, U., & Kilian, J. (1998). Zero knowledge and the chromatic number. Journal of Computer and System Sciences, 57(2), 187–199.

    Article  Google Scholar 

  • Garey, M., & Graham, R. (1975). Bounds for multiprocessor scheduling with resource constraints. SIAM Journal on Computing, 4(2), 187–200.

    Article  Google Scholar 

  • Graham, R. (1969). Bounds on multiprocessing timing anomalies. SIAM Journal on Applied Mathematics, 17(2), 416–429.

    Article  Google Scholar 

  • Hall, L. A., Schulz, A. S., Shmoys, D. B., & Wein, J. (1997). Scheduling to minimize average completion time: Off-line and on-line approximation algorithms. Mathematics of Operations Research, 22(3), 513–544.

    Article  Google Scholar 

  • Hanen, C., & Munier, A. (2001). An approximation algorithm for scheduling dependent tasks on m processors with small communication delays. Discrete Applied Mathematics, 108(3), 239–257.

    Article  Google Scholar 

  • Hochbaum, D. S., & Shmoys, D. B. (1985). Using dual approximation algorithms for scheduling problems: Theoretical and practical results. In 26th annual symposium on foundations of computer science, FOCS ’85, pp. 79–89.

  • Jansen, K., & Land, F. (2018). Scheduling monotone moldable jobs in linear time. In 2018 IEEE international parallel and distributed processing symposium, IPDPS 2018, Vancouver, BC, Canada, May 21–25, 2018, pp. 172–181.

  • Jansen, K., & Porkolab, L. (2002). Linear-time approximation schemes for scheduling malleable parallel tasks. Algorithmica, 32(3), 507–520.

  • Jansen, K., & Thöle, R. (2010). Approximation algorithms for scheduling parallel jobs. SIAM Journal on Computing, 39(8), 3571–3615.

  • Jansen, K., & Zhang, H. (2006). An approximation algorithm for scheduling malleable tasks under general precedence constraints. ACM Transactions on Algorithms (TALG), 2(3), 416–434.

    Article  Google Scholar 

  • Lenstra, J. K., Shmoys, D. B., & Tardos, É. (1990). Approximation algorithms for scheduling unrelated parallel machines. Mathematical Programming, 46(1), 259–271.

    Article  Google Scholar 

  • Makarychev, K., & Panigrahi, D. (2014). Precedence-constrained scheduling of malleable jobs with preemption. In Automata, languages, and programming—41st international colloquium, ICALP 2014, Copenhagen, Denmark, July 8–11, 2014, Proceedings, Part I, pp. 823–834.

  • Mounié, G., Rapine, C., & Trystram, D. (1999). Efficient approximation algorithms for scheduling malleable tasks. In Proceedings of the eleventh annual ACM symposium on parallel algorithms and architectures, SPAA ’99, Saint-Malo, France, June 27–30, 1999, pp. 23–32.

  • Mounie, G., Rapine, C., & Trystram, D. (2007). A 3/2-approximation algorithm for scheduling independent monotonic malleable tasks. SIAM Journal on Computing, 37(2), 401–412.

    Article  Google Scholar 

  • Papadimitriou, C. H., & Yannakakis, M. (1990). Towards an architecture-independent analysis of parallel algorithms. SIAM Journal on Computing, 19(2), 322–328.

    Article  Google Scholar 

  • Patterson, D. A., & Hennessy, J. L. (2013). Computer organization and design, fifth edition: The hardware/software interface (5th ed.). Morgan Kaufmann Publishers Inc.

  • Rayward-Smith, V. J. (1987). UET scheduling with unit interprocessor communication delays. Discrete Applied Mathematics, 18(1), 55–71.

    Article  Google Scholar 

  • Srinivasa Prasanna, G. N., & Musicus, B. R. (1991). Generalised multiprocessor scheduling using optimal control. In Proceedings of the third annual ACM symposium on parallel algorithms and architectures, ACM, New York, NY, USA, SPAA ’91, pp. 216–228.

  • Turek, J., Wolf, J. L., & Yu, P. S. (1992). Approximate algorithms scheduling parallelizable tasks. In Proceedings of the fourth annual ACM symposium on parallel algorithms and architectures, ACM, New York, NY, USA, SPAA ’92, pp. 323–332.

Download references

Acknowledgements

Part of this work was carried out while the authors participated in the program “Real-Time Decision Making” at the Simons Institute for the Theory of Computing, Berkeley, CA. Part of this work was carried out while the second author worked at Technische Universität München and was supported by the Alexander von Humboldt Foundation with funds of the German Federal Ministry of Education and Research (BMBF).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Orestis Papadigenopoulos.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix

Appendix

1.1 A slight improvement by optimizing the threshold

Recall that in both algorithms for the unrelated machines case, the threshold for deciding whether a job j is assigned to p(j) or to T(j) is set to 1/2. While this is the optimal choice for the simple 4-approximate rounding scheme, we can achieve a slightly better bound for our improved algorithm by optimizing this threshold accordingly. Let \(\beta \in (0,1)\) be the threshold such that a job j is assigned to p(j) when \(x_{p(j),j} \ge \beta \), or to the set T(j), when \(\sum _{i \in T(j)} x_{i,j} > 1 - \beta \). Formally, let \({{\,\mathrm{{\mathcal {J}}}\,}}^{(1)} := \{j \in {{\,\mathrm{{\mathcal {J}}}\,}}{{\,\mathrm{\,|\,}\,}}x_{p(j),j} \ge \beta \}\) be the set of jobs that are assigned to their parent machines and \({{\,\mathrm{{\mathcal {J}}}\,}}^{(2)} := {{\,\mathrm{{\mathcal {J}}}\,}}\setminus {{\,\mathrm{{\mathcal {J}}}\,}}^{(1)}\) the rest of the jobs. For \(j \in {{\,\mathrm{{\mathcal {J}}}\,}}^{(2)}\) and \(\theta \in [0, 1]\) define \(S_j(\theta ) := \{ i \in T(j) {{\,\mathrm{\,|\,}\,}}1 - \frac{\ell _i}{C} \ge \theta \}\). Choose \(\theta _j\) so as to minimize \(2(1 - \theta _j)C + f_j(S_j(\theta _j))\) (note that this minimizer can be determined by trying out at most |T(j)| different values for \(\theta _j\)). We then assign each job in \(j \in J^{(2)}\) to the machine set \(S_j(\theta _j)\).

Recall that for any \(i \in {{\,\mathrm{{\mathcal {M}}}\,}}\) there is at most one \(j \in J^{(2)}\) with \(i \in T(j)\). If \(i \notin S_j(\theta _j)\), then load of machine i is bounded by \(\frac{1}{\beta } \ell _i \le \frac{1}{\beta } C\), where \(\ell _i\) as defined in Sect. 3.1. If \(i \in S_j(\theta _j)\), then the load of machine i is bounded by

$$\begin{aligned} \max _{i' \in S_j(\theta _j)}\Big \{\beta ^{-1} \ell _{i} + f_j(S_j(\theta _j)) \Big \}&\le \beta ^{-1}(1 - \theta _j)C \nonumber \\&\quad + f_j(S_j(\theta _j)), \end{aligned}$$
(7)

where the inequality comes from the fact that \(1 - \frac{\ell _{i'}}{C} \ge \theta _j\) for all \(i' \in S_{\theta _j}\).

We now fix \(\beta \) to be the unique solution of \(\beta ^{-1}+1 = \frac{e^{\frac{1}{\beta } - 1}}{\beta (e^{\frac{1}{\beta } - 1} - 1)}\) in the interval [0, 1]. The following proposition gives an upper bound on the RHS of (4) as a result of our filtering technique.

Proposition 12

For each \(j \in {{\,\mathrm{{\mathcal {J}}}\,}}^{(2)}\), there is a \(\theta \in [0,1]\) with \(\beta ^{-1}(1- \theta )C + f_j(S_j(\theta )) \le \frac{e^{\frac{1}{\beta } - 1}}{\beta (e^{\frac{1}{\beta } - 1} - 1)}C\).

Proof

We first assume that for all \(i \in T(j)\), it is the case that \(s_{i,j} \le \gamma _j\) and, thus, \(r_{i,j} = \gamma _j\). In the opposite case, where there exists some \(i' \in T(j)\) such that \(s_{i,j} > \gamma _j\), by choosing \(\theta = 0\), then (4) can be upper bounded by \(\beta ^{-1}C + f_j(S_j(0)) = \beta ^{-1}C + f_j(T(j)) \le \left( \beta ^{-1}+1\right) C\). In that case, the proposition follows directly by the fact that \(\beta ^{-1}+1 = \frac{e^{\frac{1}{\beta } - 1}}{\beta (e^{\frac{1}{\beta } - 1} - 1)}\), by our choice of \(\beta \).

Define \(\alpha := \frac{e^{\frac{1}{\beta } - 1}}{\beta (e^{\frac{1}{\beta } - 1} - 1)}\). We show that there is a \(\theta \in [0, 1]\) with \(\sigma _j(S_j(\theta )) \ge \frac{\gamma _j f_j(\gamma _j)}{(\alpha + \beta ^{-1} \theta -\beta ^{-1})C}\). Then \(f_j(S_j(\theta )) \le (\alpha + \beta ^{-1} \theta -\beta ^{-1}) C\) by Fact 5, implying the lemma.

Define the function \(g: [0,1] \rightarrow {\mathbb {R}}_{+}\) by \(g(\theta ) := \sigma _j (S_j(\theta ))\). It is easy to see g is non-increasing integrable and that

$$\begin{aligned} \int _{0}^{1} g(\theta ) d\theta = \sum _{i \in T(j)} s_{i,j} (1 - \frac{\ell _i}{C}). \end{aligned}$$

Now assume by contradiction that \(g(\theta ) < \frac{\gamma _j f_j(\gamma _j)}{(\alpha + \beta ^{-1} \theta - \beta ^{-1})C}\) for all \(\theta \in [0, 1]\). Note that \(\ell _i + \frac{\gamma _j f_j(\gamma _j)}{s_{i,j}} x_{i,j} \le C\) for every \(i \in T(j)\) by constraints (2). Hence \(\frac{f_j(\gamma _j)\gamma _j}{C} x_{i,j} \le s_{i,j}(1 - \frac{\ell _i}{C})\) for all \(i \in T(j)\). Summing over all \(i \in T(j)\) and using the fact that \(\sum _{i \in T(j)} x_{i,j} \ge 1 - \beta \) because \(j \in J^{(2)}\), we get

$$\begin{aligned} (1- \beta )\frac{f_j(\gamma _j)\gamma _j}{C}&\le \sum _{i \in T(j)} s_{i,j} (1 - \frac{\ell _i}{C})\\&= \int _{0}^{1} g(\theta ) d\theta \\&< \frac{f_j(\gamma _j)\gamma _j}{C} \int _{0}^{1} \frac{1}{\alpha + \beta ^{-1} \theta - \beta ^{-1}} d\theta , \end{aligned}$$

where the last inequality uses the assumption that \(g(\theta ) < \frac{\gamma _j f_j(\gamma _j)}{(\alpha + \beta ^{-1} \theta _j - \beta ^{-1})C}\) for all \(\theta \in [0,1]\). By simplifying the above inequality, we get the contradiction

$$\begin{aligned} \frac{1 - \beta }{\beta } < \int _{\alpha -\beta ^{-1}}^{\alpha } \frac{1}{\lambda } d\lambda = \ln (\frac{\alpha }{\alpha -\beta ^{-1}}) = \frac{1 - \beta }{\beta }. \end{aligned}$$

\(\square \)

Therefore, by choosing \(\alpha = \inf _{\beta \in (0,1)} \{ \frac{e^{\frac{1}{\beta } - 1}}{\beta (e^{\frac{1}{\beta } - 1} - 1)} \} \approx 3.14619\)Footnote 5, with threshold \(\beta \approx 0.465941\), we can prove the following theorem.

Theorem 12

There exists a polynomial-time 3.1461-approximation algorithm for the problem of scheduling malleable jobs on unrelated machines.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Fotakis, D., Matuschke, J. & Papadigenopoulos, O. Malleable scheduling beyond identical machines. J Sched 26, 425–442 (2023). https://doi.org/10.1007/s10951-022-00733-x

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10951-022-00733-x

Keywords

Navigation