A Survey: Genetic Algorithms and the Fast Evolving World of Parallel Computing Asim Munawar, Mohamed Wahib Grad. School of Info. Science & Tech. Hokkaido University, Sapporo, Japan {asim,wahibium}@uva.cims.hokudai.ac.jp Masaharu Munetomo, Kiyoshi Akama Information Initiative Center Hokkaido University, Sapporo, Japan {munetomo,akama}@iic.hokudai.ac.jp Abstract This paper gives a survey about the impact of mod- ern parallel/distributed computing paradigms over Paral- lel Genetic Algorithms (PGAs). Helping the GA commu- nity to feel more comfortable with the evolving parallel paradigms, and marking some areas of research for the High-Performance Computing (HPC) community is the ma- jor inspiration behind this survey. In the modern parallel computing paradigms we have considered only two major areas that have evolved very quickly during the past few years, namely, multicore computing and Grid computing. We discuss the challenges involved, and give potential solu- tions for these challenges. We also propose a hierarchical PGA suitable for Grid environment with multicore compu- tational resources. 1 Introduction A Genetic Algorithm (GA) is a search technique used to find exact or approximate solutions to optimization and search problems. GAs are categorized as global search heuristics. They are a particular class of Evolutionary Al- gorithms (EAs) that use techniques inspired by evolution- ary biology such as inheritance, mutation, selection, and crossover. GAs construct a population of probable solutions and evolve it over the generations to find a better individual that is close to the optimal solution. GAs usually require a bigger population for solving non- trivial problems, this leads to higher computational cost [3]. Parallel GAs (PGAs) is a technique used to reduce this com- putational cost. As GAs mimic the process of natural evo- lution. In nature the individuals do not operate as a single population in which a given individual can mate with any other partner in the population. Rather, species live in and reproduce within subgroups or neighbors only. PGA intro- duces this concept of interconnected sub populations in arti- ficial evolution[2]. As a result, PGAs often lead to superior numerical performance (not only to faster algorithms), even when executed in a single processor environment[10]. Even though, GAs have a tremendous potential for par- allelization, but up to the present time it is a very common practice to implement GAs in a serial fashion for medium complexity problems. This trend prevailed due to a con- tinuous increase in clock speeds over the last two decades but, as rising clock speeds mean rise in power consumption, in this decade multicore technology with low clock speeds is becoming more prominent. Multicore strategy helps to achieve high performance with low clock speeds, resulting in low power consumption. Other trends that are clearly visible during this decade include: 1. Distributed Computing: Distributed computing allows the use of resources distributed at global distances. We will only concentrate on the most distributed form of computing called Grid computing. Grid allows se- cure and coordinated sharing of globally distributed re- sources spanning several physical organizations [7]. 2. Data Deluge: Moore’s Law also applies to the sensors, therefore amount of data is also increasing at same rate as the increase in computer’s performance. This phe- nomenon leads to a flood of data or “data deluge”[9]. All these changes make parallel and distributed algo- rithms more vital than ever before, and require us to rethink GA design and simulation strategies. We believe that with all its advantages, modern parallel computing paradigms bring complexity in the algorithm/simulation design (see Sect. 3), therefore, designers and programmers are reluc- tant to embrace the inevitable change in parallel computing paradigms. To bring this trend to an end is the basic inspi- ration behind this paper. We want the algorithm developers to feel more comfortable with the new parallel paradigms, at the same time we want to encourage the development of tools that can make this transition as smooth as possible for the application developers. The 10th IEEE International Conference on High Performance Computing and Communications 978-0-7695-3352-0/08 $25.00 © 2008 IEEE DOI 10.1109/HPCC.2008.77 897 The 10th IEEE International Conference on High Performance Computing and Communications 978-0-7695-3352-0/08 $25.00 © 2008 IEEE DOI 10.1109/HPCC.2008.77 897 The 10th IEEE International Conference on High Performance Computing and Communications 978-0-7695-3352-0/08 $25.00 © 2008 IEEE DOI 10.1109/HPCC.2008.77 897