Static hardware task placement on multi-context FPGA using hybrid genetic algorithm

Field Programmable Gate Arrays (FPGAs) are becoming pervasive in various kinds of computationally demanding applications. Working in a tightly coupled processor-coprocessor architecture, FPGAs are often anticipated to accelerate multiple fine-grained or coarse-grained tasks simultaneously. Single-context FPGAs are commonly used in such systems. With the recent development of emerging memory technologies, multi-context FPGAs that support dynamic reconfiguration with high-density non-volatile memories become feasible. Compared to single-context FPGAs, multi-context FPGAs are able to accelerate significantly more tasks with only moderate area and power overhead. However, the best way to utilize the computation capacity advantage of multi-context FPGAs for hardware task mapping remains an interesting and unexploited problem. In this paper, we first propose the framework of a processor-coprocessor architecture with multi-context FPGA as the coprocessor for multiple-task acceleration. Under the framework, a hybrid placement strategy based on genetic and greedy algorithms is proposed to efficiently place a set of tasks onto the multi-context FPGA to achieve the best logic capacity utilization. Experiments on real and synthetic benchmarks demonstrate the efficiency of the proposed algorithm compared with other general approaches.

[1]  Tulika Mitra,et al.  A novel online hardware task scheduling and placement algorithm for 3D partially reconfigurable FPGAs , 2011, 2011 International Conference on Field-Programmable Technology.

[2]  Miodrag Potkonjak,et al.  MediaBench: a tool for evaluating and synthesizing multimedia and communications systems , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

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

[4]  Minoru Watanabe,et al.  Fast Optical Reconfiguration of a Nine-Context DORGA Using a Speed Adjustment Control , 2011, TRETS.

[5]  Takeshi Yoshimura,et al.  An O-tree representation of non-slicing floorplan and its applications , 1999, DAC '99.

[6]  Steven Trimberger,et al.  A time-multiplexed FPGA , 1997, Proceedings. The 5th Annual IEEE Symposium on Field-Programmable Custom Computing Machines Cat. No.97TB100186).

[7]  Martin C. Herbordt,et al.  Achieving High Performance with FPGA-Based Computing , 2007, Computer.

[8]  Russell Tessier,et al.  FPGA Architecture: Survey and Challenges , 2008, Found. Trends Electron. Des. Autom..

[9]  M. Nakajima,et al.  A 36-context optically reconfigurable gate array , 2009, 2009 International SoC Design Conference (ISOCC).

[10]  S. Yang,et al.  Logic Synthesis and Optimization Benchmarks User Guide Version 3.0 , 1991 .

[11]  Wei Zhang,et al.  A Fine-Grain Dynamically Reconfigurable Architecture Aimed at Reducing the FPGA-ASIC Gaps , 2014, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[12]  Wei Zhang,et al.  A hybrid Nano/CMOS dynamically reconfigurable system—Part II: Design optimization flow , 2009, JETC.

[13]  Ranga Vemuri,et al.  An efficient algorithm for finding empty space for online FPGA placement , 2004, Proceedings. 41st Design Automation Conference, 2004..

[14]  Srinivas Katkoori,et al.  Force-directed performance-driven placement algorithm for FPGAs , 2004, IEEE Computer Society Annual Symposium on VLSI.

[15]  Wei Zhang,et al.  NATURE: a hybrid nanotube/CMOS dynamically reconfigurable architecture , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[16]  Seth Copen Goldstein,et al.  PipeRench: a co/processor for streaming multimedia acceleration , 1999, ISCA.

[17]  Mário P. Véstias,et al.  A reconfigurable computing architecture using magnetic tunneling junction memories , 2013, 2013 23rd International Conference on Field programmable Logic and Applications.

[18]  Ernest S. Kuh,et al.  Sequence-pair based placement method for hard/soft/pre-placed modules , 1998, ISPD '98.

[19]  Scott Hauck,et al.  Runtime and quality tradeoffs in FPGA placement and routing , 2001, FPGA '01.

[20]  André DeHon,et al.  Dynamically Programmable Gate Arrays: A Step Toward Increased Computational Density , 1996 .

[21]  Juan Manuel Moreno,et al.  A temporal bipartitioning algorithm for dynamically reconfigurable FPGAs , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[22]  Yoji Kajitani,et al.  Module placement on BSG-structure and IC layout applications , 1996, ICCAD 1996.

[23]  Koen Bertels,et al.  A novel fast online placement algorithm on 2D partially reconfigurable devices , 2009, 2009 International Conference on Field-Programmable Technology.

[24]  Vaughn Betz,et al.  Timing-driven placement for FPGAs , 2000, FPGA '00.

[25]  T. Mabuchi,et al.  A 9-context optically reconfigurable gate array , 2008, 2008 International SoC Design Conference.