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

Robert G. Brown rgb at phy.duke.edu
Tue May 3 12:19:23 PDT 2005


On Tue, 3 May 2005, Jim Lux wrote:

> At 09:12 AM 5/3/2005, Robert G. Brown wrote:
> >On Tue, 3 May 2005, Jim Lux wrote:
> >
> > > I'm looking for a quick and dirty way for a process on node N to start a
> > > process on Node M, without having MPI, etc. running.  Needs to be a single
> > > line for use in, e.g. a script. SSH is available on the target nodes, but
> > > not a whole lot else. The nodes are using "busybox" for all the shell kinds
> > > of things.
> > >
> > > Performance isn't critical.
> >
> >You mean other than
> >
> >   ssh -x targetnode /pathto/taskname args...
> >
> >???
> >
> 
> The SSH scheme I had tried, but I am also looking for other "clever" ideas, 
> potentially with a smaller footprint. (Tiny, feeble, diskless nodes)

You could probably write a task spawning xinetd daemon in a few hours
that would do it if you didn't care at all about security.  inetd's just
process stdin and stdout -- one can be a simple loop script.  Connect,
tell it what to run, have it fork the task in the background and die.

Any good systems person would shoot you, of course, for putting any such
thing on an open network.

Doing a real forking daemon that could also run optionally as an inetd,
using my nice template for a forking/inetd, would take about half a
day's work and might be a bit more robust or the ability to handle at
least some error conditions.  That would let you trade off running
xinetd at all vs running a static-compiled forking daemon.

Let me know if you want example code -- the "xmlbenchd" project I'm
working on is frozen with little more than the generic daemon finished;
I haven't done the script version but I've seen inetd examples that
aren't more than a dozen lines or so of code.  To be robust probably
would take more effort, but not THAT much more effort.  Even taskmaster
could probably be hacked to do it... and give you the ability to do more
complex things as well, at the expense of loading up perl.  I think that
you can write a inetd daemon in plain old bash, though.

   rgb

> 
> 
> James Lux, P.E.
> Spacecraft Radio Frequency Subsystems Group
> Flight Communications Systems Section
> Jet Propulsion Laboratory, Mail Stop 161-213
> 4800 Oak Grove Drive
> Pasadena CA 91109
> tel: (818)354-2075
> fax: (818)393-6875
> 
> 

-- 
Robert G. Brown	                       http://www.phy.duke.edu/~rgb/
Duke University Dept. of Physics, Box 90305
Durham, N.C. 27708-0305
Phone: 1-919-660-2567  Fax: 919-660-2525     email:rgb at phy.duke.edu





More information about the Beowulf mailing list