Using multi-objective design space exploration to enable run-time resource management for reconfigurable architectures

Resource run-time managers have been shown particularly effective for coordinating the usage of the hardware resources by multiple applications, eliminating the necessity of a full-blown operating system. For this reason, we expect that this technology will be increasingly adopted in emerging multi-application reconfigurable systems. This paper introduces a fully automated design flow that exploits multi-objective design space exploration to enable runtime resource management for the Molen reconflgurable architecture. The entry point of the design flow is the application source code; our flow is able to heuristically determine a set of candidate hardware/software configurations of the application (i.e., operating points) that trade off the occupation of the reconflgurable fabric (in this case, an FPGA), the load of the master processor and the performance of the application itself. This information enables a run-time manager to exploit more efficiently the available system resources in the context of multiple applications. We present the results of an experimental campaign where we applied the proposed design flow to two reference audio applications mapped on the Molen architecture. The analysis proved that the overhead of the design space exploration and operating points extraction with respect to the original Molen flow is within reasonable bounds since the final synthesis time still represents the major contribution. Besides, we have found that there is a high variance in terms of execution time speedup associated with the operating points of the application (characterized by a different usage of the FPGA) which can be exploited by the run-time manager to increase/decrease the quality of service of the application depending on the available resources1.

[1]  Wayne Luk,et al.  The hArtes CarLab: A New Approach to Advanced Algorithms Development for Automotive Audio , 2010 .

[2]  Alan D. George,et al.  Novo-G: At the Forefront of Scalable Reconfigurable Supercomputing , 2011, Computing in Science & Engineering.

[3]  Bjorn De Sutter,et al.  Implementation of a Coarse-Grained Reconfigurable Media Processor for AVC Decoder , 2008, J. Signal Process. Syst..

[4]  Stamatis Vassiliadis,et al.  The MOLEN polymorphic processor , 2004, IEEE Transactions on Computers.

[5]  Antti Koski,et al.  Digital car audio system , 1993 .

[6]  Pier Luca Lanzi,et al.  Ant Colony Heuristic for Mapping and Scheduling Tasks and Communications on Heterogeneous Embedded Systems , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[7]  Gianluca Palermo,et al.  Automatic Parallelization of Sequential Specifications for Symmetric MPSoCs , 2007, IESS.

[8]  Paolo Bonzini,et al.  EGRA: A Coarse Grained Reconfigurable Architectural Template , 2011, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[9]  Marco Laumanns,et al.  Analysis and applications of evolutionary multiobjective optimization algorithms , 2003 .

[10]  Nikil D. Dutt,et al.  Integrating Physical Constraints in HW-SW Partitioning for Architectures With Partial Dynamic Reconfiguration , 2006, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[11]  Wayne Luk,et al.  HArtes: Hardware-Software Codesign for Heterogeneous Multicore Platforms , 2010, IEEE Micro.

[12]  Stamatis Vassiliadis,et al.  DWARV: Delftworkbench Automated Reconfigurable VHDL Generator , 2007, 2007 International Conference on Field Programmable Logic and Applications.

[13]  Sandra Brix,et al.  Wave Field Synthesis , 2009, 2009 3DTV Conference: The True Vision - Capture, Transmission and Display of 3D Video.

[14]  Tony M. Brewer,et al.  Instruction Set Innovations for the Convey HC-1 Computer , 2010, IEEE Micro.

[15]  Thomas J. Ashby,et al.  MPA: Parallelizing an Application onto a Multicore Platform Made Easy , 2009, IEEE Micro.

[16]  Chantal Ykman-Couvreur,et al.  Linking run-time resource management of embedded multi-core platforms with automated design-time exploration , 2011, IET Comput. Digit. Tech..

[17]  Wayne Luk,et al.  A high-level compilation toolchain for heterogeneous systems , 2009, 2009 IEEE International SOC Conference (SOCC).

[18]  J.G.F. Coutinho,et al.  Integrated Hardware/Software Codesign for Heterogeneous Computing Systems , 2008, 2008 4th Southern Conference on Programmable Logic.

[19]  Chantal Ykman-Couvreur,et al.  Fast multidimension multichoice knapsack heuristic for MP-SoC runtime management , 2011, TECS.

[20]  Vittorio Zaccaria,et al.  ARTE: An Application-specific Run-Time management framework for multi-core systems , 2011, 2011 IEEE 9th Symposium on Application Specific Processors (SASP).

[21]  Koen Bertels,et al.  High level quantitative hardware prediction modeling using statistical methods , 2011, 2011 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.