TY - GEN
T1 - Parallel solutions of simple indexed recurreno equations
AU - Ben-Asher, Yosi
AU - Haber, Gady
PY - 1998
Y1 - 1998
N2 - We consider a type of recurrence equations called "Simple Indexed Recurrences" (SIR) wherein ordinary recurrences of the form X[i] = opi(X[i -1], X[i]) (i = 1. n) are extended to X[g(i)]=opi(X[f(i)], X[g(i)]) such that opi is an associative binary operation, f,g : {l.n}→ {l.m} and g is distinct. This extends our capabilties for parallelizing loops of the form: for i = 1 to n { X[i] = opi(X[i - l],X[i]) } to the form: for i = 1 to n { X[g(i)] = opi(X[f(i)],X[g(i)}) }. An efficient solution is presented for the special case where we know how to compute the inverse of opi operator. The algorithm requires 0(log n) steps with 0(n/logn) processors. Furthermore, we present a practical and a more improved version of the non-optimal algorithm for SIR presented in [1] which uses repeated iterations of pointer jumping. A sequence of experiments was performed to test the effect of synchronous and asynchronous message-passing executions of the algorithm for p << n processors. This algorithm computes the final values of XQ in □ n/p log p steps and n : log p work, with p processors. The experiments show that pointer jumping requires 0(n) work in most practical cases of SIR loops, thus forming a more practical solution.
AB - We consider a type of recurrence equations called "Simple Indexed Recurrences" (SIR) wherein ordinary recurrences of the form X[i] = opi(X[i -1], X[i]) (i = 1. n) are extended to X[g(i)]=opi(X[f(i)], X[g(i)]) such that opi is an associative binary operation, f,g : {l.n}→ {l.m} and g is distinct. This extends our capabilties for parallelizing loops of the form: for i = 1 to n { X[i] = opi(X[i - l],X[i]) } to the form: for i = 1 to n { X[g(i)] = opi(X[f(i)],X[g(i)}) }. An efficient solution is presented for the special case where we know how to compute the inverse of opi operator. The algorithm requires 0(log n) steps with 0(n/logn) processors. Furthermore, we present a practical and a more improved version of the non-optimal algorithm for SIR presented in [1] which uses repeated iterations of pointer jumping. A sequence of experiments was performed to test the effect of synchronous and asynchronous message-passing executions of the algorithm for p << n processors. This algorithm computes the final values of XQ in □ n/p log p steps and n : log p work, with p processors. The experiments show that pointer jumping requires 0(n) work in most practical cases of SIR loops, thus forming a more practical solution.
UR - http://www.scopus.com/inward/record.url?scp=84882610064&partnerID=8YFLogxK
U2 - 10.1007/bfb0057950
DO - 10.1007/bfb0057950
M3 - Conference contribution
AN - SCOPUS:84882610064
SN - 3540649522
SN - 9783540649526
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 933
EP - 939
BT - Euro-Par 1998 Parallel Processing - 4th International Conference, Proceedings
PB - Springer Verlag
T2 - 4th International Conference on Parallel Processing, Euro-Par 1998
Y2 - 1 September 1998 through 4 September 1998
ER -