Yosi Ben-Asher, Gadi Haber
Journal of Systems and Software
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. This enables us to model certain sequential loops as a sequence of SIR equations. A parallel algorithm that solves as 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. A sequence of experiments was performed to test the effect of synchronous and asynchronous executions on the actual performance of the algorithm. 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.
Yosi Ben-Asher, Gadi Haber
Journal of Systems and Software
Daniel Citron, Gadi Haber, et al.
EMSOFT 2004
Yosi Ben-Asher, Eitan Farchi
International Game Theory Review
Yosi Ben-Asher, Yaniv Eytani, et al.
PADTAD 2006