next up previous contents
Next: Bibliography Up: Future Work Previous: mpiJava   Contents

The Task and Data-parallel Cluster Algorithms

The major computational task of cluster algorithms is the identification and labeling of the clusters of connected sites, given the configuration of bonds. Due to highly irregular and non-local nature of the cluster, it is very difficult to efficiently implement cluster identification algorithms on SIMD computers [#!Coddington91!#]. This problem can be solved efficiently by utilizing a mixture of both task and data parallelism in application such as implementing Swendsen-Wang code working in HPF using a call to an extrinsic function to do the component labeling in MPI. However we found that the overhead to switch between HPF and MPI is large, and creating distributed arrays and accessing their local and remote elements is clumsy and errot-prone in HPF. It is expected that component labeling can be implemeted in HPJava efficiently since the HPJava framework has better prospects for dealing effectively with task parallel programming. We plan to develop SPMD style cluster algorithms in HPJava with direct calls to MPI.

In addition, there are many aspects of Java that should be improved. These include Java's object serialization, Remote Method Invocation, and enhancements in the Java Native Interface.


next up previous contents
Next: Bibliography Up: Future Work Previous: mpiJava   Contents
Bryan Carpenter 2004-06-09