Aspects of portability and distributed execution for JNI-wrapped message passing libraries
Concurrency Practice and Experience
This paper discusses an approach which aims to provide legacy message passing libraries with Java-like portability in a heterogeneous, metacomputing environment. The results of such portability permit distributed computing components to be `soft-loaded' or `soft-installed' in a dynamic fashion, onto cooperating resources for concurrent, synchronized parallel execution. This capability provides researchers with the ability to tap into a much larger resource pool and to utilize highly tuned codes for achieving performance. Necessarily, the Java programming language is a significant component. The Java Native Interface (JNI) is used to wrap message passing libraries written in other languages, and the bytecode which is generated for the front-end may be analyzed in order to completely determine the needs of the code which it wraps. This characterization allows the pre-configuration of a remote environment so as to be able to support execution. The usefulness of the portability gained by our approach is illustrated through examples showing the soft-installation of a process using an MPI computational substrate and the soft-installation of a process which requires a C-based communication library based upon the efficient multi-cast communication package, CCTL. The examples show that significant gains in performance can be achieved while allowing message passing execution to still exhibit high levels of portability.
Original Publication Date
DOI of published version
Getov, Vladimir S.; Gray, Paul A.; and Sunderam, Vaidy S., "Aspects of portability and distributed execution for JNI-wrapped message passing libraries" (2000). Faculty Publications. 3627.