Optimal computation of prefix sums on a binary tree of processors (Q1099947)

From MaRDI portal
scientific article
Language Label Description Also known as
English
Optimal computation of prefix sums on a binary tree of processors
scientific article

    Statements

    Optimal computation of prefix sums on a binary tree of processors (English)
    0 references
    0 references
    0 references
    0 references
    1987
    0 references
    Given n numbers \(a_ 0,a_ 1,...,a_{n-1}\), it is required to compute all sums of the form \(a_ 0+a_ 1+...+a_ i\), for \(i=0,1,...,n-1\). This problem arises in many applications and is trivial to solve sequentially in O(n) time. Besides its practical importance, the problem gains an additional theoretical interest in parallel computation. A technique known as recursive doubling allows all sums to be computed in O(log n) time on a model of computation where n processors communicate through an inverse perfect shuffle interconnection network. In this paper we show how the problem can be solved on a simple network, namely a binary tree of processors. In addition, we show how to extend our solution to obtain an optimal-cost algorithm. The algorithm uses p processors and runs in \(O((n/p)+\log p)\) time, for a cost of \(O(n+p \log p)\). This cost is optimal when p log p\(=O(n)\). Finally, two applications of our results are illustrated, namely job scheduling with deadlines and the knapsack problem.
    0 references
    0 references
    0 references
    0 references
    0 references
    0 references
    parallel computation
    0 references
    recursive doubling
    0 references
    model of computation
    0 references
    inverse perfect shuffle
    0 references
    binary tree of processors
    0 references
    optimal-cost algorithm
    0 references
    job scheduling
    0 references
    deadlines
    0 references
    knapsack problem
    0 references