Hi,

Dirk already mentioned NetWorkSpaces (NWS), but I'd like to elaborate a bit
on it. I have several large bootstraps involving the EM-algorithm and found
myself needing to use more than one processor. After looking at the
available options, I concluded that NWS was the easiest.

It really is easy to setup, especially when using the "web launch". This way
you don't have to bother with SSH. It also good for using all those cores on
a signle PC. I additionally found it works when using a mixture of Linux and
Windows nodes. Your code also doesn't need much modification... If you can
use "apply" with your code, then it should work with NWS sleigh.

One word of caution, however, is that the function you pass to sleigh's
"eachElem" can only call functions available to the other workers. That
sounds obvious, but it created quite a few problems for me. You have to
prepare each worker so that it has available the functions called by the
function passed onto eachElem. The easiest way I found to this was to
package all my custom functions as a library and run "eachWorker(s,
function() library(mylibrary))".

As Dirk pointed out, you should profile your code to make sure that you
really need to used parallisation or distributed computing. You may well
find that using vectorized R code (apply, sapply etc.) gives you the speed
boost required. In my case, the problem was truly "embarassingly parallel",
so NWS worked well.

Hope this helps.

Regards,

Stefan

	[[alternative HTML version deleted]]

