Next: Timber
Up: Related Systems
Previous: ZPL
Contents
JavaParty
JavaParty [38] allows easy ports of multi-threaded
Java programs to distributed environments such as clusters. Regular
Java already supports parallel applications with threads and
synchronization mechanisms. While multi-threaded Java programs are
limited to a single address space, JavaParty extends the capabilities
of Java to distributed computing environments. It adds remote objects
to Java purely by declaration, avoiding disadvantages of explicit
socket communication and the programming overhead of RMI.
The basic approach of JavaParty is that a multi-threaded Java program can
be easily transformed to a distributed JavaParty program by
identifying the classes and threads that should be spread across the
distributed system. A programmer can indicate this by a newly
introduced class modifier, remote, which is the only extension
of Java.
As a parallel language, the most important feature of JavaParty is its
``location transparency.'' Similar to HPF, programmers don't have to
distribute remote objects and remote threads to specific nodes because
the compiler and run-time system deal with locality and communication
optimization.
JavaParty is implemented as a pre-processor phase to a Java
compiler. It currently uses RMI as a target and thus inherits some of
RMI's advantages such as distributed garbage collection. JavaParty
codes is translated into regular Java code with RMI hooks. For example,
is translated into
JavaParty is for parallel cluster programming in Java. It has
important contribution to research on Java-based parallel
computing. Moreover, because the only extension is the remote
keyword, it is systematically simple and easy to be used and to be
implemented. However, HPJava provides lower-level access to the
parallel machine. Compared to the HPJava system, the basic approach of
JavaParty, remote objects with RMI hooks, might become its bottleneck
because of unavoidable overhead of RMI and limited evidence that the
remote procedure call approach is good for SPMD programming.
Next: Timber
Up: Related Systems
Previous: ZPL
Contents
Bryan Carpenter
2004-06-09