Parallel skeletons for manipulating general trees

Kiminori Matsuzaki,Zhenjiang Hu,Masato Takeichi
DOI: https://doi.org/10.1016/j.parco.2006.06.002
IF: 0.983
2006-01-01
Parallel Computing
Abstract:Trees are important datatypes that are often used in representing structured data such as XML. Though trees are widely used in sequential programming, it is hard to write efficient parallel programs manipulating trees, because of their irregular and ill-balanced structures. In this paper, we propose a solution based on the skeletal approach. We formalize a set of skeletons (abstracted computational patterns) for rose trees (general trees of arbitrary shapes) based on the theory of Constructive Algorithmics. Our skeletons for rose trees are extensions of those proposed for lists and binary trees. We show that we can implement the skeletons efficiently in parallel, by combining the parallel binary-tree skeletons for which efficient parallel implementations are already known. As far as we are aware, we are the first who have formalized and implemented a set of simple but expressive parallel skeletons for rose trees.
What problem does this paper attempt to address?