Advertisement

Evaluating Dynamic Task Scheduling in a Task-Based Runtime System for Heterogeneous Architectures

  • Thomas BeckerEmail author
  • Wolfgang Karl
  • Tobias Schüle
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11479)

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.

Keywords

Dynamic task scheduling Heterogeneous architectures 

References

  1. 1.
    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
  2. 2.
    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
  3. 3.
    Blumofe, R.D., Leiserson, C.E.: Scheduling multithreaded computations by work stealing. J. ACM 46(5), 720–748 (1999)MathSciNetCrossRefGoogle Scholar
  4. 4.
    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.1714CrossRefzbMATHGoogle Scholar
  5. 5.
    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
  6. 6.
    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
  7. 7.
    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
  8. 8.
    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.619916Google Scholar
  9. 9.
    Gleim, U., Levy, M.: MTAPI: parallel programming for embedded multicore systems (2013). http://multicore-association.org/pdf/MTAPI_Overview_2013.pdf
  10. 10.
    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)Google Scholar
  11. 11.
    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.322011MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    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
  13. 13.
    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
  14. 14.
    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/S0743731506001444CrossRefzbMATHGoogle Scholar
  15. 15.
    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_15CrossRefGoogle Scholar
  16. 16.
    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/S0307904X12000935MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    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.001CrossRefGoogle Scholar
  18. 18.
    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
  19. 19.
    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.pdfCrossRefGoogle Scholar
  20. 20.
    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.993206CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Karlsruhe Institute of TechnologyKarlsruheGermany
  2. 2.Siemens AGCorporate TechnologyMunichGermany

Personalised recommendations