- High performance network hardware
-
Myrinet is a high performance network hardware from
Myricom. There are several software packages to access this
network hardware from user level applications. The "default"
library that is bundled with the hardware is called
GM. JavaParty supports Myrinet hardware by providing a
native library that is linked with the GM library from
Myricom. To use Myrinet, you will need the KaRMI version (rather
than the RMI version) of JavaParty, because Myrinet is supported
only by KaRMI as additional network technology.
- Compile Myrinet/GM support
-
The sources for the native library can be found in the
KaRMI or JavaParty distribution within the archive
karmi-src.zip. It contains another archive in its
top-level directory named:
gmlib.tgz
If you have all essential tools for building projects based on
GNU automake and autoconf, you can build the library with the
following commands:
./configure --prefix=<where-to-install-the-library>
make
make install
Make sure that you have set your CPPFLAGS environment
variable in such a way that the compiler can find the header
files of both, the Java JNI and GM. Also, do not forget to set the
LDFLAGS environment variable such that the linker will
find the GM library installed on your system. Assuming csh or
tcsh as shell, you might have to enter something as follows:
setenv CPPFLAGS "-I/usr/jdk-1.3/include \
-I/usr/jdk-1.3/include/linux \
-I/opt/myricom/gm-1.4/include"
setenv LDFLAGS "-I/opt/myricom/gm-1.4/lib"
- JavaParty over GM
-
To use JavaParty with Myrinet over the GM library, you just
have to include in your LD_LIBRARY_PATH environment variable the
directory where you installed the native library in the previous
step.
To verify that everything works fine, you can probe whether
the Myrinet technology is detected by KaRMI:
java -jar jar/karmi.jar
If everything works as expected, you should at least get
the following output:
Log messages during initialization:
-------------------------------------------------------------------
initializing 1. technology: uka.karmi.gm.GMTechnology
initialization successful.
initializing 3. technology: uka.karmi.socket.SocketTechnology
initialization successful.
-------------------------------------------------------------------
Note: Due to a limitation in KaRMI, at the moment only
a single Java virtual machine per cluster node can use the
Myrinet hardware at a time. If you start more than one VM per node,
all surplus VMs will communicate over regular TCP/IP. See also
the "Bug Parade" section.