Abstract
Heterogeneous parallel architectures present many challenges to application developers. One of the most important ones is the decision where to execute a specific task. As today’s systems are often dynamic in nature, this cannot be solved at design time. A solution is offered by runtime systems that employ dynamic scheduling algorithms. Still, the question which algorithm to use remains.
In this paper, we evaluate several dynamic scheduling algorithms on a real system using different benchmarks. To be able to use the algorithms on a real system, we integrate them into a task-based runtime system. The evaluation covers different heuristic classes: In immediate mode, tasks are scheduled in the order they arrive in the system, whereas in batch mode, all ready-to-execute tasks are considered during the scheduling decision. The results show that the Minimum Completion Time and the Min-Min heuristics achieve the overall best makespans. However, if additionally scheduling fairness has to be considered as optimization goal, the Sufferage algorithm seems to be the algorithm of choice.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
References
Armstrong, R., Hensgen, D., Kidd, T.: The relative performance of various mapping algorithms is independent of sizable variances in run-time predictions. In: Proceedings of 1998 Seventh Heterogeneous Computing Workshop, (HCW 98), pp. 79–87, March 1998. https://doi.org/10.1109/HCW.1998.666547
Bansal, N., Pruhs, K.: Server scheduling in the Lp norm: a rising tide lifts all boat. In: Proceedings of the Thirty-fifth Annual ACM Symposium on Theory of Computing, STOC 2003, pp. 242–250. ACM, New York (2003). https://doi.org/10.1145/780542.780580
Blumofe, R.D., Leiserson, C.E.: Scheduling multithreaded computations by work stealing. J. ACM 46(5), 720–748 (1999)
Braun, T.D., et al.: A comparison of eleven static heuristics for mapping a class of independent tasks onto heterogeneous distributed computing systems. J. Parallel Distrib. Comput. 61(6), 810–837 (2001). https://doi.org/10.1006/jpdc.2000.1714
Che, S., et al.: Rodinia: a benchmark suite for heterogeneous computing. In: Proceedings of the 2009 IEEE International Symposium on Workload Characterization (IISWC), IISWC 2009, pp. 44–54. IEEE Computer Society, Washington DC, (2009). https://doi.org/10.1109/IISWC.2009.5306797
Elhady, G.F., Tawfeek, M.A.: A comparative study into swarm intelligence algorithms for dynamic tasks scheduling in cloud computing. In: 2015 IEEE Seventh International Conference on Intelligent Computing and Information Systems (ICICIS), pp. 362–369, December 2015. https://doi.org/10.1109/IntelCIS.2015.7397246
Freund, R.F., et al.: Scheduling resources in multi-user, heterogeneous, computing environments with SmartNet. In: Proceedings of 1998 Seventh Heterogeneous Computing Workshop, HCW 1998, pp. 184–199, March 1998. https://doi.org/10.1109/HCW.1998.666558
Freund, R.F., Siegel, H.J.: Guest editor’s introduction: heterogeneous processing. Computer 26(6), 13–17 (1993). http://dl.acm.org/citation.cfm?id=618981.619916
Gleim, U., Levy, M.: MTAPI: parallel programming for embedded multicore systems (2013). http://multicore-association.org/pdf/MTAPI_Overview_2013.pdf
Graham, R., Lawler, E., Lenstra, J., Kan, A.: Optimization and approximation in deterministic sequencing and scheduling: a survey. In: Hammer, P., Johnson, E., Korte, B. (eds.) Discrete Optimization II, Annals of Discrete Mathematics, vol. 5, pp. 287–326. Elsevier, Amsterdam (1979)
Ibarra, O.H., Kim, C.E.: Heuristic algorithms for scheduling independent tasks on nonidentical processors. J. ACM 24(2), 280–289 (1977). https://doi.org/10.1145/322003.322011
Josphin, A.M., Amalarathinam, D.I.G.: DyDupSA - dynamic task duplication based scheduling algorithm for multiprocessor system. In: 2017 World Congress on Computing and Communication Technologies (WCCCT), pp. 271–276, February 2017. https://doi.org/10.1109/WCCCT.2016.72
Kicherer, M., Buchty, R., Karl, W.: Cost-aware function migration in heterogeneous systems. In: Proceedings of the 6th International Conference on High Performance and Embedded Architectures and Compilers, HiPEAC 2011, pp. 137–145. ACM, New York (2011). https://doi.org/10.1145/1944862.1944883
Kim, J.K., Shivle, S., Siegel, H.J., Maciejewski, A.A., Braun, T.D., Schneider, M., Tideman, S., Chitta, R., Dilmaghani, R.B., Joshi, R., Kaul, A., Sharma, A., Sripada, S., Vangari, P., Yellampalli, S.S.: Dynamically mapping tasks with priorities and multiple deadlines in a heterogeneous environment. J. Parallel Distrib. Comput. 67(2), 154–169 (2007). https://doi.org/10.1016/j.jpdc.2006.06.005. http://www.sciencedirect.com/science/article/pii/S0743731506001444
Mattheis, S., Schuele, T., Raabe, A., Henties, T., Gleim, U.: Work stealing strategies for parallel stream processing in soft real-time systems. In: Herkersdorf, A., Römer, K., Brinkschulte, U. (eds.) ARCS 2012. LNCS, vol. 7179, pp. 172–183. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-28293-5_15
Mishra, P.K., Mishra, A., Mishra, K.S., Tripathi, A.K.: Benchmarking the clustering algorithms for multiprocessor environments using dynamic priority of modules. Appl. Math. Model. 36(12), 6243–6263 (2012). https://doi.org/10.1016/j.apm.2012.02.011. http://www.sciencedirect.com/science/article/pii/S0307904X12000935
Nayak, S.K., Padhy, S.K., Panigrahi, S.P.: A novel algorithm for dynamic task scheduling. Future Gener. Comput. Syst. 28(5), 709–717 (2012). https://doi.org/10.1016/j.future.2011.12.001
Page, A.J., Naughton, T.J.: Dynamic task scheduling using genetic algorithms for heterogeneous distributed computing. In: 19th IEEE International Parallel and Distributed Processing Symposium, pp. 189a–189a, April 2005. https://doi.org/10.1109/IPDPS.2005.184
Rohkohl, C., Keck, B., Hofmann, H., Hornegger, J.: RabbitCT— an open platform for benchmarking 3D cone-beam reconstruction algorithms. Med. Phys. 36(9), 3940–3944 (2009). https://doi.org/10.1118/1.3180956. http://www5.informatik.uni-erlangen.de/Forschung/Publikationen/2009/Rohkohl09-TNR.pdf
Topcuouglu, H., Hariri, S., Wu, M.Y.: Performance-effective and low-complexity task scheduling for heterogeneous computing. IEEE Trans. Parallel Distrib. Syst. 13(3), 260–274 (2002). https://doi.org/10.1109/71.993206
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Becker, T., Karl, W., Schüle, T. (2019). Evaluating Dynamic Task Scheduling in a Task-Based Runtime System for Heterogeneous Architectures. In: Schoeberl, M., Hochberger, C., Uhrig, S., Brehm, J., Pionteck, T. (eds) Architecture of Computing Systems – ARCS 2019. ARCS 2019. Lecture Notes in Computer Science(), vol 11479. Springer, Cham. https://doi.org/10.1007/978-3-030-18656-2_11
Download citation
DOI: https://doi.org/10.1007/978-3-030-18656-2_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-18655-5
Online ISBN: 978-3-030-18656-2
eBook Packages: Computer ScienceComputer Science (R0)