  We have implemented a parallel version of the Barnes-Hut 3-D N-body tree
algorithm under PVM 3.2.5, adopting an SPMD paradigm. We parallelize the
problem by decomposing the physical domain by means of the {\bf Orthogonal
Recursive Bisection} oct-tree scheme suggested by Salmon (1991), but we modify
the original hypercube communication pattern into an incomplete hypercube,
which is more suitable for a generic inhomogenous cluster architecture.\\ We
address dynamical load balancing by assigning different "weights" to the
spawned tasks according to the dynamically changing workloads of each task. The
weights are determined by monitoring the local platforms where the tasks are
running and estimating the performance of each task. The monitoring scheme is
flexible and allows us to address at the same time cluster and intrinsic
sources of load imbalance. We then show measurements of the performance of our
code on a test case of astrophysical interest in order to test the performance
of our implementation.
