Performance-Oriented Partitioning for Task Scheduling of Parallel Reconfigurable Architectures

Dynamic reconfiguration is important for reconfigurable platforms. Parallel reconfigurable computing (PRC) architecture consists of multiple dynamic reconfigurable computing (DRC) units. Thus, for a circuit to be implemented on a parallel reconfiguration system, it needs to be partitioned such that each sub-circuit can be executed to the DRC units in a PRC system. For high performance, this paper proposes a greedy algorithm that maximizes data parallelism for task scheduling of parallel reconfigurable architectures with unlimited resources. The proposed algorithm generates an optimal solution in polynomial time O(n3), where n is the total number of the tasks. After obtaining a depth optimal solution, we reduce the resources without decreasing performance by the duplication packing operations whose time complexity is O(n3). To demonstrate the performance of the proposed algorithm, we not only compare the existing methods with standard benchmarks but also implement on physical systems, like DSP, FIR, and JPEG. The experimental results show that the proposed algorithms satisfy the requirements of the performance-oriented systems with limited resources. Hence, we have sufficient reason to believe that the runtime must be reasonable for general applications.

[1]  Ishfaq Ahmad,et al.  On Parallelizing the Multiprocessor Scheduling Problem , 1999, IEEE Trans. Parallel Distributed Syst..

[2]  C.-C. Kao,et al.  Technology mapping algorithm for heterogeneous field programmable gate arrays , 2002 .

[3]  K WallaceGregory The JPEG still picture compression standard , 1991 .

[4]  Yen-Tai Lai,et al.  An efficient algorithm for finding the minimal-area FPGA technology mapping , 2005, TODE.

[5]  Martin D. F. Wong,et al.  Network flow based circuit partitioning for time-multiplexed FPGAs , 1998, ICCAD '98.

[6]  Yao-Wen Chang,et al.  A clustering- and probability-based approach for time-multiplexed FPGA partitioning , 1998, 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051).

[7]  Wayne Luk,et al.  Run-Time Reconfiguration for a Reconfigurable Algorithmic Trading Engine , 2010, 2010 International Conference on Field Programmable Logic and Applications.

[8]  An-Yeu Wu,et al.  Area-Efficient Scalable MAP Processor Design for High-Throughput Multistandard Convolutional Turbo Decoding , 2011, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[9]  Gregory K. Wallace,et al.  The JPEG still picture compression standard , 1992 .

[10]  Nikil D. Dutt,et al.  APEX: access pattern based memory architecture exploration , 2001, International Symposium on System Synthesis (IEEE Cat. No.01EX526).

[11]  Jhing-Fa Wang,et al.  Temporal Partitioning Data Flow Graphs for Dynamically Reconfigurable Computing , 2007, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[12]  Mariette Awad,et al.  FPGA supercomputing platforms: A survey , 2009, 2009 International Conference on Field Programmable Logic and Applications.

[13]  Li Shang,et al.  Hardware-software co-synthesis of low power real-time distributed embedded systems with dynamically reconfigurable FPGAs , 2002, Proceedings of ASP-DAC/VLSI Design 2002. 7th Asia and South Pacific Design Automation Conference and 15h International Conference on VLSI Design.

[14]  Malgorzata Marek-Sadowska,et al.  Partitioning Sequential Circuits on Dynamically Reconfigurable FPGAs , 1999, IEEE Trans. Computers.

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

[16]  Charles E. Stroud,et al.  Online Fault Tolerance for FPGA Logic Blocks , 2007, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[17]  Ronald F. DeMara,et al.  A Multilayer Framework Supporting Autonomous Run-Time Partial Reconfiguration , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[18]  Yen-Tai Lai,et al.  A technology mapping algorithm for heterogeneous FPGAs , 2003, ASP-DAC '03.

[19]  Sin Ming Loo,et al.  Case study of finite resource optimization in FPGA using genetic algorithm , 2009, GEC '09.

[20]  John Wawrzynek,et al.  MARC: A Many-Core Approach to Reconfigurable Computing , 2010, 2010 International Conference on Reconfigurable Computing and FPGAs.

[21]  Zhang Xing,et al.  A novel reconfigurable operator based IC design methodology for multimedia processing , 2009, TENCON 2009 - 2009 IEEE Region 10 Conference.

[22]  Pierre G. Paulin,et al.  Force-directed scheduling for the behavioral synthesis of ASICs , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[23]  Iouliia Skliarova A Multimedia Tool for Teaching Reconfigurable Computing , 2009, 2009 Second International Conference on Computer and Electrical Engineering.

[24]  Nikil D. Dutt,et al.  Physically-aware HW-SW partitioning for reconfigurable architectures with partial dynamic reconfiguration , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[25]  B. Ouni,et al.  Synthesis and Time Partitioning for Reconfigurable Systems , 2004, Des. Autom. Embed. Syst..

[26]  Yong C. Kim,et al.  A dynamically reconfigurable Field Programmable Gate Array hardware foundation for security applications , 2008, 2008 International Conference on Field-Programmable Technology.

[27]  Martin Middendorf,et al.  Hyperreconfigurable architectures for fast run time reconfiguration , 2004, 12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.

[28]  Vikram K. Narayana,et al.  Reconfiguration and Communication-Aware Task Scheduling for High-Performance Reconfigurable Computing , 2010, TRETS.

[29]  Yeong-Kang Lai,et al.  VLSI architecture of the reconfigurable computing engine for digital signal processing applications , 2004, 2004 IEEE International Symposium on Circuits and Systems (IEEE Cat. No.04CH37512).

[30]  Ranga Vemuri,et al.  Fine-grained and coarse-grained behavioral partitioning with effective utilization of memory and design space exploration for multi-FPGA architectures , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[31]  Florian Dittmann,et al.  Caching in Real-Time Reconfiguration Port Scheduling , 2007, 2007 International Conference on Field Programmable Logic and Applications.

[32]  Dimitrios Soudris,et al.  A methodology for partitioning DSP applications in hybrid reconfigurable systems , 2005, 2005 IEEE International Symposium on Circuits and Systems.

[33]  Kam-Wing Ng,et al.  A Combined Approach to High-Level Synthesis for Dynamically Reconfigurable Systems , 2000, FPL.

[34]  Masato Motomura,et al.  A-combined approach to high-level synthesis for dynamically reconfigurable systems , 2004, IEEE Transactions on Computers.

[35]  Vikram K. Narayana,et al.  Efficient Mapping of Task Graphs onto Reconfigurable Hardware Using Architectural Variants , 2012, IEEE Transactions on Computers.

[36]  Masanori Hariyama,et al.  Implementation of a Partially Reconfigurable Multi-Context FPGA Based on Asynchronous Architecture , 2009, IEICE Trans. Electron..

[37]  Nikil D. Dutt,et al.  Exploiting Application Data-Parallelism on Dynamically Reconfigurable Architectures: Placement and Architectural Considerations , 2009, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[38]  Wayne H. Wolf,et al.  TGFF: task graphs for free , 1998, Proceedings of the Sixth International Workshop on Hardware/Software Codesign. (CODES/CASHE'98).

[39]  Yao-Wen Chang,et al.  Generic ILP-based approaches for time-multiplexed FPGA partitioning , 2001, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[40]  Malgorzata Marek-Sadowska,et al.  Partitioning sequential circuits on dynamically reconfiguable FPGAs , 1998, FPGA '98.

[41]  Yajun Ha,et al.  An Area-Efficient Timing-Driven Routing Algorithm for Scalable FPGAs with Time-Multiplexed Interconnects , 2008, 2008 16th International Symposium on Field-Programmable Custom Computing Machines.

[42]  Evangeline F. Y. Young,et al.  Temporal logic replication for dynamically reconfigurable FPGA partitioning , 2002, ISPD '02.

[43]  Jari Nurmi,et al.  A Genetic Algorithm for Scheduling Tasks onto Dynamically Reconfigurable Hardware , 2007, 2007 IEEE International Symposium on Circuits and Systems.

[44]  Harold N. Gabow,et al.  An Efficient Implementation of Edmonds' Algorithm for Maximum Matching on Graphs , 1976, JACM.

[45]  Dinesh Bhatia,et al.  Temporal Partitioning and Scheduling Data Flow Graphs for Reconfigurable Computers , 1999, IEEE Trans. Computers.

[46]  Insup Lee,et al.  Timed and Resource-Oriented Statecharts for Embedded Software , 2010, IEEE Transactions on Industrial Informatics.

[47]  Nikil D. Dutt,et al.  Selective Band width and Resource Management in Scheduling for Dynamically Reconfigurable Architectures , 2007, 2007 44th ACM/IEEE Design Automation Conference.