Performance optimization of multi-core grammatical evolution generated parallel recursive programs

Gopinath Chennupati, R. Muhammad Atif Azad, Conor Ryan

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Although Evolutionary Computation (EC) has been used with considerable success to evolve computer programs, the majority of this work has targeted the production of serial code. Recent work with Grammatical Evolution (GE) produced Multi-core Grammatical Evolution (MCGE-II), a system that natively produces parallel code, including the ability to execute recursive calls in parallel. This paper extends this work by including practical constraints into the grammars and fitness functions, such as increased control over the level of parallelism for each individual. These changes execute the best-of-generation programs faster than the original MCGE-II with an average factor of 8.13 across a selection of hard problems from the literature. We analyze the time complexity of these programs and identify avoiding excessive parallelism as a key for further performance scaling. We amend the grammars to evolve a mix of serial and parallel code, which spawns only as many threads as is efficient given the underlying OS and hardware; this speeds up execution by a factor of 9.97.

Original languageEnglish
Title of host publicationGECCO 2015 - Proceedings of the 2015 Genetic and Evolutionary Computation Conference
EditorsSara Silva
PublisherAssociation for Computing Machinery, Inc
Pages1007-1014
Number of pages8
ISBN (Electronic)9781450334723
DOIs
Publication statusPublished - 11 Jul 2015
Event16th Genetic and Evolutionary Computation Conference, GECCO 2015 - Madrid, Spain
Duration: 11 Jul 201515 Jul 2015

Publication series

NameGECCO 2015 - Proceedings of the 2015 Genetic and Evolutionary Computation Conference

Conference

Conference16th Genetic and Evolutionary Computation Conference, GECCO 2015
Country/TerritorySpain
CityMadrid
Period11/07/1515/07/15

Keywords

  • Automatic parallel programming
  • Grammatical Evolution
  • Multi-cores
  • Openmp
  • Symbolic regression

Fingerprint

Dive into the research topics of 'Performance optimization of multi-core grammatical evolution generated parallel recursive programs'. Together they form a unique fingerprint.

Cite this