Evolutionary algorithms for the mapping of pipelined applications onto heterogeneous embedded systems

In this paper, we compare four algorithms for the mapping of pipelined applications on a heterogeneous multiprocessor platform implemented using Field Programmable Gate Arrays (FPGAs) with customizable processors. Initially, we describe the framework and the model of pipelined application we adopted. Then, we focus on the problem of mapping a set of pipelined applications onto a heterogeneous multiprocessor platform and consider four search algorithms: Tabu Search, Simulated Annealing, Genetic Algorithms, and the Bayesian Optimization Algorithm. We compare the performance of these four algorithms on a set of synthetic problems and on two real-world applications (the JPEG image encoding and the ADPCM sound encoding). Our results show that on our framework the Bayesian Optimization Algorithm outperforms all the other three methods for the mapping of pipelined applications.

[1]  Petru Eles,et al.  System Level Hardware/Software Partitioning Based on Simulated Annealing and Tabu Search , 1997, Des. Autom. Embed. Syst..

[2]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[3]  William J. Dally,et al.  Stream Processors: Progammability and Efficiency , 2004, ACM Queue.

[4]  Michael I. Gordon,et al.  Exploiting coarse-grained task, data, and pipeline parallelism in stream programs , 2006, ASPLOS XII.

[5]  Yves Robert,et al.  Mapping pipeline skeletons onto heterogeneous platforms , 2007, J. Parallel Distributed Comput..

[6]  Martin Pelikan,et al.  Hierarchical Bayesian optimization algorithm: toward a new generation of evolutionary algorithms , 2010, SICE 2003 Annual Conference (IEEE Cat. No.03TH8734).

[7]  Sri Parameswaran,et al.  Synthesis of heterogeneous pipelined multiprocessor systems using ILP: jpeg case study , 2008, CODES+ISSS '08.

[8]  David M. Nicol,et al.  Improved Algorithms for Mapping Pipelined and Parallel Computations , 1991, IEEE Trans. Computers.

[9]  Gang Wang,et al.  Application partitioning on programmable platforms using the ant colony optimization , 2006, J. Embed. Comput..

[10]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[11]  David E. Goldberg,et al.  Linkage Problem, Distribution Estimation, and Bayesian Networks , 2000, Evolutionary Computation.

[12]  Wayne H. Wolf The future of multiprocessor systems-on-chips , 2004, Proceedings. 41st Design Automation Conference, 2004..

[13]  Sri Parameswaran,et al.  Design Methodology for Pipelined Heterogeneous Multiprocessor System , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[14]  Marc Parizeau,et al.  Open BEAGLE: A New C++ Evolutionary Computation Framework , 2002, GECCO.

[15]  Benfano Soewito,et al.  Mapping task graphs onto Network Processors using genetic algorithm , 2008, 2008 IEEE/ACS International Conference on Computer Systems and Applications.

[16]  Hyunseok Lee,et al.  SODA: A Low-power Architecture For Software Radio , 2006, 33rd International Symposium on Computer Architecture (ISCA'06).

[17]  Martin Grajcar Genetic list scheduling algorithm for scheduling and allocation on a loosely coupled heterogeneous multiprocessor system , 1999, DAC '99.

[18]  Paul M. Chau,et al.  Macro pipelining based scheduling on high performance heterogeneous multiprocessor systems , 1995, IEEE Trans. Signal Process..

[19]  Ranga Vemuri,et al.  A tool for partitioning and pipelined scheduling of hardware-software systems , 1998, Proceedings. 11th International Symposium on System Synthesis (Cat. No.98EX210).

[20]  Chung-Ta King,et al.  Pipelined Data Parallel Algorithms-I: Concept and Modeling , 1990, IEEE Trans. Parallel Distributed Syst..

[21]  D. E. Goldberg,et al.  Genetic Algorithms in Search , 1989 .