Skip to main content
Log in

Improved upper bounds for online malleable job scheduling

  • Published:
Journal of Scheduling Aims and scope Submit manuscript

Abstract

In this paper, we study online algorithms that schedule malleable jobs, i.e., jobs that can be parallelized on any subset of the available \(m\) identical machines. We study a model that accounts for the tradeoff between multiprocessor speedup and overhead time, namely, if job \(j\) has processing requirement \(p_j\) and is assigned to run on \(k_j\) machines, then \(j\)’s execution time becomes \(p_j/k_j + (k_j -1)c\), where \(c\) is a constant parameter to the problem. For \(m=2\), we present an online algorithm OCS that has a strong competitive ratio of 3/2, matching a previously established lower bound. We also present an online algorithm ASYM2 that is asymptotically \(((4-\epsilon )/(3-\epsilon ))\)-competitive when \(m=2\), where \(0 < \epsilon \le 2\) is a parameter to the algorithm, improving upon an existing asymptotically (3/2)-competitive algorithm. Finally, we present an online algorithm OTO that is strongly \(2\)-competitive when \(m = 3\), improving upon the previous best upper bound of \(9/4\).

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
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. If “competitive ratio” or “competitive” is used without specifying “strong” or “asymptotic”, then it is implied we are dealing with the strong case.

  2. Since each section focuses on a particular online algorithm, there should be no confusion over which online algorithm is being referenced.

References

  • Baker, B. S., Coffman, E. G, Jr, & Rivest, R. L. (1980). Orthogonal packings in two dimensions. SIAM Journal on Computing, 9(4), 846–855.

    Article  Google Scholar 

  • Bartal, Y., Fiat, A., Karloff, H. J., & Vohra, R. (1995). New algorithms for an ancient scheduling problem. Journal of Computer and System Sciences, 51(3), 359–366.

    Article  Google Scholar 

  • Carroll, T. E., & Grosu, D. (2010). Incentive compatible online scheduling of malleable parallel jobs with individual deadlines. In Proceedings of ICPP (pp. 516–524). IEEE Computer Society.

  • Chen, B., van Vliet, A., & Woeginger, G. J. (1994). New lower and upper bounds for on-line scheduling. Operations Research Letters, 16(4), 221–230.

    Article  Google Scholar 

  • Coffman, E. G, Jr, Garey, M. R., Johnson, D. S., & Tarjan, R. E. (1980). Performance bounds for level-oriented two-dimensional packing algorithms. SIAM Journal on Computing, 9(4), 808–826.

    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 

  • Dutton, R. A., & Mao, W. (2007). Online scheduling of malleable parallel jobs. In Proceedings of ICPDCS (pp. 1–6). IASTED.

  • Dutton, R. A., Mao, W., Chen, J., & Watson, W. A. III (2008). Parallel job scheduling with overhead: A benchmark study. In Proceedings of NAS (pp. 326–333). IEEE Computer Society.

  • Faigle, U., Kern, W., & Turán, G. (1989). On the performance of on-line algorithms for partition problems. Acta Cybernetica, 9(2), 107–119.

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

    Article  Google Scholar 

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

    Article  Google Scholar 

  • Guo, S., & Kang, L. (2010). Online scheduling of malleable parallel jobs with setup times on two identical machines. European Journal of Operational Research, 206(3), 555–561.

    Article  Google Scholar 

  • Harren, R., & Kern, W. (2011). Improved lower bound for online strip packing—(extended abstract). In Proceedings of WAOA, LNCS (Vol. 7164, pp. 211–218). Springer.

  • Havill, J. T., & Mao, W. (2008). Competitive online scheduling of perfectly malleable jobs with setup times. European Journal of Operational Research, 187(3), 1126–1142.

    Article  Google Scholar 

  • Havill, J. T. (2010). Online malleable job scheduling for m\(\le \)3. Information Processing Letters, 111(1), 31–35.

    Article  Google Scholar 

  • Hurink, J. L., & Paulus, J. J. (2011). Improved online algorithms for parallel job scheduling and strip packing. Theoretical Computer Science, 412(7), 583–593.

    Article  Google Scholar 

  • Johannes, B. (2006). Scheduling parallel jobs to minimize the makespan. Journal of Scheduling, 9(5), 433–452.

    Article  Google Scholar 

  • Karloff, H. J., Suri, S., & Vassilvitskii, S. (2010). A model of computation for mapreduce. In Proceedings of SODA (pp. 938–948). SIAM.

  • Moseley, B., Dasgupta, A., Kumar, R., & Sarlós, T. (2011). On scheduling in map-reduce and flow-shops. In Proceedings of SPAA (pp. 289–298). ACM.

  • Nagarajan, V., Wolf, J. L., Balmin, A., & Hildrum, K. (2013). Flowflex: Malleable scheduling for flows of mapreduce jobs. In Proceedings of Middleware, LNCS (Vol. 8275, pp. 103–122). Springer.

  • Naroska, E., & Schwiegelshohn, U. (2002). On an on-line scheduling problem for parallel jobs. Information Processing Letters, 81(6), 297–304.

    Article  Google Scholar 

  • Schwiegelshohn, U., Ludwig, W., Wolf, J. L., Turek, J., & Yu, P. S. (1998). Smart smart bounds for weighted response time scheduling. SIAM Journal on Computing, 28(1), 237–253.

  • Sgall, J. (1994). On-line scheduling of parallel jobs. In Proceedings of MFCS, LNCS (vol. 841, pp. 159–176). Springer.

  • Sleator, D. D. (1980). A 2.5 times optimal algorithm for packing in two dimensions. Information Processing Letters, 10(1), 37–40.

    Article  Google Scholar 

  • Turek, J., Wolf, J. L., & Yu, P. S. (1992). Approximate algorithms scheduling parallelizable tasks. In Proceedings of SPAA (pp. 323–332). ACM.

  • Ye, D., & Zhang, G. (2007). On-line scheduling of parallel jobs in a list. Journal of Scheduling, 10(6), 407–413.

    Article  Google Scholar 

  • Ye, D., Han, X., & Zhang, G. (2009). A note on online strip packing. Journal of Combinatorial Optimization, 17(4), 417–423.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nathaniel Kell.

Appendices

Appendix

Table of symbols

Symbol

Meaning

ASYM1

Asymptotically \(3/2\)-competitive online algorithm for the \(\text {CO}_2\) problem (Havill 2010)

ASYM2

Asymptotically \(((4-\epsilon )/(3-\epsilon ))\)-competitive online algorithm for the \(\text {CO}_2\) problem developed in this paper

\(c\)

Constant overhead incurred by a job for running on each machine beyond the first in the \(\text {CO}_m\) problem

\(C\)

Same as \(C(n+1)\), the makespan of the online algorithm’s complete schedule

\(C(j)\)

Makespan of the online algorithm’s schedule, just before job \(j\) has been scheduled

\(C(R)\)

Makespan of the online algorithm’s schedule, after the jobs in sequence \(R\) have been scheduled

\(C^*\)

Optimal makespan for an implied job sequence

\(C^*(R)\)

Optimal makespan for a job sequence \(R\)

\(\mathrm{CO}_m\)

Malleable job scheduling problem with constant overhead (\(c\)) on \(m\) machines

\(F\)

“Final” state that algorithm OCS is trying to reach

\(I\)

Same as \(I(n+1)\), the completion-time difference between the most loaded machine and the least loaded machine at the end of the online algorithm’s schedule

\(I(j)\)

\(l_m(j) - l_1(j) = C(j) - l_1(j)\), the completion-time difference between the most loaded machine and the least loaded machine in the online algorithm’s schedule, just before job \(j\) is scheduled

\(\widehat{I}\)

Same as \(\widehat{I}(n+1)\), the amount of time at the end of the online algorithm’s complete schedule where one job is running concurrently with \(m-1\) idle machines

\(\widehat{I}(j)\)

\(l_m(j) - l_{m-1}(j)\), the amount of time at the end of the online algorithm’s schedule, just before job \(j\) is scheduled, where one job is running concurrently with \(m-1\) idle machines

\(J_r\)

Same as \(J_r(n+1)\), the set of jobs assigned to \(r\) machines in the online algorithm’s complete schedule

\(J_r(j)\)

Set of jobs \(i < j\) assigned to \(r\) machines in the online algorithm’s schedule

\(J^*_r\)

Set of jobs assigned to \(r\) machines in the optimal schedule

\(k_j\)

Number of machines assigned to job \(j\) in the online algorithm’s schedule

\(k^*_j\)

Number of machines assigned to job \(j\) in the optimal schedule

\(\ell _1\)

“Large” job \(j\) assigned to two processors by OCS that triggers the transition from state \(\sigma _j = X\) to state \(\sigma (j+1) = Y_1\)

\(\ell _2\)

“Large” job \(j\) assigned to two processors by OCS that triggers the transition from state \(\sigma _j = Y_1\) to state \(\sigma (j+1) = Z\)

\(l_i(j)\)

Completion time of the machine with the \(i\)th earliest completion time in the online algorithm’s schedule, just before job \(j\) is scheduled

\(m\)

Total number of machines available

\(n\)

Total number of jobs

\(\mathrm{NCO}_m\)

Malleable job scheduling problem with non-constant overhead (\(c_j\)) on \(m\) machines

OCS

“Obtain \(c\)-Slack”, the optimal \(3/2\)-competitive online algorithm for the \(\text {CO}_2\) problem developed in this paper

OTO

“One-Three Only”, the strongly 2-competitive online algorithm for the \(\text {CO}_3\) problem developed in this paper

\(P\)

Same as \(P(n+1)\), the “penalty” of the complete schedule constructed by OCS

\(P(j)\)

\(|J_2(j)|c + t_1(j)/2\); the “penalty” of the OCS schedule before job \(j\) is scheduled

\(p_j\)

Processing requirement of job \(j\)

\(R\)

A sequence of job requests

\(S\)

Same as \(S(n+1)\), the complete schedule constructed by OCS

\(S(j)\)

Schedule constructed by OCS before it schedules job \(j\)

\(s_j\)

Starting time of job \(j\) in the online algorithm’s schedule

\(t_r\)

Same as \(t_r(n+1)\), the total time in the online algorithm’s complete schedule during which \(r\) machines are each processing a different job and the remaining \(m-r\) machines are idle

\(t_r(j)\)

Total time in the online algorithm’s schedule, just before job \(j\) has been scheduled, during which \(r\) machines are each processing a different job and the remaining \(m-r\) machines are idle

\(X\)

Initial state of algorithm OCS

\(Y_1\)

One of three intermediate states of algorithm OCS (see Fig. 2)

\(Y_2\)

One of three intermediate states of algorithm OCS (see Fig. 2)

\(Z\)

One of three intermediate states of algorithm OCS (see Fig. 2)

\(\sigma \)

Same as \(\sigma (n+1)\), the final state of OCS schedule \(S\)

\(\sigma (j)\)

State of schedule \(S(j)\)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kell, N., Havill, J. Improved upper bounds for online malleable job scheduling. J Sched 18, 393–410 (2015). https://doi.org/10.1007/s10951-014-0406-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10951-014-0406-9

Keywords

Navigation