Systolic genetic search, a systolic computing-based metaheuristic

In this paper, we propose a new parallel optimization algorithm that combines ideas from the fields of metaheuristics and Systolic Computing. The algorithm, called Systolic Genetic Search (SGS), is designed to explicitly exploit the high degree of parallelism available in modern Graphics Processing Unit (GPU) architectures. In SGS, solutions circulate synchronously through a grid of processing cells, which apply adapted evolutionary operators on their inputs to compute their outputs that are then ejected from the cells and continue moving through the grid. Four different variants of SGS are experimentally studied for solving two classical benchmarking problems and a real-world application. An extensive experimental analysis, which considered several instances for each problem, shows that three of the SGS variants designed are highly effective since they can obtain the optimal solution in almost every execution for the instances and problems studied, as well as they outperform a Random Search (sanity check) and two Genetic Algorithms. The parallel implementation on GPU of the proposed algorithm has achieved a high performance obtaining runtime reductions from the sequential implementation that, depending on the instance considered, can arrive to around a hundred times, and have also exhibited a good scalability behavior when solving highly dimensional problem instances.

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

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

[3]  Kimberly Abts A ’Hands-On’ Approach , 2012 .

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

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

[6]  Christian Blum,et al.  Metaheuristics in combinatorial optimization: Overview and conceptual comparison , 2003, CSUR.

[7]  David R. Kaeli,et al.  Heterogeneous Computing with OpenCL - Revised OpenCL 1.2 Edition , 2012 .

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

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

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

[11]  Douglas P. Zipes,et al.  Braunwald's Heart Disease: A Textbook of Cardiovascular Medicine, 2-Volume Set, 10th Edition , 2011 .

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

[13]  D. Sheskin Handbook of parametric and nonparametric statistical procedures, 2nd ed. , 2000 .

[14]  David A. Patterson,et al.  Computer Architecture, Fifth Edition: A Quantitative Approach , 2011 .

[15]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[16]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[17]  Enrique Alba,et al.  Systolic neighborhood search on graphics processing units , 2014, Soft Comput..

[18]  Jasbir S. Arora,et al.  Survey of multi-objective optimization methods for engineering , 2004 .

[19]  Xin Yao,et al.  Progress in Evolutionary Computation , 1995, Lecture Notes in Computer Science.

[20]  P. Libby,et al.  Braunwald's Heart Disease: A Textbook of Cardiovascular Medicine, 2-Volume Set, 9th Edition Expert Consult Premium Edition €“ Enhanced Online Features , 2011 .

[21]  Graham M. Megson,et al.  Synthesis of a systolic array genetic algorithm , 1998, Proceedings of the First Merged International Parallel Processing Symposium and Symposium on Parallel and Distributed Processing.

[22]  Victor J. Rayward-Smith,et al.  The next release problem , 2001, Inf. Softw. Technol..

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

[24]  Enrique Alba,et al.  Design of Cellular Memetic Algorithms , 2008 .

[25]  Qingfu Zhang,et al.  MOEA/D: A Multiobjective Evolutionary Algorithm Based on Decomposition , 2007, IEEE Transactions on Evolutionary Computation.

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

[27]  De Giusti,et al.  Structured Parallel Programming: patterns for efficient computation , 2015 .

[28]  Martín Pedemonte,et al.  New Ideas in Parallel Metaheuristics on GPU: Systolic Genetic Search , 2013, Massively Parallel Evolutionary Computation on GPGPUs.

[29]  Douglas L. Mann,et al.  Braunwald’s Heart Disease: A Textbook of Cardiovascular Medicine. 8th edition , 2018 .

[30]  William B. Langdon,et al.  A SIMD Interpreter for Genetic Programming on GPU Graphics Cards , 2007, EuroGP.

[31]  Kaisa Miettinen,et al.  Nonlinear multiobjective optimization , 1998, International series in operations research and management science.

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

[33]  Kalyanmoy Deb,et al.  Massive Multimodality, Deception, and Genetic Algorithms , 1992, PPSN.

[34]  A. Guyton,et al.  Textbook of Medical Physiology , 1961 .

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

[36]  Shigeyoshi Tsutsui,et al.  Fast QAP solving by ACO with 2-opt local search on a GPU , 2011, 2011 IEEE Congress of Evolutionary Computation (CEC).

[37]  David Kaeli,et al.  Heterogeneous Computing with OpenCL , 2011 .

[38]  Steve Furber ARM System-on-Chip Architecture , 2000 .

[39]  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.

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

[41]  Tom R. Halfhill NVIDIA's Next-Generation CUDA Compute and Graphics Architecture, Code-Named Fermi, Adds Muscle for Parallel Processing , 2009 .

[42]  Yuanyuan Zhang,et al.  The multi-objective next release problem , 2007, GECCO '07.

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

[44]  Margaret M. Wiecek,et al.  International Series in Operations Research and Management Science , 2016 .

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

[46]  R. K. Ursem Multi-objective Optimization using Evolutionary Algorithms , 2009 .

[47]  Enrique Alba,et al.  A study of the bi-objective next release problem , 2010, Empirical Software Engineering.

[48]  David J. Sheskin,et al.  Handbook of Parametric and Nonparametric Statistical Procedures , 1997 .

[49]  Nicolas Lachiche,et al.  EASEA: specification and execution of evolutionary algorithms on GPGPU , 2011, Soft Computing.

[50]  Enrique Alba,et al.  A multi-GPU implementation of a Cellular Genetic Algorithm , 2010, IEEE Congress on Evolutionary Computation.

[51]  Enrique Alba,et al.  Cellular genetic algorithms , 2014, GECCO.

[52]  Pinaki Mazumder,et al.  A Systolic Architecture for High Speed Hypergraph Partitioning Using a Genetic Algorithm , 1993, Evo Workshops.

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

[54]  Arch D. Robison,et al.  Chapter 3 – Patterns , 2012 .

[55]  E. Alba,et al.  Towards the Design of Systolic Genetic Search , 2012, 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum.

[56]  Sunčana Kukolja Taradi,et al.  Textbook of Medical Physiology (Guyton & Hall) , 2006 .

[57]  Naga K. Govindaraju,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007 .

[58]  Mario Cortina-Borja,et al.  Handbook of Parametric and Nonparametric Statistical Procedures, 5th edn , 2012 .