Abstract
In partially run-time reconfigurable (PRR) FPGAs, hardware tasks should be configured before their execution. The configuration delay imposed by the reconfiguration process increases the total execution time of the hardware tasks and task graphs. In this paper, a new technique named forefront-fetch is presented to improve the makespan of hardware task graphs running on PRR FPGAs via alleviating the adverse effects of the configuration delays. In this technique, which is applied to a sequence of task graphs, the configuration of some tasks is carried out within the execution phase of the previous task graph. This strategy leads to hide the configuration delay of the forefront-fetched tasks that as a result improves the execution time. The proposed solution modifies the schedules of the task graphs at design time to obtain a set of schedule pairs for the run-time environment. Experiments on actual and synthesized task graphs demonstrate the ability of the proposed technique in improving the makespan of hardware task graphs. The obtained results show that for a set of task graphs running on Xilinx™ Virtex-5 XUPV5LX110T FPGA, makespan is improved by 37.81% on average. Moreover, the proposed solution outperforms state-of-the-art prefetch-aware scheduling strategies by 14.78% makespan improvement.









Similar content being viewed by others
References
Bolchini C, Miele A, Sandionigi C (2013) Autonomous fault-tolerant systems onto SRAM-based FPGA platforms. J Electron Test 29(6):779–793
Galanis MD, Dimitroulakos G, Goutis CE (2006) Performance improvements from partitioning applications to FPGA hardware in embedded SoCs. J Supercomput 35(2):185–199
Say F, Bazlamaçcı CF (2012) A reconfigurable computing platform for real time embedded applications. Microprocess Microsyst 36(1):13–32
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
Rodríguez A et al (2019) Parallel multiprocessing and scheduling on the heterogeneous Xeon + FPGA platform. J Supercomput 1–21
XilinxCorporation (2019), “Virtex-5 FPGA Configuration User Guide, UG191 (v 3.11),” online at: www.xilinx.com/support/documentation/user_guides/ug191.pdf, 2012
Liu S, Pittman RN, Forin A, Gaudiot J-L (2012) Minimizing the runtime partial reconfiguration overheads in reconfigurable systems. J Supercomput 61(3):894–911
Ghavidel A, Sedaghat Y, Naghibzadeh M (2019) Hybrid scheduling to enhance reliability of real-time tasks running on reconfigurable devices. J Supercomput 1–30
Thoman P et al (2018) A taxonomy of task-based parallel programming technologies for high-performance computing. J Supercomput 74(4):1422–1434
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
Li K (2018) Energy constrained scheduling of stochastic tasks. J Supercomput 74(1):485–508
Hariharan I, Kannan M (2018) Reducing reconfiguration overheads of a reconfigurable dynamic system using active run-time prediction. J Electr Eng 18(2):349–356
Yoosefi A, Naji HR (2017) A clustering algorithm for communication-aware scheduling of task graphs on multi-core reconfigurable systems. IEEE Trans Parallel Distrib Syst 28(10):2718–2732
Abdi A, Zarandi HR (2018) HYSTERY: a hybrid scheduling and mapping approach to optimize temperature, energy consumption and lifetime reliability of heterogeneous multiprocessor systems. J Supercomput 74(5):2213–2238
Zhou T, Pan T, Bao Z, Watanabe T (2018) A time-based leakage-aware algorithm for task placement and scheduling problem on dynamic reconfigurable FPGA. In 2018 5th International Conference on Systems and Informatics (ICSAI), IEEE, pp 501–506
Minhas UI, Woods R, Karakonstantis G (2019) Evaluation of FPGA partitioning schemes for time and space sharing of heterogeneous tasks. In: International Symposium on Applied Reconfigurable Computing, Springer, New York, pp 334–349
Liu T-W, Liu Y-F, Chen Y-S (2017) Energy-aware run-time task partition and allocation in dynamic partial reconfigurable systems. J Syst Archit 78:55–67
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
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
Jing C, Zhu Y, Li M (2013) Energy-efficient scheduling on multi-FPGA reconfigurable systems. Microprocess Microsyst 37(6–7):590–600
Iturbe X (2013) Design and implementation of a reliable reconfigurable real-time operating system (R3TOS). Ph.D. Thesis, University of Edinburgh
Resano J, Mozos D, Catthoor F (2005) A hybrid prefetch scheduling heuristic to minimize at run-time the reconfiguration overhead of dynamically reconfigurable hardware. In: Conference on Design, Automation and Test in Europe, IEEE Computer Society, pp 106–111
Li Z, Hauck S (2002) Configuration prefetching techniques for partial reconfigurable coprocessor with relocation and defragmentation. In: 10th International Symposium on Field-programmable Gate Arrays, ACM/SIGDA, pp 187–195
Clemente JA, Beretta I, Rana V, Atienza Alonso D, Sciuto D (2014) A mapping-scheduling algorithm for hardware acceleration on reconfigurable platforms. ACM Trans Reconfigurable Technol Syst (TRETS) 7(2):636–662
Lu Y, Marconi T, Bertels K, Gaydadjiev G (2009) Online task scheduling for the FPGA-based partially reconfigurable systems. In: International Workshop on Applied Reconfigurable Computing, Springer, New York, pp 216–230
Clemente JA, Resano J, Mozos D (2014) An approach to manage reconfigurations and reduce area cost in hard real-time reconfigurable systems. ACM Trans Embed Comput Syst (TECS) 13(4):1823–1846
Dorflinger A et al (2018) Hardware and software task scheduling for ARM-FPGA platforms. In: 2018 NASA/ESA Conference on Adaptive Hardware and Systems (AHS), IEEE, pp 66–73
Charitopoulos G, Koidis I, Papadimitriou K, Pnevmatikatos D (2017) Run-time management of systems with partially reconfigurable FPGAs. Integration 57:34–44
Vipin K, Fahmy SA (2018) FPGA dynamic and partial reconfiguration: A survey of architectures, methods, and applications. ACM Comput Surv (CSUR) 51(4):72
Hariharan I, Kannan M (2019) Reducing reconfiguration overheads using configuration prefetch, optimal reuse, and optimal memory mapping. Natl Acad Sci Lett 1–5
Steiger C, Walder H, Platzner M (2004) Operating systems for reconfigurable embedded platforms: online scheduling of real-time tasks. IEEE Trans Comput 53(11):1393–1407
Guan N, Deng Q, Gu Z, Xu W, Yu G (2008) Schedulability analysis of preemptive and nonpreemptive EDF on partial runtime-reconfigurable FPGAs. ACM Trans Des Autom Electron Syst (TODAES) 13(4):1792–1834
Wang Y, Hoe JC, Nurvitadhi E (2019) Processor assisted worklist scheduling for FPGA accelerated graph processing on a shared-memory platform. In: 2019 IEEE 27th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM), IEEE, pp 136–144
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
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
Danne K, Platzner M (2006) An EDF schedulability test for periodic tasks on reconfigurable hardware devices. In: ACM SIGPLAN notices, vol 41, No. 7, ACM, pp 93–102
Steiger C, Walder H, Platzner M, Thiele L (2003) Online scheduling and placement of real-time tasks to partially reconfigurable devices. In: 24th Real-Time Systems Symposium (RTSS), IEEE, pp 224–225
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. A prefetch-aware scheduling for FPGA-based multi-task graph systems. J Supercomput 76, 7140–7160 (2020). https://doi.org/10.1007/s11227-020-03153-w
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-020-03153-w