Conference Paper

Attribute Grammar Genetic Programming Algorithm for Automatic Code Parallelization

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

A method is presented for evolving individuals that use an Attribute Grammar (AG) in a generative way. AGs are considerably more flexible and powerful than the closed, context free grammars normally employed by GP. Rather than evolving derivation trees as in most approaches, we employ a two step process that first generates a vector of real numbers using standard GP, before using the vector to produce a parse tree. As the parse tree is being produced, the choices in the grammar depend on the attributes being input to the current node of the parse tree. The motivation is automatic parallelization or the discovery of a re-factoring of a sequential code or equivalent parallel code that satisfies certain performance gains when implemented on a target parallel computing platform such as a multicore processor. An illustrative and a computed example demonstrate this methodology.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... The instructions have inter-dependencies of the type o, d and a or output dependence, flow dependence and anti-dependence respectively. In the numerical example presented here code-block dependencies were: (1,5) Often such violations can be determined a priori by analysis of the input instructions, e.g., with analysis assistants using LEX or BISON scripts for a given computer language such as 'C' or 'FORTRAN'. In this illustration we ignore many important aspects of the parallelization of software (loops, recursion, race conditions, etc.). ...
... We go through the code instructions one by one checking that their execution orders do not violate/conflict with the aforementioned code block dependencies. For instance, in the experiment we have a constraint like this (5,14)d. If the procedure thus far had both instruction 5 and 14 in execution order 1 then 14 must be, and is now placed, in a later execution order position. ...
... Fig. 2 is given at the top right. The nature of the functions and nodes is presented both in references [6] and [5]. The discovered GGP variable length vector is shown at the bottom of the figure. ...
Conference Paper
This novel algorithm uses standard Genetic Programming (GP) to evolve a grammar. It is applied to the automatic parallelization of sequential software. Alternative parallel schedules are generated for a computational resource constrained illustrative example demonstrating the power of the methodology.
Conference Paper
A novel algorithm uses standard Genetic Programming (GP) to evolve an Attribute Grammar (AG) and this is tested on a problem with known solution in automatic code parallelization. Standard GP first generates a vector of real numbers and its elements are in turn applied to the grammar. As the parse tree is being produced the choices in the grammar depend on the attributes being input to the current node of the parse tree. Experiments reveal different levels of success at finding solutions to different versions of the test problem. It is speculated that the novel method may find a role in computational medicine in stem cell research and in the modelling of epigenetic disease.
Article
Traditionally, computer programs have been developed using the sequential programming paradigm. With the advent of parallel computing systems, such as multicore processors and distributed environments, the sequential paradigm became a barrier to the utilisation of the available resources, since the program is restricted to a single processing unit. To address this issue, we propose a transparent automatic parallelisation tool with a binary rewriter. The steps of our approach are: the disassembly of the Intel x86 application, its transformation into an intermediary language; the analysis of this intermediary representation to obtain the flow and dependency graphs; the partitioning of the application into parallel units, using the obtained graphs; and, finally, the reassembly of the application back into the original Intel x86 architecture. By transforming the compiled application software, we aim at obtaining a program which can better explore the parallel resources, with no extra effort required from users or developers.
Article
A significant challenge in intelligence analysis involves knowing when a social network description is ‘complete’, i.e., when sufficient connections have been found to render the network complete. In this paper, a combination of methods is used to predict covert network structures for specific missions. The intention is to support hypothesis-generation in the Social Network Analysis of covert organisations. The project employs a four phase approach to modelling social networks, working from task descriptions rather than from contacts between individual: phase one involves the collation of intelligence covering types of mission, in terms of actors and goals; phase two involves the building of task models, based on Cognitive Work Analysis, to provide both a process model of the operation and an indication of the constraints under which the operation will be performed; phase three involves the generation of alternative networks using Genetic Programming; phase four involves the analysis of the resulting networks using social network analysis. Subsequent analysis explores the resilience of the networks, in terms of their resistance to losses of agents or tasks. The project demonstrates that it is possible to define a set of structures that can be tackled using different intervention strategies, demonstrates how patterns of social network structures can be predicted on the basis of task knowledge, and how these structures can be used to guide the gathering of intelligence and to define plausible Covert Networks
Article
The Paragen system is a new technique for the automatic conversion of sequential programs into functionally equivalent parallel programs. This technique utilizes GP to generate a highly parallel program from an original sequential program, while preserving functionality. We show that a genetic search avoids the complexities introduced by standard data dependency techniques and can also introduce further efficiencies by automatically reordering program statements. This paper gives a brief introduction to the problem of autoparallelisation followed by a discussion of the design and implementation issues of the system. Results demonstrate the effectiveness of the Paragen system by the automatic conversion of a number of complex program segments.
Conference Paper
This Genetic Programming based tool simulates activities and resource allocations in the Program (Project) Evaluation and Review Technique method of project control. Users constrain the optimization problem by means of a visual interface and Genetic Programming discovers a umber of acceptable solutions that satisfy the user constraints. It evolves computer programs that, when executed, produce a variable length vector of real numbers. This vector is then interpreted according to the grammar that abides by the user constraints. The tool has a wide application in the management of large and complex projects as it handles the a priori simulation of events that may delay or compromise the project, and enables the project owners and project managers to come up with robust and innovative contingency measures to decrease the likelihood of project failure before project start-up.
Conference Paper
The Paragen System is an automatic parallelisation system which takes a serial program and, using a combination of Genetic Programming and Genetic Algorithms, transforms it into a functionally identical parallel program. This paper gives an overview of the system, describing the novel way in which GP and GA are integrated, before giving the first substantial results for the system. The programs that are processed by the system illustrate that it can handle programs which contain a combination of loops and atomic instructions, and we show the advantage of applying the system to a program as a whole, rather than simply to one kind of instruction.
Conference Paper
We describe the latest version of the Paragen system, a tool for the automatic transformation of serial programs into functionally identical parallel ones. Previous papers on this work have described means of converting either sequences of instructions or individual loops, and here we describe how the two tasks can be melded into a single, seamless operation.
Conference Paper
For over a decade prophets have voiced the contention that the organization of a single computer has reached its limits and that truly significant advances can be made only by interconnection of a multiplicity of computers in such a manner as to permit cooperative solution. Variously the proper direction has been pointed out as general purpose computers with a generalized interconnection of memories, or as specialized computers with geometrically related memory interconnections and controlled by one or more instruction streams.
Article
This paper describes a novel system of converting sequential programs into functionally equivalent parallel programs without using data dependency rules. This system utilises the powerful directed search technique of Genetic Programming to find the most efficient program in terms of parallelism. A brief description of the field of Genetic Programming is given, followed by a discussion on the design and implementation issues of this system. 1 Introduction One of the major restrictions of the use of parallel hardware is the problem of producing efficient software for general non SIMD type architectures and relevant problems. This is due in part to the architectural complexity and diversity of parallel hardware. While there are a large number of parallel processing platforms available, there is often a lack of software design expertise and tools for these platforms. Moreover, there is no easy way to port the software written for a serial (or parallel) platform to a parallel platfo...
Paper 15 - Predicting the Structure of Covert Networks using Genetic Programming, Cognitive Work Analysis and Social Network Analysis. Papers presented at the NATO RTO Modelling and Simulation Group Symposium held in Brussels
  • C Baber
  • N Stanton
  • D Howard
  • R J Houghton
Genetic Programming solution of the convection-diffusion equation
  • D Howard
  • S C Roberts
  • D. Howard