A cellular binary tree machine proposed by Magó accommodates the parallelism inherent in the functional programming languages of Backus by simultaneously executing innermost applications. Data communication time on this machine is linear in the number of elements moved. This paper addresses the problem of permuting a vector of atomic elements stored in the leaf cells of the tree machine. An O(log n) algorithm for circular rotation of an n-vector of atoms is presented. A program that uses this algorithm to solve tridiagonal linear systems by the cyclic reduction method requires O(log n)2 time. For general data movement in the tree machine, an algorithm that routes data along the shortest path through the tree and is sublinear in communication time whenever possible is described.
[1]
H. T. Kung,et al.
A tree machine for searching problems
,
1979
.
[2]
John W. Backus,et al.
Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs
,
1978,
CACM.
[3]
Sally A. Browning.
Computations on a Tree of Processors
,
1979
.
[4]
Harold S. Stone,et al.
Parallel Tridiagonal Equation Solvers
,
1975,
TOMS.
[5]
Charles L. Seitz,et al.
Communication in a Tree Machine
,
1981
.
[6]
Roger W. Hockney,et al.
A Fast Direct Solution of Poisson's Equation Using Fourier Analysis
,
1965,
JACM.