Abstract
Commercial off-the-shelf (COTS) Field-Programmable Gate Arrays (FPGAs) are becoming increasingly powerful. In addition to their huge hardware resources, they are also integrated into complete systems on chips (SOCs), e.g., in the latest Xilinx Zynq or Altera Stratix platforms. However, cooperation between FPGAs and their surroundings, and the flexibility of hardware task management could still be improved. For instance, mechanisms have yet to be automated to allow multi-user approaches. A reconfigurable resource can be shared between applications or users only if it has a context-switch ability allowing applications to be paused and resumed in response to system demands. Here, we present a high-level synthesis (HLS) design flow producing a context-switch-capable circuit. The design flow manipulates the intermediate representation of an HLS tool to build the context extraction mechanism and to optimize performance for the circuit produced. The method is based on efficient checkpoint selection and insertion of a powerful scan-chain into the initial circuit. This scan-chain can extract flip-flops or memory content. Experiments with the system produced show that it has a low hardware overhead for many benchmark applications, and that the hardware added has a negligible impact on application performance. Comparisons with current standard methods highlight the efficiency of our contributions.
- Ghazanfar Asadi and Mehdi B. Tahoori. 2005. Soft error rate estimation and mitigation for SRAM-based FPGAs. In Proceedings of the 2005 ACM/SIGDA 13th International Symposium on Field-programmable Gate Arrays. ACM, 149--160. Google Scholar
Digital Library
- Brandon Blodget, Philip James-Roxby, Eric Keller, Scott McMillan, and Prasanna Sundararajan. 2003. A Self-reconfiguring Platform. Springer, Berlin, 565--574.Google Scholar
- Alban Bourge, Olivier Muller, and Frédéric Rousseau. 2015. Automatic high-level hardware checkpoint selection for reconfigurable systems. In Proceedings of the 2015 IEEE 23rd Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM’15). 100--103. Google Scholar
Digital Library
- Alexander Brant and Guy G. F. Lemieux. 2012. ZUMA: An open FPGA overlay architecture. In Proceeding of the 2012 IEEE 20th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM’12). IEEE, 93--96. Google Scholar
Digital Library
- G. C. Buttazzo, M. Bertogna, and Gang Yao. 2013. Limited preemptive scheduling for real-time systems. A survey. IEEE Transactions on Industrial Informatics 9, 1 (Feb. 2013), 3--15.Google Scholar
Cross Ref
- Vasek Chvatal. 1979. A greedy heuristic for the set-covering problem. Mathematics of Operations Research 4, 3 (1979), 233--235. Google Scholar
Digital Library
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, and others. 2001. Introduction to Algorithms. Vol. 2. MIT Press and McGraw-Hill. Google Scholar
Digital Library
- Ifeanyi P. Egwutuoha, David Levy, Bran Selic, and Shiping Chen. 2013. A survey of fault tolerance mechanisms and checkpoint/restart implementations for high performance computing systems. Journal of Supercomputing 65, 3 (2013), 1302--1326. Google Scholar
Digital Library
- Elmootazbellah Nabil Elnozahy, Lorenzo Alvisi, Yi-Min Wang, and David B. Johnson. 2002. A survey of rollback-recovery protocols in message-passing systems. ACM Computing Surveys (CSUR) 34, 3 (2002), 375--408. Google Scholar
Digital Library
- Sándor P. Fekete, Tom Kamphans, Nils Schweer, Christopher Tessars, Jan C. van der Veen, Josef Angermeier, Dirk Koch, and Jürgen Teich. 2012. Dynamic defragmentation of reconfigurable devices. ACM Transactions on Reconfigurable Technology and Systems (TRETS) 5, 2 (2012), 8. Google Scholar
Digital Library
- Taro Fujii, K-i Furuta, and others. 1999. A dynamically reconfigurable logic engine with a multi-context/multi-mode unified-cell architecture. In ISSCC 1999. IEEE.Google Scholar
Cross Ref
- Milind Girkar and Constantine D. Polychronopoulos. 1994. The hierarchical task graph as a universal intermediate representation. International Journal of Parallel Programming 22, 5 (1994), 519--551. Google Scholar
Digital Library
- Nan Guan, Qingxu Deng, Zonghua Gu, Wenyao Xu, and Ge Yu. 2008. Schedulability analysis of preemptive and nonpreemptive EDF on partial runtime-reconfigurable FPGAs. ACM Transactions on Design Automation of Electronic Systems. 13, 4, Article 56 (Oct. 2008), 43 pages. Google Scholar
Digital Library
- Ilker Hamzaoglu and Janak H. Patel. 1999. Reducing test application time for full scan embedded cores. In Proceedings of the 29th Annual International Symposium on Fault-Tolerant Computing. Digest of Papers. IEEE, 260--267. Google Scholar
Digital Library
- Yuko Hara, Hiroyuki Tomiyama, Shinya Honda, and Hiroaki Takada. 2009. Proposal and quantitative analysis of the CHStone benchmark program suite for practical C-based high-level synthesis. Information and Media Technologies 4, 4 (2009), 740--752.Google Scholar
- Scott Hauck and Andre DeHon. 2010. Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation. Morgan Kaufmann, San Francisco, CA. Google Scholar
Digital Library
- Karel Heyse, Timothy N. Davidson, Elias Vansteenkiste, Karel Bruneel, and Dirk Stroobandt. 2013. Efficient implementation of virtual coarse grained reconfigurable arrays on FPGAs. In Proceedings of the 2013 23rd International Conference on Field Programmable Logic and Applications (FPL’13). IEEE, 1--8.Google Scholar
Cross Ref
- Krzysztof Jozwik, Hiroyuki Tomiyama, Masato Edahiro, Shinya Honda, and Hiroaki Takada. 2012. Comparison of preemption schemes for partially reconfigurable FPGAs. IEEE Embedded Systems Letters 4, 2 (2012), 45--48. Google Scholar
Digital Library
- Heiko Kalte and Mario Porrmann. 2005. Context saving and restoring for multitasking in reconfigurable systems. In FPL, 2005. IEEE.Google Scholar
- Dirk Koch, Christian Haubelt, and Jürgen Teich. 2007. Efficient hardware checkpointing: Concepts, overhead analysis, and implementation. In Proceedings of the 2007 ACM/SIGDA 15th International Symposium on Field Programmable Gate Arrays. ACM. Google Scholar
Digital Library
- Wesley J. Landaker, Michael J. Wirthlin, and Brad L. Hutchings. 2002. Multitasking Hardware on the SLAAC1-V Reconfigurable Computing System. Springer, Berlin, 806--815.Google Scholar
- L. Levinson, Reinhard Männer, M. Sessler, and Harald Simmler. 2000. Preemptive multitasking on FPGAs. In FCCM 2000. Citeseer, 301--302. Google Scholar
Digital Library
- Chuanpeng Li, Chen Ding, and Kai Shen. 2007. Quantifying the cost of context switch. In ExpCS 2007. ACM, 2. Google Scholar
Digital Library
- Yun Liang, Kyle Rupnow, Yinan Li, Dongbo Min, Minh N. Do, and Deming Chen. 2012. High-level synthesis: Productivity, performance, and software constraints. Journal of Electrical and Computer Engineering 2012 (2012), 1. Google Scholar
Digital Library
- Chih-Chang Lin, Mike Tien-Chien Lee, Malgorzata Marek-Sadowska, and Kuang-Chien Chen. 1995. Cost-free scan: A low-overhead scan path design methodology. In Proceedings of the 1995 IEEE/ACM International Conference on Computer-aided Design. IEEE Computer Society, 528--533. Google Scholar
Digital Library
- J.-Y. Mignolet, Vincent Nollet, Paul Coene, Diederik Verkest, Serge Vernalde, and Rudy Lauwereins. 2003. Infrastructure for design and management of relocatable tasks in a heterogeneous reconfigurable system-on-chip. In DATE 2003. IEEE, 986--991. Google Scholar
Digital Library
- Kyprianos Papadimitriou, Apostolos Dollas, and Scott Hauck. 2011. Performance of partial reconfiguration in FPGA systems: A survey and a cost model. ACM Transactions on Reconfigurable Technology and Systems (TRETS) 4, 4 (2011), 36. Google Scholar
Digital Library
- Adrien Prost-Boucle, Olivier Muller, and Frédéric Rousseau. 2014. Fast and standalone design space exploration for high-level synthesis under resource constraints. Journal of Systems Architecture 60 (2014), 79--93. Google Scholar
Digital Library
- M. Sonza Reorda, Massimo Violante, Cristina Meinhardt, and Ricardo Reis. 2009. A low-cost SEE mitigation solution for soft-processors embedded in systems on programmable chips. In Proceedings of the Conference on Design, Automation and Test in Europe. European Design and Automation Association, 352--357. Google Scholar
Digital Library
- Stephen M. Scalera and Jóse R. Vazquez. 1998. The design and implementation of a context switching FPGA. In FCCM 1998. IEEE, 78--85. Google Scholar
Digital Library
- Andrew G. Schmidt, Bin Huang, Ron Sass, and Matthew French. 2011. Checkpoint/restart and beyond: Resilient high performance computing with FPGAs. In Proceedings of the 2011 IEEE 19th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM’11). IEEE, 162--169. Google Scholar
Digital Library
- Pete Sedcole, Brandon Blodget, Tobias Becker, James Anderson, and Patrick Lysaght. 2006. Modular dynamic reconfiguration in Virtex FPGAs. In Computers and Digital Techniques, IEE Proceedings. IET.Google Scholar
- H. Simmler, L. Levinson, and R. Männer. 2000. Multitasking on FPGA Coprocessors. Springer, Berlin, 121--130. Google Scholar
Digital Library
- Nur A. Touba. 2006. Survey of test vector compression techniques. IEEE Design 8 Test of Computers 23, 4 (2006), 294--303. Google Scholar
Digital Library
- Steven Trimberger, Dean Carberry, Anders Johnson, and Jennifer Wong. 1997. A time-multiplexed FPGA. In FCCM 1997. IEEE, 22--28. Google Scholar
Digital Library
- Michael Ullmann, Michael Hübner, Björn Grimm, and Jürgen Becker. 2004. An FPGA run-time system for dynamical on-demand reconfiguration. In IPDPS 2004. IEEE, 135.Google Scholar
Cross Ref
- Timothy Wheeler, Paul Graham, Brent Nelson, and Brad Hutchings. 2001. Using design-level scan to improve FPGA design observability and controllability for functional verification. In FPL, 2001. Springer, 483--492. Google Scholar
Digital Library
- Xilinx. 2010. Partial Reconfiguration User Guide. UG702. http://www.xilinx.com.Google Scholar
- Xilinx. 2014. 7 Series FPGAs Configurable Logic Block. UG474.Google Scholar
- Lilia Zaourar, Yann Kieffer, and Chouki Aktouf. 2012. A graph-based approach to optimal scan chain stitching using RTL design descriptions. VLSI Design 2012 (2012), 3. Google Scholar
Digital Library
Index Terms
Generating Efficient Context-Switch Capable Circuits through Autonomous Design Flow
Recommendations
Efficient hardware checkpointing: concepts, overhead analysis, and implementation
FPGA '07: Proceedings of the 2007 ACM/SIGDA 15th international symposium on Field programmable gate arraysProgress in reconfigurable hardware technology allows the implementation of complete SoCs in today's FPGAs. In the context design for reliability, software checkpointing is an effective methodology to cope with faults. In this paper, we systematically ...
Automatic Design of Area-Efficient Configurable ASIC Cores
Reconfigurable hardware has been shown to provide an efficient compromise between the flexibility of software and the performance of hardware. However, even coarse-grained reconfigurable architectures target the general case and miss optimization ...






Comments