Communication along shortest paths in a tree machine

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.