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 -