Paragen II: Evolving parallel transformation rules

Conor Ryan, Paul Walsh

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

Abstract

Traditionally, parallel programs were the reserve of large corporations or generously sponsored research institutions, with more modestly sized organisations not able to afford the speed up offered by parallel architectures. However, with the development with such software as Parallel Virtual Machine (PVM) which permits a group of (possibly heterogenous) machines, to work as though they were nodes in a single parallel machine, parallel processing is now affordable by practically every institution. Most of the companies that could most benefit from systems like those described above, such as banks, insurance companies, those involved in simulation or engineering already have serial code written to carry out their tasks. To make the transition from serial to parallel, these companies are faced with a decision to either write the code from scratch - clearly an impractical solution, or to somehow convert their code from serial to parallel. Such a conversion is possible, but, as no automatic technique currently exists, is fraught with difficulties, requires much expertise in the area, and tends to be something of a hit and miss affair, with the quality of the final parallel program depending very much on the ability of the programmer. There are few automatic techniques for parallelizing serial, and existing methods generally consist of a set of interactive tools to help programmers, or to identify common pieces of code that can easily be parallelized, e.g. matrix multiplication etc. The difficulty in autoparallelization, and parallelization in general, is twofold. Firstly, the identification of which areas of the code can have one or more standard transformations applied to them, and secondly discovering the optimal order in which to apply these transformations. We describe a system, Paragen II, which automatically generates a list of transformations which, when applied to a serial program, produce a parallel version. Paragen II hybridizes Genetic Programming with existing parallelisation techniques, to evolve a list of parallel transformations. This list identifies both the transformations to use, and the order in which to apply them. Moreover, because the list employs standard parallel transformations, it can subsequently be used to prove that the parallel version of the program is functionally identical to the version.

Original languageEnglish
Title of host publicationComputational Intelligence
Subtitle of host publicationTheory and Applications - International Conference, 5th Fuzzy Days, 1997, Proceedings
EditorsBernd Reusch
PublisherSpringer Verlag
Pages573
Number of pages1
ISBN (Print)3540628681, 9783540628682
DOIs
Publication statusPublished - 1997
Event5th Fuzzy Days International Conference on Computational Intelligence, CI 1997 - Dortmund, Germany
Duration: 28 Apr 199730 Apr 1997

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume1226
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference5th Fuzzy Days International Conference on Computational Intelligence, CI 1997
Country/TerritoryGermany
CityDortmund
Period28/04/9730/04/97

Fingerprint

Dive into the research topics of 'Paragen II: Evolving parallel transformation rules'. Together they form a unique fingerprint.

Cite this