Tree Skeleton Library

Kiminori MATSUZAKI< kmatsu_at_ipl.t.u-tokyo.ac.jp >.
(please replace "_at_" by "@")
Information Processing Laboratory,
Department of Mathematical Informatics,
Graduate School of Information Science and Technology,
University of Tokyo

What is Tree Skeleton Library?

This library provides several parallel skeletons, parallel tree skeletons, which manipulate binary trees and trees with arbitrary shapes. These parallel tree skeletons hide the difficulties in parallel programs (e.g. data distribution, communication among processors, synchronization, etc. ) from users, and enable parallel programming on trees easy.

Parallel tree skeletons in our library are implemented efficiently in parallel based on the tree contraction algorithm. Most of the parallel tree skeletons run in asymptotically O(n/p + p) parallel time, where n denotes the number of nodes in the tree, and p denotes the number of processors.

Requirements

This parallel tree skeleton library is written in C++ and MPI (message passing interface). Therefore, a C++ compiler that supports templates and a MPI library is required to use the library. The C++ binding of the MPI (which is supported in MPI-2) is not required. Doxygen is used for generating API references.

The library is tested under the following environments on unix clones (FreeBSD and Linux).

Tutorials

As tutorials, we show how to use our tree skeleton library with two examples which compute the height of trees for binary trees and rose trees (trees of arbitrary shape).

Structure of the Library

Binary Tree Skeletons

The parallel tree skeleton library consists of following classes.

Rose Tree Skeletons

Rose tree is a tree of arbitrary shapes. The rose trees are dealt with as binary trees in our tree skeleton libraries, and the rose tree skeleton library consists of following classes in addition to the binary tree skeletons.

API Reference Manual

API reference manual is generated by Doxygen. This API reference includes other skeleton library for lists and matrices.

Feedback

We'll appreciate any feedback (comments, suggestions, questions, bug reports, etc. ). Please feel free to send emails to sketo_at_ipl.t.u-tokyo.ac.jp, or kmatsu_at_ipl.t.u-tokyo.ac.jp (please replace "_at_" with "@") about the tree skeleton library.

Back to Upper Index