Abstract
Multitasking on FPGA is a method allowing multiple users to share a reconfigurable fabric, thus improving the flexibility of hardware task management. However, current multitasking schemes bring with it considerable performance degradation and several issues, that can be solved. In this paper, we first present a multitasking scheme based on checkpointing in the hardware description language (HDL) level. The scheme can eliminate the need for reading the bitstream back, thus reducing the task switch latency. We then propose a new HDL-based checkpointing architecture for FPGA computing. Third, we propose a static analysis of the original HDL source code in order to reduce the hardware overhead caused by the checkpointing insertion. Our evaluations show that the proposed architecture with the static analysis can reduce up to 50% of the LUT overhead, compared with the tree-based checkpointing architecture. The checkpointing architecture causes small degradation in maximum clock frequency (1.65% on average), while it consumes low memory footprints. Comparisons with previous multitasking schemes highlight the advantages of our scheme.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Putnam, A., et al.: A reconfigurable fabric for accelerating large-scale datacenter services. Commun. ACM 59(11), 114–122 (2016)
Putnam, A.: FPGAs in the datacenter combining the worlds of hardware and software development. In: Proceedings of Great Lakes Symposium on VLSI, p. 5 (2017)
Falsafi, B., et al.: FPGAs versus GPUs in data centers. IEEE Micro 37(1), 60–72 (2017)
Tarafdar, N., et al.: Enabling flexible network FPGA clusters in a heterogeneous cloud data center. In: FPGA2017, pp. 237–246 (2017)
Caulfield, A., et al.: Configurable clouds. IEEE Micro 37(3), 52–61 (2017)
Kalte, H., Porrmann, M.: Context saving and restoring for multitasking in reconfigurable systems. In: FPL 2005, pp. 223–228 (2005)
Simmler, H., Levinson, L., Männer, R.: Multitasking on FPGA coprocessors. In: Hartenstein, R.W., Grünbacher, H. (eds.) FPL 2000. LNCS, vol. 1896, pp. 121–130. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-44614-1_13
Landaker, W.J., Wirthlin, M.J., Hutchings, B.L.: Multitasking hardware on the SLAAC1-V reconfigurable computing system. In: Glesner, M., Zipf, P., Renovell, M. (eds.) FPL 2002. LNCS, vol. 2438, pp. 806–815. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-46117-5_83
Levinson, L., Manner, R., Sessler, M., Simmler, H.: Preemptive multitasking on FPGAs. In: FCCM 2000, pp. 301–302 (2000)
Happe, M., Traber, A., Keller, A.: Preemptive hardware multitasking in ReconOS. In: Sano, K., Soudris, D., Hübner, M., Diniz, P.C. (eds.) ARC 2015. LNCS, vol. 9040, pp. 79–90. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-16214-0_7
Vu, G., Kajkamhaeng, S., Takamaeda, S., Nakashima, Y.: CPRtree: a tree-based checkpointing architecture for heterogeneous FPGA computing. In: 4th International Symposium on Computing and Networking (CANDAR 2016), pp. 57–66 (2016)
Koch, D., Haubelt, C., Teich, J.: Efficient hardware checkpointing - concepts, overhead analysis, and implementation. In: FPGA 2007, pp. 188–196 (2007)
Bourge, A., Muller, O., Rousseau, F.: Automatic high-level hardware checkpoint selection for reconfigurable systems. FCCM 2015, pp. 155–158 (2015)
Bourge, A., Muller, O., Rousseau, F.: Generating efficient context-switch capable circuits through autonomous design flow. ACM Trans. Reconfigurable Technol. Syst. 10(1), 9 (2016)
Schmidt, A., Huang, B., Sass, R., French, M.: Checkpoint/restart and beyond: resilient high performance computing with FPGAs. FCCM 2011, pp. 162–169 (2011)
Mavroidis, I., Papaefstathiou, I.: Accelerating emulation and providing full chip observability and controlability. IEEE Des. Test Comput. 26, 0740–7475 (2009)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Vu, HG., Nakada, T., Nakashima, Y. (2018). Efficient Multitasking on FPGA Using HDL-Based Checkpointing. In: Voros, N., Huebner, M., Keramidas, G., Goehringer, D., Antonopoulos, C., Diniz, P. (eds) Applied Reconfigurable Computing. Architectures, Tools, and Applications. ARC 2018. Lecture Notes in Computer Science(), vol 10824. Springer, Cham. https://doi.org/10.1007/978-3-319-78890-6_47
Download citation
DOI: https://doi.org/10.1007/978-3-319-78890-6_47
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-78889-0
Online ISBN: 978-3-319-78890-6
eBook Packages: Computer ScienceComputer Science (R0)