DETECTION OF ESSENTIAL ORDERING IMPLICIT IN COMPILER LANGUAGE PROGRAMS
Quarterly progress rept. no. 2, 15 Oct 1966-20 Jan 1967
BURROUGHS CORP PAOLI PA FEDERAL AND SPECIAL SYSTEMS GROUP
Pagination or Media Count:
An investigation was made to determine how implicit parallelism in programs written in compiler languages can be recognized and exploited by machines with highly parallel organizations. An algorithm is described which identifies the complete serial ordering among parts of a program based on the input-output sets of these parts, the ordering given by the programmer, and any known essential order among the program parts. The algorithm is proved and a demonstration given that a minimum number of comparisons of input-output sets are made. Application of the parallel recognition procedure to subroutines, loops, conditionals, recursive subroutines, and serial input-output device calls is explained. The effect of particular features of several compiler languages on parallelism are discussed. These features include loops, transfers of control, conditionals, and conditional sequences. Requirements for replacing iterative loop control by parallel paths of control are given. Alternative algorithms for recognizing essential ordering are suggested which can be executed more effectively on a highly parallel machine. Application of the given algorithm to the syntactic definition of a context-free language is also considered.
- Computer Programming and Software
- Computer Hardware