Parallel Solutions of Simple Indexed Recurrence Equations

Euro-Par(2001)

引用 22|浏览10
暂无评分
摘要
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.
更多
查看译文
关键词
indexing,optical computing,testing,computational complexity,parallel algorithms,euler tour,difference equations,indexation,parallel algorithm
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要