TY - GEN
T1 - Paragen II
T2 - 5th Fuzzy Days International Conference on Computational Intelligence, CI 1997
AU - Ryan, Conor
AU - Walsh, Paul
N1 - Publisher Copyright:
© Springer-Verlag Berlin Heidelberg 1997.
PY - 1997
Y1 - 1997
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=84947787085&partnerID=8YFLogxK
U2 - 10.1007/3-540-62868-1_166
DO - 10.1007/3-540-62868-1_166
M3 - Conference contribution
AN - SCOPUS:84947787085
SN - 3540628681
SN - 9783540628682
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 573
BT - Computational Intelligence
A2 - Reusch, Bernd
PB - Springer Verlag
Y2 - 28 April 1997 through 30 April 1997
ER -