Restructuring of Arithmetic Expressions For Parallel Evaluation

  • Authors:
  • David E. Muller;Franco P. Preparata

  • Affiliations:
  • Coordinated Science Laboratory, University of Illinois at Urbana-Champaign, Urbana, IL;Coordinated Science Laboratory, University of Illinois at Urbana-Champaign, Urbana, IL

  • Venue:
  • Journal of the ACM (JACM)
  • Year:
  • 1976

Quantified Score

Hi-index 0.01

Visualization

Abstract

Let E be an arithmetic expression involving n variables, each of which appears just once, and the possible operations of addition, multiplication, and division. Although other cases are considered, when these three operations take unit time the restructuring algorithms presented in this paper yield evaluation times no greater than 2.88 log2n + 1 and 2.08 log2n for general expressions and division-free expressions, respectively. The coefficients are precisely given by 2/log2&agr; ≈ 2.88 and 1/log2&bgr; ≈ 2.08, where &agr; and &bgr; are the positive real roots of the equations z2 = z + 1 and z4 = 2z + 1, respectively. While these times were known to be of order log2n, the best previously known coefficients were 4 and 2.15 for the two cases.The authors conjecture that the present coefficients are the best possible, since they have exhibited expressions which seem to require these times within an additive constant.The paper also gives upper bounds to the restructuring time of a given expression E and to the number of processors required for its parallel evaluation. It is shown that at most O(n1.44) and O(n1.82) operations are needed for restructuring general expressions and division-free expression, respectively. It is pointed out that, since the order of the compiling time is greater than n log n, the numbers of required processors exhibit the same rate of growth in n as the corresponding compiling times.