Workstation parallel interactive Ccaffeine

In this example, everything (even mpi) is installed in
/home/baallan/cca/mpibuild/install.
To make clear which port arguments must match, let's define two variables
BP=2999
FWKP=3000

Let's also note that the content of two files (firstMuxer and procfile) is machine and number of processors specific. These files appear after the commands that are next.
There is an oft-reported bug at the end of this description, and the workaround.

java -classpath /home/baallan/cca/mpibuild/install/lib/ccafe-gui.jar \
gov.sandia.ccaffeine.dc.distributed.MuxingProcess --name 127.0.0.1 \
--timeout 0 --file firstMuxer --logFile firstMuxer.log \
--builderPort $BP --port $FWKP &


/home/baallan/cca/mpibuild/install/bin/mpirun -np 3 \
/home/baallan/cca/mpibuild/install/bin/ccafe-client \
--type client --port $FWKP \
--file /home/baallan/cca/mpibuild/install/procfile \
--ccafe-rc /home/baallan/cca/mpibuild/install/share/ccafe-0.5.10/CcaffeineRC


/home/baallan/cca/mpibuild/install/bin/gui.sh --port $BP


The first two of the above commands can be done from the same window or script. For obvious reasons, the third command must happen in a different window on the same host.

In this workstation example, it happens that the content of both
firstMuxer and profile looks like:
127.0.0.1 server
0 client
1 client
2 client


Often reported bug:

Exception in thread "main" java.lang.NoClassDefFoundError: gov/sandia/ccaffeine/dc/distributed/MuxingProcess

seen when starting the muxer in the first step. This is from an error in the ccafe-gui/Makefile. Here is the work-around:
1) Edit ccafe-gui/Makefile to add MuxingProcess?.java to the variable JAVA_FILES. A patch-file showing exactly what to do is:

diff -u -r1.15 Makefile.in

+++ Makefile.in 23 Mar 2006 07:44:46 -0000 @@ -11,7 +11,8 @@
gov/sandia/ccaffeine/dc/user_iface/BuilderClient.java \
gov/sandia/ccaffeine/dc/user_iface/examples/*.java \
gov/sandia/ccaffeine/dc/user_iface/gui/AppFrame.java \
-gov/sandia/ccaffeine/dc/user_iface/gui/CcaffeineGUITestWidget.java
+gov/sandia/ccaffeine/dc/user_iface/gui/CcaffeineGUITestWidget.java \ +gov/sandia/ccaffeine/dc/distributed/MuxingProcess.java
EXTRA_FILES_FOR_JAR= \
gov/sandia/ccaffeine/dc/user_iface/gui/about.html \

2) Delete the ccafe-gui/ccafe-gui.jar file.
3) make clean; make ; make install
4) verify that the new jar contains MuxingProcess? with jar tf ccafe-gui.jar

Other often reported bug:
MPIComponent appears in the GUI, but if anything is done with it, crashes occur.
Workaround: Just don't touch the MPIComponent; it's a singleton component used
in the framework implementation. If your components ask for MPIService or MPIBorrow
ports from Ccaffeine, this is what will ultimately serve them.

Created by: baallan last modification: Thursday 23 of March, 2006 [06:51:14 UTC] by baallan

The original document is available at http://www.cca-forum.org/wiki/tiki-index.php?page=Workstation%20parallel%20interactive%20Ccaffeine