9 Nov 2007
(updated 14 Nov 2007 at 19:00 UTC) »
libgcj in C-based parallel clusters?
Today I was setting the MPI cluster. A tcl-based
required to arrange the MPI connections. Expect was not
present on my SuSe machines by default, but I found it
between optional packages. Still, all that this default
installation was doing is it was silently hanging with MPI
setup script. Hence our team needed to build the more recent
expect distribution from the source, remembering all fun of
--configure--with (the default ./configure does not find the
tcl configuration script on 64 bit platforms).
We had problems with firewalls, also. MPI uses same
approach as the old CORBA implementations did: just opens
multiple random ports wherever they like. However our
'cluster' is not just for distributed computing - people use
them heavily for various purposes, connecting via ssh -X.
Finally we decided to use combined mac + ip address
filtering with iptables.
Ok, the MPI cluster is now running with full Fortran and C++
support. Likely we will enjoy it, but how to build a bridge
back to java? Some of our java programs already have complex
GUIs, others are heavily JSP-based - the prospect to rewrite
this stuff in C - even parallel C - does not seem
attractive. I is now nice to have a java runtime library
that connects with C easily, without the need to load and
start all java virtual machine as a separate process. All we
need is java-style serialization, RMI and maybe RMI-IIOP. It
is far less than GNU Classpath is capable to do.
Likely it makes a lot of sense to try our old staying-alive
libgcj here ...