Publication 2001 Issue No. 1 - January Abstract - Parallel Solutions of Simple Indexed Recurrence Equations
 This Article Share Bibliographic References Add to: Digg Furl Spurl Blink Simpy Google Del.icio.us Y!MyWeb Search Similar Articles Articles by Yosi Ben-Asher Articles by Gadi Haber
Parallel Solutions of Simple Indexed Recurrence Equations
January 2001 (vol. 12 no. 1)
pp. 22-37
 ASCII Text x Yosi Ben-Asher, Gadi Haber, "Parallel Solutions of Simple Indexed Recurrence Equations," IEEE Transactions on Parallel and Distributed Systems, vol. 12, no. 1, pp. 22-37, January, 2001.
 BibTex x @article{ 10.1109/71.899937,author = {Yosi Ben-Asher and Gadi Haber},title = {Parallel Solutions of Simple Indexed Recurrence Equations},journal ={IEEE Transactions on Parallel and Distributed Systems},volume = {12},number = {1},issn = {1045-9219},year = {2001},pages = {22-37},doi = {http://doi.ieeecomputersociety.org/10.1109/71.899937},publisher = {IEEE Computer Society},address = {Los Alamitos, CA, USA},}
 RefWorks Procite/RefMan/Endnote x TY - JOURJO - IEEE Transactions on Parallel and Distributed SystemsTI - Parallel Solutions of Simple Indexed Recurrence EquationsIS - 1SN - 1045-9219SP22EP37EPD - 22-37A1 - Yosi Ben-Asher, A1 - Gadi Haber, PY - 2001KW - Ordinary recurrence equationsKW - indexed recurrence equationsKW - pointer jumpingKW - list rankingKW - tree contractionKW - parallel prefix sumsKW - Euler tourKW - parallelizing compilersKW - Livermore Loops benchmark.VL - 12JA - IEEE Transactions on Parallel and Distributed SystemsER -

Abstract—We define a new type of recurrence equations called “Simple Indexed Recurrences” (SIR). In this type of equations, ordinary recurrences are generalized to $X[g(i)] = op_i(X[f(i)],X[g(i)])$, where $f,g:\{1\ldots n\}\mapsto \{1\ldots m\}$, $op_i(x,y)$ is a binary associative operator and $g$ is distinct, i.e., $\forall i\ne j \; \; g(i)\ne g(j)$. This enables us to model certain sequential loops as a sequence of SIR equations. A parallel algorithm that solves a set of SIR equations will, in fact, parallelize sequential loops of the above type. Such a parallel SIR algorithm must be efficient enough to compete with the $O(n)$ work complexity of the original loop. We show why efficient parallel algorithms for the related problems of List Ranking and Tree Contraction, which require $O(n)$ work, cannot be applied to solving SIR. We instead use repeated iterations of pointer jumping to compute the final values of $X[]$ in ${\frac {n} {p}} \cdot \log p$ steps and $n \cdot \log p$ work, with $p$ processors. A sequence of experiments was performed to test the effect of synchronous and asynchronous executions on the actual performance of the algorithm. These experiments show that pointer jumping requires $O(n)$ work in most practical cases of SIR loops.

An efficient solution is given for the special case where we know how to compute the inverse of $op_i$, and finally, useful applications of SIR to the well-known Livermore Loops benchmark are presented.

Index Terms:
Ordinary recurrence equations, indexed recurrence equations, pointer jumping, list ranking, tree contraction, parallel prefix sums, Euler tour, parallelizing compilers, Livermore Loops benchmark.
Citation:
Yosi Ben-Asher, Gadi Haber, "Parallel Solutions of Simple Indexed Recurrence Equations," IEEE Transactions on Parallel and Distributed Systems, vol. 12, no. 1, pp. 22-37, Jan. 2001, doi:10.1109/71.899937