[Beowulf] quick and dirty method for starting job on another node?

Greg M. Kurtzer gmkurtzer at lbl.gov
Tue May 3 13:44:53 PDT 2005


On Tue, May 03, 2005 at 12:12:00PM -0400, Robert G. Brown wrote:
> You mean other than
> 
>   ssh -x targetnode /pathto/taskname args...
> 
> ???
> 
> (As in, doesn't your question contain its own answer?)
> 
> I enclose "taskmaster", a perl script I featured in one of my first CWM
> columns.  It has two nifty features that may be of use to you.  One is
> the "runtask" subroutine, which encapsulates the above for use in perl.
> 
> The other is the taskmaster main routine itself, which basically loops
> over hosts and spawns independent threads (perl now supports real
> threads) each of which contains an instance of runtask.
> 
> This isn't TOTALLY robust, but is pretty close and you could make it as
> robust as you like.
> 
> So one of these things ought to work for you -- ssh directly, runtask
> as a perl routine if the scripts your referring to happen to be in perl,
> a hack of taskmaster itself if you want the threads and greater
> robustness.  The threads are useful because of a change in ssh that
> makes it relatively difficult to disconnect an ssh session with a
> backgrounded task from its controlling tty to get back your shell.

Also don't forget about pdsh (http://www.llnl.gov/linux/pdsh/pdsh.html). The
2.x series handles either rsh/ssh at runtime, and is capable of specifying a
fanout of your choice. It also handles a pseudo interactive shell to multiple
nodes at the same time.

Pdsh is written in C so it can be used for minimal nodes, but note that its 
library requirements are non-minimal. I have not compiled this statically at
this time, because I don't run it on the nodes (just the master).

It also includes pdcp (parallel copy), which isn't near as fast as dolly but 
very convenient.

Hope that helps.
-- 
Greg Kurtzer
Berkeley Lab, Linux guy



More information about the Beowulf mailing list