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\).
Similar content being viewed by others
Notes
If “competitive ratio” or “competitive” is used without specifying “strong” or “asymptotic”, then it is implied we are dealing with the strong case.
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.
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.
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.
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.
Du, J., & Leung, J. (1989). Complexity of scheduling parallel task systems. SIAM Journal on Discrete Mathematics, 2(4), 473–487.
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.
Graham, R. L. (1969). Bounds on multiprocessing timing anomalies. SIAM Journal on Applied Mathematics, 17(2), 416–429.
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.
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.
Havill, J. T. (2010). Online malleable job scheduling for m\(\le \)3. Information Processing Letters, 111(1), 31–35.
Hurink, J. L., & Paulus, J. J. (2011). Improved online algorithms for parallel job scheduling and strip packing. Theoretical Computer Science, 412(7), 583–593.
Johannes, B. (2006). Scheduling parallel jobs to minimize the makespan. Journal of Scheduling, 9(5), 433–452.
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.
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.
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.
Ye, D., Han, X., & Zhang, G. (2009). A note on online strip packing. Journal of Combinatorial Optimization, 17(4), 417–423.
Author information
Authors and Affiliations
Corresponding author
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
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10951-014-0406-9