Discovering the optimum number of processors and the distribution of data on distributed memory parallel computers for a given algorithm is a demanding task. A memetic algorithm (MA) is proposed here to find the best number of processors and the best data distribution method to be used for each stage of a parallel program. Steady state memetic algorithm is compared with transgenerational memetic algorithm using different crossover operators and hill-climbing methods. A self-adaptive MA is also implemented, based on a multimeme strategy. All the experiments are carried out on computationally intensive, communication intensive, and mixed problem instances. The MA performs successfully for the illustrative problem instances.
Similar content being viewed by others
References
Anderson J., Lam M., (1993) Global Optimizations for Parallelism and Locality on Scalable Parallel Machines, in Proc. of the ACM SIGPLAN Conf. on Programming Language Design and Implementation, 112–125 (1993).
P. Banerjee, J. Chandy, M. Gupta, E. Hodge, J. Holm, A. Lain, D. Palermo, S. Ramaswamy, and E. Su, The Paradigm Compiler for Distributed-Memory Multicomputers, IEEE Comput. October: 37–47 (1995).
Beaumont O., Boudet V., Petitet A., Rastello F., Robert Y. (2001) A Proposal for Heterogeneous Cluster Scalapack. IEEE Trans. Comput. 50(10):1052–1071
Beaumont O., Boudet V., Rastello F., Robert Y., (2001) Matrix Multiplication on Heterogeneous Platforms, IEEE Trans. Parall. Distri. Syst. 12(10):1033–1051
R. Bixby, K. Kennedy, and U. Kremer, Automatic Data Layout using 0-1 Integer Programming, in Proc. Int. Conf. on Parallel Architectures and Compilation Techniques (PACT’94) pp. 111–122 (1994).
H. Bremermann, Optimization Through Evolution and Recombination, Self-Organizing Syst. 93–106 (1962).
Chen T., Sheu J. (1994) Communication-Free Data Allocation Techniques for Parallelizing Compilers on Multicomputers, IEEE Trans. Parall. Distri. Syst. 5:924–938
J. Choi, J. Dongarra, and D. W. Walker, The design of a parallel, Dense Linear Algebra Software Library: Reduction to Hessenberg, Tridiagonal and Bidiagonal Form, in Proc. of the 2nd Workshop on Environments and Tools for Parallel Scientific Computing, pp. 98–111 (1994).
H.G. Cobb, An investigation into the use of hypermutation as an adaptive operator in Genetic Algorithms Having Continuous, Time-dependent Nonstationary Environment, NRL Memorandum Report 6760 (1990).
K.A. De Jong, An Analysis of the Behavior of a Class of Genetic Adaptive Systems, PhD Thesis, University of Michigan (1975).
Fraser A. (1957) Simulation of Genetic Systems by Automatic Digital Computers, 2 Vols, Aust. J Biol. Sci. 10:484–491
Friedman G.J. (1959) Digital Simulation of An Evolutionary Process. Gen. Syst. Yearbook 4:171–184
Goldberg D.E. (1989) Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley, Reading, MA
Holland J. H. Adaptation in Natural and Artificial Systems. University of Michican Press, (1975).
Huang C.H., Sadayappan P. (1993) Communication-Free Hyperplane Partitioning of Nested Loops. J. Parall. and Distr. Comput. 19:90–102
K. Ikudome, G. Fox, A. Kolawa, and J. Flower, An Automatic and Symbolic Parallelization System for Distributed Memory Parallel Computers, in Proc. of 5th Distributed Memory Computing Conference, pp.1105–1114 (1990).
Karp A.H. (1987) Programming for Parallelism. IEEE Comput. 20(5):43–57
Knobe K., Lucas J., Steele G. (1990). Data Optimizations: Allocation of Arrays to Reduce Communication on SIMD machines. J. arall. Distr. Compu. 8(2):102–118
N. Krasnogor, Studies on the Theory and Design Space of Memetic Algorithms, PhD Thesis, University of the West of England (2002).
N. Krasnogor and J. Smith, Emergence of Profitable Search Strategies Based on a Simple Inheritance Mechanism, in Proc. of the 2001 International Genetic and Evolutionary Computation Conference (GECCO2001) (2001).
Krasnogor N., Gustafson S. (2004) A Study on the use of “Self-Generation” in Memetic Algorithms. Nat. Comput. 3(1):53–76
Lee P. (1997) Efficient algorithms for Data Distribution on Distributed Memory Parallel Computers. IEEE Trans. Parall. Distr. Syst. 8(8):825–839
J. Li, and M. Chen, Index Domain Alignment: Minimizing Costs of Cross-referencing between Distributed Arrays, in Proc. of the Third Symp. on the Frontiers of Massively Parallel Computation, pp. 424–433 (1990).
Mace M. (1987) Memory Storage Patterns in Parallel Processing. Kluwer Academic, Dordrecht
Mitchell M., Forrest S. (1994) Genetic Algorithms and Artificial Life. Artificial Life 1(3):267–289
J. Mohan, Performance of Parallel Programs, PhD dissertation, Dept. of Computer Science, Carnegie-Mellon University, (1984).
P. Moscato and M. G. Norman, A Memetic Approach for the Traveling Salesman Problem Implementation of a Computational Ecology for Combinatorial Optimization on Message-Passing Systems, Parall. Comput. Transputer Appl. 177–186 (1992).
Onbasioglu E., Ozdamar L. (2003) Optimization of Data Distribution and Processor Allocation Problem using Simulated Annealing. J. Supercomp. 25:237–253
Onbasioglu E., Paker Y. (1997). A Comparative Workload-based Methodology for Performance Evaluation of Parallel Computers. Future Gen. Comput. Syst. 12:512–545
E. Ozcan An Empirical Investigation on Memes, Self-generation and Nurse Rostering, in Proc. of the 6th International Conference on the Practice and Theory of Automated Timetabling, 246–263 (2006).
E. Ozcan, Memetic Algorithms for Nurse Rostering, in P. Yolum, T. Güngör, F. Gürgen, and C. Özturan, (Eds.) Proc. of the 20th International Symposium on Computer and Information Sciences, Lecture Notes in Computer Science, Springer-Verlag. pp.482–492 (2005).
E. Ozcan and C. K. Mohan, Steady State Memetic Algorithm for Partial Shape Matching, V. William Porto, N. Saravanan, Donald E. Waagen, and A. E. Eiben (Eds.) in Evolutionary Programming VII. 7th International Conference, EP98, Lecture Notes in Computer Science. Springer. vol. 1447:527–536. 1998.
E. Ozcan and E. Onbasioglu, Genetic Algorithms for Parallel Code Optimization. in Proc. of 2004 IEEE Congress on Evolutionary Computation, 2:pp.1775–1781 (2004).
D. Palermo, Compiler Techniques for Optimizing Communication and Data Distribution for Distributed Memory Multicomputers, PhD thesis, University of Illinois at Urbana-Champaign (1996).
Prügel-Bennett A., Shapiro J.L. (1997) An Analysis of Genetic Algorithms Using Statistical Mechanics. Physica D 104:75–114
N. J. Radcliffe and P. D. Surry, Formal Memetic Algorithms, Evol. Comput. AISB Workshop. 1–16 (1994).
Ramanujan J., Sadayappan P. (1991) Compile-time Techniques for Data Distribution in Distributed Memory Machines. IEEE Trans. Parall. Distr. Syst. 2(4):472–482
Rauber T., Runger G. (2000) Deriving Array Distributions by Optimization Techniques. J. Supercomput. 15:271–293
R. Sierra, Margarita, M. and C. A. Coello Coello, On the Study of Some Theoretical Aspects of Genetic Algorithms, Technical Report EVOCINV-02–2003, Evolutionary Computation Group at CINVESTAV, Sección de Computación, Departamento de Ingeniería Eléctrica, CINVESTAV-IPN, México (2003).
Smith J.E., Fogarty T.C. (1997) Operator and Parameter Adaptation in Genetic Algorithms. Soft Comput. 12:81–87
L. D. Whitley and M. D. Vose, Foundations of Genetic Algorithms 3, Morgan Kaufmann Los Altos, (1995).
S. Wholey, Automatic Data Mapping for Distributed Memory Parallel Computers, Proc. Int. Conf. Supercomput. pp. 25–34 (1992).
M.E. Wolf and M. S. Lam, A Data Locality Optimizing Algorithm. in. Proc. ACM SIGPLAN Conf. on Programming Language Design and Implementation, pp. 30–44 (1991).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Özcan, E., Onbaşioğlu, E. Memetic Algorithms for Parallel Code Optimization. Int J Parallel Prog 35, 33–61 (2007). https://doi.org/10.1007/s10766-006-0026-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-006-0026-x