9 Nov 2007 audriusa   » (Journeyer)

libgcj in C-based parallel clusters?

Today I was setting the MPI cluster. A tcl-based expect script is 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 ...

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!