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.
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
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
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
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
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
Lee E, Seshia S (2015) Introduction to embedded systems: a cyber-physical systems approach
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Corresponding author
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.
About this article
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
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-022-04955-w