Parallel computing systems promise higher performance for computationally intensive applications. Since programmes for parallel systems consist of tasks that can be executed simultaneously, task scheduling becomes crucial for the performance of these applications. Given dependence constraints between tasks, their arbitrary sizes, and bounded resources available for execution, optimal task scheduling is considered as an NP-hard problem. Therefore, proposed scheduling algorithms are based on heuristics. This paper presents a novel list scheduling heuristic, called the Noodle heuristic. Noodle is a simple yet effective scheduling heuristic that differs from the existing list scheduling techniques in the way it assigns task priorities. The priority mechanism of Noodle maintains a proportionate fairness among all ready tasks belonging to all paths within a task graph. We conduct an extensive experimental evaluation of Noodle heuristic with task graphs taken from Standard Task Graph. Our experimental study includes results for task graphs comprising of 50, 100, and 300 tasks per graph and execution scenarios with 2-, 4-, 8-, and 16-core systems. We report results for average Schedule Length Ratio (SLR) obtained by producing variations in Communication to Computation cost Ratio. We also analyse results for different degree of parallelism and number of edges in the task graphs. Our results demonstrate that Noodle produces schedules that are within a maximum of 12 % (in worst-case) of the optimal schedule for 2-, 4-, and 8-core systems. We also compare Noodle with existing scheduling heuristics and perform comparative analysis of its performance. Noodle outperforms existing heuristics for average SLR values.
This is a preview of subscription content, access via your institution.
Buy single article
Instant access to the full article PDF.
Price excludes VAT (USA)
Tax calculation will be finalised during checkout.
Wolf W., Jerraya A.A., Martin G.: Multiprocessor system-on-chip (mpsoc) technology. IEEE Trans. CAD ICs Syst. 27(10), 1701–1713 (2008)
Grama, A.; Gupta, A.; Karypis, G.; Kumar, V.: Introduction to Parallel Computing, vol. 2nd edn. Pearson, A. Wesley, Boston (2003)
Sinnen, O.: Task scheduling for parallel systems. Wiley, New York. ISBN: 978-0-471-73576-2, p. 296, May (2007)
Semar Shahul A., Sinnen O.: Scheduling task graphs optimally with a*. J. Supercomput. 51(3), 310–332 (2010)
Sinnen O., Sousa L.: List scheduling: extension for contention awareness and evaluation of node priorities for heterogeneous cluster architectures. Parallel Comput. 30(1), 81–101 (2004)
Sinnen O.: Reducing the solution space of optimal task scheduling. Comput. OR. 43, 201–214 (2014)
Sinnen O., Sousa L.A.: Communication contention in task scheduling. IEEE Trans. Parallel Distrib. Syst. 16(6), 503–515 (2005)
Darte, A.; Robert, Y. and Vivien, F.: Scheduling and automatic parallelization. BirkhŠuser, New York. ISBN 0-8176-4149-1, (2002)
Topcuouglu H., Hariri S., you Wu M.: Performance-effective and low-complexity task scheduling for heterogeneous computing. IEEE Trans. Parallel Distrib. Syst. 13(3), 260–274 (2002)
Suter, F.; Desprez, F. and Casanova, H.: From heterogeneous task scheduling to heterogeneous mixed parallel scheduling. In: Euro-Par 2004 Parallel Processing. pp. 230–237, (2004)
Kwok Y.-K., Ahmad I.: Link contention-constrained scheduling and mapping of tasks and messages to a network of heterogeneous processors. Cluster Comput. 3(2), 113–124 (2000)
Kasahara H., Narita S.: Practical multiprocessor scheduling algorithms for efficient parallel processing. IEEE Trans. Comput. C 33(11), 1023–1029 (1984)
Khan M.A.: Scheduling for heterogeneous systems using constrained critical paths. Parallel Comput. 38, 175–193 (2012)
Ahmad I., Kwok Y.-K.: On exploiting task duplication in parallel program scheduling. IEEE Trans. Parallel Distrib. Syst. 9(9), 872–892 (1998)
Kwok Y.-K., Ahmad I.: Dynamic critical-path scheduling: an effective technique for allocating task graphs to multiprocessors. IEEE Trans. Parallel Distrib. Syst. 7(5), 506–521 (1996)
Wu M.-Y., Gajski D.: Hypertool: a programming aid for message-passing systems. IEEE Trans. Parallel Distrib. Syst. 1(3), 330–343 (1990)
Yang T., Gerasoulis A.: Dsc: scheduling parallel tasks on an unbounded number of processors. IEEE Trans. Parallel Distrib. Syst 5(9), 951–967 (1994)
Iverson, M.A.; Ozguner, F. and Follen, G.J.: Parallelizing existing applications in a distributed heterogeneous environment. In: HCW ’95, pp. 93–100 (1995)
Shahul A.Z., Sinnen O.: Scheduling task graphs optimally with a*. J. Supercomput. 51(3), 310–332 (2010)
Arabnejad H., Barbosa J.: List scheduling algorithm for heterogeneous systems by an optimistic cost table. IEEE Trans. Parallel Distrib. Syst. 25(3), 682–694 (2014)
Deelman E., Singh G., Su M.-H., Blythe J., Gil Y., Kesselman C., Mehta G., Vahi K., Berriman G.B., Good J., Laity A., Jacob J.C., Katz D.S.: Pegasus: A framework for mapping complex scientific workflows onto distributed systems. Sci. Prog. 13(3), 219–237 (2005)
Set, S.T.G.: http://www.kasahara.elec.waseda.ac.jp/schedule.
Orsila H., Kangas T., Salminen E., Hamalainen T.D., Hannikainen M.: Automated memory-aware application distribution for multi-processor system-on-chips. JSA 53(11), 795–815 (2007)
de Langen P., Juurlink B.: Leakage-aware multiprocessor scheduling. J. Signal Process. Syst. 57(1), 73–88 (2009)
About this article
Cite this article
Bhatti, M.K., Oz, I., Popov, K. et al. Scheduling of Parallel Tasks with Proportionate Priorities. Arab J Sci Eng 41, 3279–3295 (2016). https://doi.org/10.1007/s13369-016-2180-9