Parallel Solution of Recurrence Problems

An mth-order recurrence problem is defined as the computation of the sequence x1,..., xN, where x1 = f(ai, xi-1,...,xi-m), and ai, is some vector of parameters. This paper investigates general algorithms for solving such problems on highly parallel computers. We show that if the recurrence function f has associated with it two other functions that satisfy certain composition properties, then we can construct elegant and efficient parallel algorithms that can compute all N elements of the series in time proportional to ⌈log2N⌉. The class of problems having this property includes linear recurrences of all orders- both homogeneous and inhomogeneous, recurrences involving matrix or binary quantities, and various nonlinear problemsin volving operations such as computation with matrix inverses, exponentiation, and modulo division.