1 accomplishements:

Runtime Support for Parallel Languages. In a collaboration with Jarek Nieplocha of Pacific Northwest National Laboratory, we have been experimenting with interfaces between the NPAC kernel runtime library developed in the PCRC project and the Global Array Toolkit (GA) from PNNL. Parts of the PCRC library were reimplemented on top of ARMCI, the new low-level runtime layer of GA. Some benchmark results were reported at the RTSPP ’99 workshop. In another line of development, a version of GA was developed that internally used the NPAC PCRC distributed array descriptor to parametrize its global arrays. Functions from the PCRC library can be called directly from Fortran programs using this version of GA.

HPJava: A Java Environment for Parallel Programming. Work continued on an NSF funded project to implement an HPspmd programming environment. In particular Syracuse is developing a Java environment for distributedmemory SPMD parallel computing called HPJava. The initial version of the HP-Java translator for data-parallel programming is approaching completion. We are completing suitable Java bindings for the NPAC PCRC library, and bindings for other distributed array libraries should be made available later. Interest in Java bindings for MPI-like libraries has continued to grow. NPAC has released verion 1.2 of its mpiJava wrappers for MPI. This version is more completely object-oriented than the original. It supports direct communication of Java objects, through serialization. NPAC hosted the second formal meeting of the Message-Passing Working Group of the Java Grande Forum.

2 plans:

HPJava: A Java Environment for Parallel Programming. The initial version of the HPJava translator will be extended to incorporate optimizations that should give the generated program realistic and competitive performance. Extensive compile-time and run-time checks will be added to aid program developers. The mpiJava system will evolve to follow recommendations of the Java Grande Message-Passing Working Group. Interfaces to Jini will be investigated.

References

[1] Mark Baker and Bryan Carpenter. Thoughts on the structure of an MPJ reference implementation. http://www.npac.syr.edu/projects/pcrc/HPJava/mpiJava.html.

[2] Mark Baker, Bryan Carpenter, Geoffrey Fox, Sung Hoon Ko, and Sang Lim. mpiJava: An object-oriented Java interface to MPI. In International Workshop on Java for Parallel and Distributed Computing, IPPS/SPDP ’99, April 1999. San Juan, Puerto Rico.

[3] Bryan Carpenter, Geoffrey Fox, Sung-Hoon Ko, and Sang Lim. mpiJava 1.2: API specification. http://www.npac.syr.edu/projects/pcrc/HPJava/mpiJava.html.

[4] Bryan Carpenter, Geoffrey Fox, Sung Hoon Ko, and Sang Lim. Object serialization for marshalling data in a Java interface to MPI. In ACM 1999 Java Grande Conference. ACM Press, 1999.

[5] Bryan Carpenter, Geoffrey Fox, and Guansong Zhang. Semantic checking in HPJava. http://www.npac.syr.edu/projects/pcrc/HPJava/.

[6] Bryan Carpenter and Jarek Nieplocha. Interfacing Global Arrays and ARMCI with the PCRC library, Adlib. http://www.npac.syr.edu/projects/pcrc/npacWork.html, 1999.

[7] Jarek Nieplocha and Bryan Carpenter. ARMCI: A portable remote memory copy library for distributed array libraries and compiler run-time systems. In 3rd Workshop on Runtime Systems for Parallel Programming (RTSPP), IPPS/SPDP ’99, April 1999. San Juan, Puerto Rico.

[8] Guansong Zhang, Bryan Carpenter, Geoffrey Fox, Xinying Li, and Yuhong Wen. The HPspmd model and its Java binding. In Rajkumar Buyya, editor, High Performance Cluster Computing, volume 2. Prentice Hall, 1999.