Configuration management techniques for reconfigurable computing

Reconfigurable computing is becoming an important part of research in computer architectures and software systems. By placing the computationally intense portions of an application onto the reconfigurable hardware, that application can be greatly accelerated. Gains are realized because reconfigurable computing combines the benefits of both software and ASIC implementations. However, the advantages of reconfigurable computing do not come without a cost. By requiring multiple reconfigurations to complete a computation, the time to reconfigure the hardware significantly degraded performance of such systems. This thesis examines a complete strategy that attacks this reconfiguration bottleneck from different perspectives. Compression techniques are introduced to decrease the amount of configuration data that must be transferred to the system. Configuration caching approaches are investigated to retain configurations on-chip. Configuration prefetching techniques are developed to hide reconfiguration latency. Reconfiguration overhead is virtually eliminated by using these techniques.

[1]  John Wawrzynek,et al.  Fast module mapping and placement for datapaths in FPGAs , 1998, FPGA '98.

[2]  Ralph Wittig,et al.  OneChip: an FPGA processor with reconfigurable logic , 1996, 1996 Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[3]  Mark de Wit,et al.  A dynamic reconfiguration run-time system , 1997, Proceedings. The 5th Annual IEEE Symposium on Field-Programmable Custom Computing Machines Cat. No.97TB100186).

[4]  Zhiyuan Li,et al.  Configuration caching management techniques for reconfigurable computing , 2000, Proceedings 2000 IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00871).

[5]  Brad L. Hutchings,et al.  Automated target recognition on SPLASH 2 , 1997, Proceedings. The 5th Annual IEEE Symposium on Field-Programmable Custom Computing Machines Cat. No.97TB100186).

[6]  Rahul Razdan,et al.  PRISC: programmable reduced instruction set computers , 1994 .

[7]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[8]  Douglas J. Joseph,et al.  Prefetching Using Markov Predictors , 1997, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.

[9]  James A. Storer,et al.  Data compression via textual substitution , 1982, JACM.

[10]  D. Huffman A Method for the Construction of Minimum-Redundancy Codes , 1952 .

[11]  Abraham Lempel,et al.  Compression of individual sequences via variable-rate coding , 1978, IEEE Trans. Inf. Theory.

[12]  Brad L. Hutchings,et al.  Sequencing Run-Time Reconfigured Hardware with Software , 1996, Fourth International ACM Symposium on Field-Programmable Gate Arrays.

[13]  Steven Trimberger,et al.  Architecture issues and solutions for a high-capacity FPGA , 1997, FPGA '97.

[14]  Bertram Bussell,et al.  Parallel Processing in a Restructurable Computer System , 1963, IEEE Trans. Electron. Comput..

[15]  Herman Schmit Incremental reconfiguration for pipelined applications , 1997, Proceedings. The 5th Annual IEEE Symposium on Field-Programmable Custom Computing Machines Cat. No.97TB100186).

[16]  Gabriele Saucier,et al.  Using cone structures for circuit partitioning into FPGA packages , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[17]  Anoop Gupta,et al.  Design and evaluation of a compiler algorithm for prefetching , 1992, ASPLOS V.

[18]  Neal E. Young,et al.  Thek-server dual and loose competitiveness for paging , 1994, Algorithmica.

[19]  Laszlo A. Belady,et al.  A Study of Replacement Algorithms for Virtual-Storage Computer , 1966, IBM Syst. J..

[20]  Abraham Lempel,et al.  A universal algorithm for sequential data compression , 1977, IEEE Trans. Inf. Theory.

[21]  Brad L. Hutchings,et al.  A dynamic instruction set computer , 1995, Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[22]  Christof Paar,et al.  An FPGA implementation and performance evaluation of the Serpent block cipher , 2000, FPGA '00.

[23]  André DeHon,et al.  DPGA-coupled microprocessors: commodity ICs for the early 21st Century , 1994, Proceedings of IEEE Workshop on FPGA's for Custom Computing Machines.

[24]  Seth Copen Goldstein,et al.  Managing pipeline-reconfigurable FPGAs , 1998, FPGA '98.

[25]  Ian H. Witten,et al.  Arithmetic coding for data compression , 1987, CACM.

[26]  Moshe Sipper,et al.  Static and Dynamic Configurable Systems , 1999, IEEE Trans. Computers.

[27]  Arun K. Somani,et al.  Configuration caching vs data caching for striped FPGAs , 1999, FPGA '99.

[28]  Wayne P. Burleson,et al.  Configuration cloning: exploiting regularity in dynamic DSP architectures , 1999, FPGA '99.

[29]  Todd C. Mowry,et al.  Compiler-based prefetching for recursive data structures , 1996, ASPLOS VII.

[30]  Wai Keung Wong,et al.  FPGA implementation of a microcoded elliptic curve cryptographic processor , 2000, Proceedings 2000 IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00871).

[31]  Roger F. Woods,et al.  Accelerating run-time reconfiguration on FCCMs , 1999, Seventh Annual IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00375).

[32]  Zhiyuan Li,et al.  Don't Care discovery for FPGA configuration compression , 1999, FPGA '99.

[33]  Scott Hauck,et al.  Configuration prefetch for single context reconfigurable coprocessors , 1998, FPGA '98.

[34]  Terry A. Welch,et al.  A Technique for High-Performance Data Compression , 1984, Computer.

[35]  Robert K. Brayton,et al.  Logic Minimization Algorithms for VLSI Synthesis , 1984, The Kluwer International Series in Engineering and Computer Science.

[36]  Vaughn Betz,et al.  FPGA routing architecture: segmentation and buffering to optimize speed and density , 1999, FPGA '99.

[37]  Scott Hauck,et al.  The Chimaera reconfigurable functional unit , 1997, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[38]  Eugene L. Lawler,et al.  Traveling Salesman Problem , 2016 .

[39]  Carl Ebeling,et al.  RaPiD - Reconfigurable Pipelined Datapath , 1996, FPL.