Towards the Design of Systolic Genetic Search

This paper elaborates on a new, fresh parallel optimization algorithm specially engineered to run on Graphic Processing Units (GPUs). The underlying operation relates to Systolic Computation. The algorithm, called Systolic Genetic Search (SGS) is based on the synchronous circulation of solutions through a grid of processing units and tries to profit from the parallel architecture of GPUs. The proposed model has shown to outperform a random search and two genetic algorithms for solving the Knapsack Problem over a set of increasingly sized instances. Additionally, the parallel implementation of SGS on a GeForce GTX 480 graphics processing unit (GPU), obtaining a runtime reduction up to 35 times.

[1]  T. Crainic,et al.  Parallel Meta-Heuristics , 2010 .

[2]  David Pisinger,et al.  A Minimal Algorithm for the 0-1 Knapsack Problem , 1997, Oper. Res..

[3]  Martín Pedemonte,et al.  PUGACE, a cellular Evolutionary Algorithm framework on GPUs , 2010, IEEE Congress on Evolutionary Computation.

[4]  L. Darrell Whitley,et al.  Cellular Genetic Algorithms , 1993, ICGA.

[5]  Griffin Caprio,et al.  Parallel Metaheuristics , 2008, IEEE Distributed Systems Online.

[6]  Jie Cheng,et al.  Programming Massively Parallel Processors. A Hands-on Approach , 2010, Scalable Comput. Pract. Exp..

[7]  H. T. Kung,et al.  Systolic Arrays for (VLSI). , 1978 .

[8]  Martyn Amos,et al.  Parallelization strategies for ant colony optimisation on GPUs , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[9]  Wolfgang Banzhaf,et al.  Fast Genetic Programming and Artificial Developmental Systems on GPUs , 2007, 21st International Symposium on High Performance Computing Systems and Applications (HPCS'07).

[10]  Ying Tan,et al.  GPU-based parallel particle swarm optimization , 2009, 2009 IEEE Congress on Evolutionary Computation.

[11]  Sifa Zhang,et al.  Implementation of Parallel Genetic Algorithm Based on CUDA , 2009, ISICA.

[12]  Enrique Alba,et al.  Parallelism and evolutionary algorithms , 2002, IEEE Trans. Evol. Comput..

[13]  Renato A. Krohling,et al.  Differential evolution algorithm on the GPU with C-CUDA , 2010, IEEE Congress on Evolutionary Computation.

[14]  George D. Magoulas,et al.  Strategies to minimise the total run time of cyclic graph based genetic programming with GPUs , 2009, GECCO '09.

[15]  Martín Pedemonte,et al.  Bitwise operations for GPU implementation of genetic algorithms , 2011, GECCO '11.

[16]  Enrique Alba,et al.  Cellular Genetic Algorithm on Graphic Processing Units , 2010, NICSO.

[17]  H. T. Kung Why systolic architectures? , 1982, Computer.

[18]  William B. Langdon,et al.  Graphics processing units and genetic programming: an overview , 2011, Soft Comput..

[19]  David Pisinger,et al.  Core Problems in Knapsack Algorithms , 1999, Oper. Res..

[20]  Enrique Alba,et al.  Parallel Metaheuristics: A New Class of Algorithms , 2005 .

[21]  Enrique Alba,et al.  Systolic Optimization on GPU Platforms , 2011, EUROCAST.

[22]  David Pisinger,et al.  Where are the hard knapsack problems? , 2005, Comput. Oper. Res..

[23]  Wolfgang Banzhaf,et al.  Implementing cartesian genetic programming classifiers on graphics processing units using GPU.NET , 2011, GECCO.

[24]  Ali R. Hurson,et al.  General-purpose systolic arrays , 1993, Computer.