Abstract
SRAM-based FPGAs feature high performance and flexibility. Thus, they have found many applications in modern high-performance computing (HPC) systems. These systems suffer from the limitation of the computing resources problem for running HPC applications. Therefore, multi-FPGA systems have been emerged to alleviate such resource limitations. In this regard, efficient scheduling strategies are required to dynamically steer the execution of applications—represented as task graphs—on a set of connected FPGAs. In this paper, a heuristic-based dynamic critical path-aware scheduling technique named CPA is presented to schedule task graphs on multi-FPGA systems. The proposed technique, by considering the computation and communication capabilities of FPGAs, dynamically assigns priority to tasks in different steps in order to achieve better makespans. The proposed technique has been evaluated by conducting several experiments on real-world and three different shapes of random task graphs with different number of tasks, and its efficiency has been compared with that of three task graph scheduling approaches. The obtained results demonstrate that the proposed CPA technique outperforms well-known heuristic scheduling strategies and improves their makespan by 13.47% on average. In addition, the experiments show that the proposed technique generates the schedules in the order of milliseconds and the average of its yielded makespans is 12.05% longer than that of an optimum schedule.
Similar content being viewed by others
References
Ghavidel A, Sedaghat Y, Naghibzadeh M (2019) Hybrid scheduling to enhance reliability of real-time tasks running on reconfigurable devices. J Supercomput. https://doi.org/10.1007/s11227-019-02976-6
Shan J, Casu MR, Cortadella J, Lavagno L, Lazarescu MT (2019) Exact and heuristic allocation of multi-kernel applications to multi-FPGA platforms. In: Proceedings of the 56th Annual Design Automation Conference 2019. ACM, p 3
Ramezani R, Clemente JA, Sedaghat Y, Mecha H (2016) Estimation of hardware task reliability on partially reconfigurable FPGAs. In: 16th European Conference on Radiation and Its Effects on Components and Systems (RADECS). IEEE, pp 1–4
Njiki M, Elouardi A, Bouaziz S, Casula O, Roy O (2019) A multi-FPGA architecture-based real-time TFM ultrasound imaging. J Real Time Image Proc 16(2):505–521
Sanaullah A, Yang C, Alexeev Y, Yoshii K, Herbordt MC (2018) Real-time data analysis for medical diagnosis using FPGA-accelerated neural networks. BMC Bioinform 19(18):490
Mahmud N, El-Araby E (2018) Towards higher scalability of quantum hardware emulation using efficient resource scheduling. In: 2018 IEEE International Conference on Rebooting Computing (ICRC). IEEE, pp 1–10
Lentaris G, Stratakos I, Stamoulias I, Soudris D, Lourakis M, Zabulis X (2019) High-performance vision-based navigation on SoC FPGA for spacecraft proximity operations. In: IEEE Transactions on Circuits and Systems for Video Technology
Ramezani R (2020) A prefetch-aware scheduling for FPGA-based multi-task graph systems. J Supercomput. https://doi.org/10.1007/s11227-020-03153-w
Clemente JA, Resano J, González C, Mozos D (2011) A hardware implementation of a run-time scheduler for reconfigurable systems. IEEE Trans Very Large Scale Integr VLSI Syst 19(7):1263–1276
Owaida M, Alonso G (2018) Application partitioning on FPGA clusters: inference over decision tree ensembles. In: 2018 28th International Conference on Field Programmable Logic and Applications (FPL). IEEE, pp 295–2955
Geng T et al (2018) FPDeep: acceleration and load balancing of CNN training on FPGA clusters. In: 2018 IEEE 26th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). IEEE, pp 81–84
Ramezani R, Sedaghat Y, Naghibzadeh M, Clemente JA (2017) Reliability and makespan optimization of hardware task graphs in partially reconfigurable platforms. IEEE Trans Aerosp Electron Syst 53(2):983–994
Dai G, Huang T, Chi Y, Xu N, Wang Y, Yang H (2017) Foregraph: exploring large-scale graph processing on multi-fpga architecture. In: Proceedings of the 2017 ACM/SIGDA international symposium on field-programmable gate arrays. ACM, pp 217–226
Farooq U, Mehrez H, Bhatti MK (2018) Inter-FPGA interconnect topologies exploration for multi-FPGA systems. Des Autom Embed Syst 22(1–2):117–140
Kao C-C (2020) Resource and performance tradeoff for task scheduling of parallel reconfigurable architectures. J Circuits Syst Comput. https://doi.org/10.1142/S0218126620500292
Jing C, Zhu Y, Li M (2013) Energy-efficient scheduling on multi-FPGA reconfigurable systems. Microprocess Microsyst 37(6–7):590–600
Ramezani R, Sedaghat Y (2014) Scheduling periodic real-time hardware tasks on dynamic partial reconfigurable devices subject to fault tolerance. In: 4th International eConference on Computer and Knowledge Engineering (ICCKE). IEEE, pp 1–6
Charitopoulos G, Koidis I, Papadimitriou K, Pnevmatikatos D (2017) Run-time management of systems with partially reconfigurable FPGAs. Integration 57:34–44
Ramezani R, Sedaghat Y, Clemente JA (2017) Reliability improvement of hardware task graphs via configuration early fetch. IEEE Trans Very Large Scale Integr VLSI Syst 25(4):1408–1420
Kao C-C (2015) Performance-oriented partitioning for task scheduling of parallel reconfigurable architectures. IEEE Trans Parallel Distrib Syst 26(3):858–867
Liang H, Sinha S, Zhang W (2018) Parallelizing hardware tasks on multicontext FPGA with efficient placement and scheduling algorithms. IEEE Trans Comput Aided Des Integr Circuits Syst 37(2):350–363
Koraei M, Jahre M, Fatemi SO (2017) DTP: enabling exhaustive exploration of FPGA temporal partitions for streaming HPC applications. In: Proceedings of the 8th International Symposium on Highly Efficient Accelerators and Reconfigurable Technologies. ACM, p 7
Ramezani R, Sedaghat Y, Naghibzadeh M, Clemente JA (2018) A decomposition-based reliability and makespan optimization technique for hardware task graphs. Reliab Eng Syst Saf 180:13–24
Wieczorek M, Prodan R, Fahringer T (2005) Scheduling of scientific workflows in the ASKALON grid environment. Acm Sigmod Record 34(3):56–62
Etminani K, Naghibzadeh M (2007) A min–min max–min selective algorithm for grid task scheduling. In: 2007 3rd IEEE/IFIP International Conference in Central Asia on Internet. IEEE, pp 1–7
Topcuoglu H, Hariri S, Wu M-Y (2002) Performance-effective and low-complexity task scheduling for heterogeneous computing. IEEE Trans Parallel Distrib Syst 13(3):260–274
Yu T, Feng B, Stillwell M, Guo L, Ma Y, Thomson J (2018) Lattice-based scheduling for multi-FPGA systems. In: 2018 International Conference on Field-Programmable Technology (FPT). IEEE, pp 318–321
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 137:106006
El Cadi AA, Souissi O, Atitallah RB, Belanger N, Artiba A (2018) Mathematical programming models for scheduling in a CPU/FPGA architecture with heterogeneous communication delays. J Intell Manuf 29(3):629–640
Iturbe X (2013) Design and implementation of a reliable reconfigurable real-time operating system (R3TOS). PhD Thesis, University of Edinburgh
Agne A et al (2014) ReconOS: an operating system approach for reconfigurable computing. Micro IEEE 34(1):60–71
Al-Sharaeh S, Wells BE (1996) A comparison of heuristics for list schedules using the Box-method and P-method for random digraph generation. In: 28th Southeastern Symposium on System Theory. IEEE, pp 467–471
XilinxCorporation (2012) Virtex-5 FPGA configuration user guide UG191 (v 3.11). www.xilinx.com/support/documentation/user_guides/ug191.pdf
Singh V, Gupta I, Jana PK (2018) A novel cost-efficient approach for deadline-constrained workflow scheduling by dynamic provisioning of resources. Future Gener Comput Syst 79:95–110
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Ramezani, R. Dynamic scheduling of task graphs in multi-FPGA systems using critical path. J Supercomput 77, 597–618 (2021). https://doi.org/10.1007/s11227-020-03281-3
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-020-03281-3