By Topic

Parallel solutions of simple indexed recurrence equations

Sign In

Cookies must be enabled to login.After enabling cookies , please use refresh or reload or ctrl+f5 on the browser for the login options.

Formats Non-Member Member
$31 $13
Learn how you can qualify for the best price for this item!
Become an IEEE Member or Subscribe to
IEEE Xplore for exclusive pricing!
close button

puzzle piece

IEEE membership options for an individual and IEEE Xplore subscriptions for an organization offer the most affordable access to essential journal articles, conference papers, standards, eBooks, and eLearning courses.

Learn more about:

IEEE membership

IEEE Xplore subscriptions

2 Author(s)
Ben-Asher, Y. ; Dept. Comput. Sci., Haifa Univ., Israel ; Haber, G.

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)]=opi(X[f(i)], X[g(i)]), where f, g : {1...n}→{1...m}, opi(x, y) is a binary associative operator and g is distinct, i.e., ∀i≠j g(i)≠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 n/p·log p steps and n·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 opi, and finally, useful applications of SIR to the well-known Livermore loops benchmark are presented

Published in:

Parallel and Distributed Systems, IEEE Transactions on  (Volume:12 ,  Issue: 1 )