Synthesis of reconfigurable high-performance multicore systems

Reconfigurable high-performance computing systems (RHPC) have been attracting more and more attention over the past few years. RHPC systems are a promising solution for accelerating system performance, lowering power consumption and minimizing operation cost. In order to achieve high performance on this hybrid system, it is important to effectively explore the design space, which includes accelerator synthesis, resource allocation and job scheduling. In this paper we propose novel algorithms for reconfigurable resource allocation and job scheduling to optimize performance of multicore RHPC systems. Specifically, we first propose an interesting approximation algorithm to assign jobs to processors with consideration of coprocessors at the global optimization step. Then we present an optimal solution for coprocessor selection in the local optimization step. In this paper we also demonstrate that designers can quickly explore a large number of accelerator design choices with the help of high-level synthesis tools. Experiments show that our proposed techniques provide efficient solutions for real-life benchmarks and generate higher quality of results. When compared to other heuristic algorithms, our results can achieve up to 47% performance improvement.

[1]  Seth Copen Goldstein,et al.  PipeRench: A Reconfigurable Architecture and Compiler , 2000, Computer.

[2]  B. Ramakrishna Rau,et al.  Fast Design Space Exploration Through Validity and Quality Filtering of Subsystem Designs , 2000 .

[3]  Pedro C. Diniz,et al.  Using estimates from behavioral synthesis tools in compiler-directed design space exploration , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[4]  Edusmildo Orozco,et al.  Reconfigurable Computing. Accelerating Computation with Field-Programmable Gate Arrays , 2007, Scalable Comput. Pract. Exp..

[5]  Éva Tardos,et al.  An approximation algorithm for the generalized assignment problem , 1993, Math. Program..

[6]  Raymond G. Vickson,et al.  Two Single Machine Sequencing Problems Involving Controllable Job Processing Times , 1980 .

[7]  Klaus Jansen,et al.  Parallel Machine Scheduling Problems with Controllable Processing Times , 2000, ICALP Satellite Workshops.

[8]  John Wawrzynek,et al.  The Garp Architecture and C Compiler , 2000, Computer.

[9]  Jason Cong,et al.  Lithographic aerial image simulation with FPGA-based hardwareacceleration , 2008, FPGA '08.

[10]  Maurizio Palesi,et al.  Multi-objective design space exploration using genetic algorithms , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[11]  Ronald L. Graham,et al.  Bounds for certain multiprocessing anomalies , 1966 .

[12]  Jason Cong,et al.  MC-Sim: An efficient simulation tool for MPSoC designs , 2008, 2008 IEEE/ACM International Conference on Computer-Aided Design.

[13]  Jeff Mason,et al.  CHiMPS: A C-level compilation flow for hybrid CPU-FPGA architectures , 2008, 2008 International Conference on Field Programmable Logic and Applications.

[14]  Scott Hauck,et al.  Reconfigurable computing: a survey of systems and software , 2002, CSUR.

[15]  B. Ramakrishna Rau,et al.  PICO: Automatically Designing Custom Computers , 2002, Computer.

[16]  P. K. Dubey,et al.  Recognition, Mining and Synthesis Moves Comp uters to the Era of Tera , 2005 .

[17]  David S. Johnson,et al.  `` Strong '' NP-Completeness Results: Motivation, Examples, and Implications , 1978, JACM.

[18]  Robert A. Walker,et al.  A solution methodology for exact design space exploration in a three-dimensional design space , 1997, IEEE Trans. Very Large Scale Integr. Syst..

[19]  Gang Wang,et al.  Design space exploration using time and resource duality with the ant colony optimization , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[20]  Maya Gokhale,et al.  NAPA C: compiling for a hybrid RISC/FPGA architecture , 1998, Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines (Cat. No.98TB100251).

[21]  Pedro C. Diniz,et al.  A compiler approach to fast hardware design space exploration in FPGA-based systems , 2002, PLDI '02.

[22]  Scott Hauck,et al.  Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation , 2007 .

[23]  D. Bhatia,et al.  Reconfigurable computing , 1997, Proceedings Tenth International Conference on VLSI Design.