Skip to main content
Log in

Efficient tasks scheduling in multicore systems integrated with hardware accelerators

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Multicore systems integrated with hardware accelerators provide better performance for executing real-time applications in time-critical fields, such as robots, avionics, and aerospace. The integration of hardware accelerators brings new challenges for system scheduling; the software scheduling problem is extended to a hardware–software co-scheduling problem. Efficient co-scheduling strategy maximizes the benefits of hardware acceleration, which is important for time-critical systems. To solve this problem, we propose a co-scheduling strategy to minimize the system execution time. It combines hardware–software resource allocation and a real-time schedule method. Our scheduling can fit the different parallel in software and hardware (e.g., CPUs and FPGAs). The key component of our strategy is its novel hardware–software resource allocation and a high-performance heuristic scheduling algorithm. In the experiments, we evaluate our approach using both simulated and real parallel applications. The results illustrate that our algorithm obtains efficient solutions within reasonable runtimes compared to the state of the art.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 6
Fig. 5
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

Data availability

The datasets generated during the current study are available from the corresponding author on reasonable request.

References

  1. Zhang C, Li P, Sun G, Guan Y, Xiao B, Cong J (2015) Optimizing fpga-based accelerator design for deep convolutional neural networks. In: Proceedings of the 2015 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, Monterey, CA, USA, February 22-24, 2015, pp. 161–170. https://doi.org/10.1145/2684746.2689060

  2. Chen H, Madaminov S, Ferdman M, Milder P.A (2020) Fpga-accelerated samplesort for large data sets. In: FPGA ’20: The 2020 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, Seaside, CA, USA, February 23–25, 2020, pp. 222–232. https://doi.org/10.1145/3373087.3375304

  3. Li J, Chi Y, Cong J (2020) Heterohalide: From image processing DSL to efficient FPGA acceleration. In: FPGA ’20: The 2020 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, Seaside, CA, USA, February 23-25, 2020, pp. 51–57. https://doi.org/10.1145/3373087.3375320

  4. Gupta R.K, De Micheli G (1992) System-level synthesis using re-programmable components. In: [1992] Proceedings The European Conference on Design Automation, pp. 2–7

  5. Lee E, Seshia S (2015) Introduction to embedded systems: a cyber-physical systems approach

  6. Kadri AA, Labadi K, Kacem I (2015) An integrated petri net and ga-based approach for performance optimisation of bicycle sharing systems. Eur J Ind Eng 9(5):638

    Article  Google Scholar 

  7. Kao C (2020) Resource and performance tradeoff for task scheduling of parallel reconfigurable architectures. J Circuits Syst Comput 29(2):2050029–1205002914. https://doi.org/10.1142/S0218126620500292

    Article  Google Scholar 

  8. Bhuiyan A, Liu D, Khan A, Saifullah A, Guan N, Guo Z (2020) Energy-efficient parallel real-time scheduling on clustered multi-core. IEEE Trans Parallel Distrib Syst 31(9):2097–2111. https://doi.org/10.1109/TPDS.2020.2985701

    Article  Google Scholar 

  9. Kumar N, Mayank J, Mondal A (2020) Reliability aware energy optimized scheduling of non-preemptive periodic real-time tasks on heterogeneous multiprocessor system. IEEE Trans Parallel Distrib Syst 31(4):871–885. https://doi.org/10.1109/TPDS.2019.2950251

    Article  Google Scholar 

  10. Deng Z, Yan Z, Huang H, Shen H (2020) Energy-aware task scheduling on heterogeneous computing systems with time constraint. IEEE Access 8:23936–23950. https://doi.org/10.1109/ACCESS.2020.2970166

    Article  Google Scholar 

  11. Moulik S, Chaudhary R, Das Z, Sarkar A (2020) EA-HRT: an energy-aware scheduler for heterogeneous real-time systems. In: 25th Asia and South Pacific Design Automation Conference, ASP-DAC 2020, Beijing, China, January 13–16, 2020, pp. 500–505. https://doi.org/10.1109/ASP-DAC47756.2020.9045240

  12. Li T, Zhang T, Yu G, Song J, Fan J (2019) Minimizing temperature and energy of real-time applications with precedence constraints on heterogeneous mpsoc systems. J Syst Archit 98:79–91. https://doi.org/10.1016/j.sysarc.2019.07.001

    Article  Google Scholar 

  13. Thammawichai M, Kerrigan EC (2018) Energy-efficient real-time scheduling for two-type heterogeneous multiprocessors. Real-Time Syst 54(1):132–165. https://doi.org/10.1007/s11241-017-9291-6

    Article  MATH  Google Scholar 

  14. Cho H, Kim C, Sun J, Easwaran A, Park J, Choi B (2020) Scheduling parallel real-time tasks on the minimum number of processors. IEEE Trans Parallel Distrib Syst 31(1):171–186. https://doi.org/10.1109/TPDS.2019.2929048

    Article  Google Scholar 

  15. Nelissen G, Berten V, Goossens J, Milojevic D (2012) Techniques optimizing the number of processors to schedule multi-threaded tasks. In: 24th Euromicro Conference on Real-Time Systems, ECRTS 2012, Pisa, Italy, July 11–13, 2012, pp. 321–330. https://doi.org/10.1109/ECRTS.2012.37

  16. Topcuoglu H, Hariri S, Wu M (2002) Performance-effective and low-complexity task scheduling for heterogeneous computing. IEEE Trans Parallel Distributed Syst 13(3):260–274. https://doi.org/10.1109/71.993206

    Article  Google Scholar 

  17. Ilavarasan E, Thambidurai P, Mahilmannan R (2005) Performance effective task scheduling algorithm for heterogeneous computing system. In: 4th International Symposium on Parallel and Distributed Computing (ISPDC 2005), 4-6 July 2005, Lille, France, pp. 28–38. https://doi.org/10.1109/ISPDC.2005.39

  18. Masood A, Munir E.U, Rafique M.M, Khan S.U (2015) HETS: heterogeneous edge and task scheduling algorithm for heterogeneous computing systems. In: 17th IEEE International Conference on High Performance Computing and Communications, HPCC 2015, 7th IEEE International Symposium on Cyberspace Safety and Security, CSS 2015, and 12th IEEE International Conference on Embedded Software and Systems, ICESS 2015, New York, NY, USA, August 24–26, 2015, pp. 1865–1870. https://doi.org/10.1109/HPCC-CSS-ICESS.2015.295

  19. Du P, Sun Z, Zhang H, Ma, H (2019) Feature-aware task scheduling on CPU-FPGA heterogeneous platforms. In: 21st IEEE International Conference on High Performance Computing and Communications; 17th IEEE International Conference on Smart City; 5th IEEE International Conference on Data Science and Systems, HPCC/SmartCity/DSS 2019, Zhangjiajie, China, August 10–12, 2019, pp. 534–541. https://doi.org/10.1109/HPCC/SmartCity/DSS.2019.00084

  20. Ahmad I, Kwok, Y (1994) A new approach to scheduling parallel programs using task duplication. In: Proceedings of the 1994 International Conference on Parallel Processing, North Carolina State University, NC, USA, August 15–19, 1994. Volume II: Software, pp. 47–51. https://doi.org/10.1109/ICPP.1994.37

  21. Chung Y, Ranka S (1992) Applications and performance analysis of a compile-time optimization approach for list scheduling algorithms on distributed memory multiprocessors. In: Proceedings Supercomputing ’92, Minneapolis, MN, USA, November 16–20, 1992, pp. 512–521. https://doi.org/10.1109/SUPERC.1992.236653

  22. Tsuchiya T, Osada T, Kikuno T (1998) Genetics-based multiprocessor scheduling using task duplication. Microprocess Microsyst 22(3–4):197–207. https://doi.org/10.1016/S0141-9331(98)00079-9

    Article  Google Scholar 

  23. Li G, Chen D, Daming W, Zhang D (2003) Task clustering and scheduling to multiprocessors with duplication. In: 17th International Parallel and Distributed Processing Symposium (IPDPS 2003), 22–26 April 2003, Nice, France, CD-ROM/Abstracts Proceedings, p. 6. https://doi.org/10.1109/IPDPS.2003.1213079

  24. Hu W, Gan Y, Wen Y, Lv X, Wang Y, Zeng X, Qiu M (2020) An improved heterogeneous dynamic list schedule algorithm. In: Algorithms and Architectures for Parallel Processing - 20th International Conference, ICA3PP 2020, New York City, NY, USA, October 2-4, 2020, Proceedings, Part I, pp. 159–173. https://doi.org/10.1007/978-3-030-60245-1_11

  25. Orr M, Sinnen O (2020) Integrating task duplication in optimal task scheduling with communication delays. IEEE Trans Parallel Distrib Syst 31(10):2277–2288. https://doi.org/10.1109/TPDS.2020.2989767

    Article  Google Scholar 

  26. Quan Z, Wang Z, Ye T, Guo S (2020) Task scheduling for energy consumption constrained parallel applications on heterogeneous computing systems. IEEE Trans Parallel Distrib Syst 31(5):1165–1182. https://doi.org/10.1109/TPDS.2019.2959533

    Article  Google Scholar 

  27. Ahmad S.G, Munir E.U, Nisar M.W (2012) PEGA: A performance effective genetic algorithm for task scheduling in heterogeneous systems. In: 14th IEEE International Conference on High Performance Computing and Communication & 9th IEEE International Conference on Embedded Software and Systems, HPCC-ICESS 2012, Liverpool, United Kingdom, June 25–27, 2012, pp. 1082–1087. https://doi.org/10.1109/HPCC.2012.158

  28. Aba MA, Zaourar L, Munier A (2020) Efficient algorithm for scheduling parallel applications on hybrid multicore machines with communications delays and energy constraint. Concurr Comput Pract Exp. https://doi.org/10.1002/cpe.5573

    Article  MATH  Google Scholar 

  29. Xu J, Li K, Chen Y (2022) Real-time task scheduling for fpga-based multicore systems with communication delay. Microprocess Microsyst 90:104468. https://doi.org/10.1016/j.micpro.2022.104468

    Article  Google Scholar 

  30. Zhu Z, Zhang J, Zhao J, Cao J, Zhao D, Jia G, Meng Q (2019) A hardware and software task-scheduling framework based on CPU+FPGA heterogeneous architecture in edge computing. IEEE Access 7:148975–148988. https://doi.org/10.1109/ACCESS.2019.2943179

    Article  Google Scholar 

  31. Rodríguez A, Navarro AG, Asenjo R, Corbera F, Tejero RG, Gracia DS, Núñez-Yáñez JL (2019) Exploring heterogeneous scheduling for edge computing with CPU and FPGA mpsocs. J Syst Archit 98:27–40. https://doi.org/10.1016/j.sysarc.2019.06.006

    Article  Google Scholar 

  32. Zhang T, Liu G, Yue Q, Zhao X, Hu M (2019) Using firework algorithm for multi-objective hardware/software partitioning. IEEE Access 7:3712–3721. https://doi.org/10.1109/ACCESS.2018.2886430

    Article  Google Scholar 

  33. Abdallah F, Tanougast C, Kacem I, Diou C, Singer D (2019) Genetic algorithms for scheduling in a CPU/FPGA architecture with heterogeneous communication delays. Comput Ind Eng. https://doi.org/10.1016/j.cie.2019.106006

    Article  Google Scholar 

  34. Purnaprajna M, Reformat M, Pedrycz W (2007) Genetic algorithms for hardware-software partitioning and optimal resource allocation. J Syst Archit 53(7):339–354. https://doi.org/10.1016/j.sysarc.2006.10.012

    Article  Google Scholar 

  35. Jiang Q, Xu J, Chen Y (2021) A genetic algorithm for scheduling in heterogeneous multicore system integrated with FPGA. In: 2021 IEEE Intl Conf on Parallel & Distributed Processing with Applications, Big Data & Cloud Computing, Sustainable Computing & Communications, Social Computing & Networking (ISPA/BDCloud/SocialCom/SustainCom), New York City, NY, USA, September 30-Oct. 3, 2021, pp. 594–602. https://doi.org/10.1109/ISPA-BDCloud-SocialCom-SustainCom52081.2021.00087

  36. Dai G, Shan Y, Chen F, Wang Y, Wang K, Yang H (2014) Online scheduling for FPGA computation in the cloud. In: 2014 International Conference on Field-Programmable Technology, FPT 2014, Shanghai, China, December 10–12, 2014, pp. 330–333. https://doi.org/10.1109/FPT.2014.7082811

  37. Shi W, Wu J, Jiang G, Lam S (2020) Multiple-choice hardware/software partitioning for tree task-graph on mpsoc. Comput J 63(5):688–700. https://doi.org/10.1093/comjnl/bxy140

    Article  Google Scholar 

  38. Hao C, Chen D (2021) Software/hardware co-design for multi-modal multi-task learning in autonomous systems. In: 2021 IEEE 3rd International Conference on Artificial Intelligence Circuits and Systems (AICAS), pp. 1–5. https://doi.org/10.1109/AICAS51828.2021.9458577

  39. Hagras T, Atef A, Mahdy YB (2021) Greening duplication-based dependent-tasks scheduling on heterogeneous large-scale computing platforms. J Grid Comput 19(1):13. https://doi.org/10.1007/s10723-021-09554-2

    Article  Google Scholar 

  40. Bertolino M (2021) Efficient scheduling of applications onto cloud fpgas. (ordonnancement efficace des applications sur cloud fpgas). PhD thesis, Polytechnic Institute of Paris, France. https://tel.archives-ouvertes.fr/tel-03276708

  41. Shi H, Chen Y, Xu J (2021) An efficient scheduling algorithm for distributed heterogeneous systems with task duplication allowed. In: 2021 IEEE Intl Conf on Parallel & Distributed Processing with Applications, Big Data & Cloud Computing, Sustainable Computing & Communications, Social Computing & Networking (ISPA/BDCloud/SocialCom/SustainCom), New York City, NY, USA, September 30-Oct. 3, 2021, pp. 578–587. https://doi.org/10.1109/ISPA-BDCloud-SocialCom-SustainCom52081.2021.00085

Download references

Acknowledgements

The authors would like to thank the editors and anonymous reviewers for their constructive comments. The authors would like to thank Professor Patrice Quinton from Inria, Rennes, France, for his valuable suggestions. Thanks for the supports from him and the Inria team TARAN. This work was also supported in part by the National Key Research and Development Project of China (2018YFB2101300), the Dean’s Fund of Engineering Research Center of Software/Hardware Co-design Technology and Application, Ministry of Education (East China Normal University), Shanghai Collaborative Innovation Center for Trusted Industrial Internet Software, and Shanghai Trusted Industry Internet Software Collaborative Innovation Center.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yixiang Chen.

Ethics declarations

Conflict of interest

We declare that we do not have any commercial or associative interest that represents a conflict of interest in connection with the work submitted.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Xu, J., Shi, H. & Chen, Y. Efficient tasks scheduling in multicore systems integrated with hardware accelerators. J Supercomput 79, 7244–7271 (2023). https://doi.org/10.1007/s11227-022-04955-w

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-022-04955-w

Keywords

Navigation