Scyld: How to start process on slaves in local PID-Space

Erik Arjan Hendriks hendriks-beowulf at scyld.com
Sun Dec 3 18:21:25 PST 2000


On Sat, Dec 02, 2000 at 12:12:45PM -0500, Thomas R Boehme wrote:
> Hi,
> 
> I installed the Scyld Beowulf-2 distribution and it seems to work pretty
> well. 
> However, I need to start some daemons on the slave nodes (condor). But the
> daemons fail, because they look for /proc/pid, where the pid is the global
> one, but in /proc, the directories have the local PID.
> 
> Is it possible to fire up a daemon in the local PID-space only?

Yes... but not with BProc and it'll take some work with the beoboot on
the preview CD.

> There is no need to see these in the global process space. The docs
> of BProc say it's possible, but not for the end-user (and they don't
> tell how).

That would be an error in the documentation or misunderstanding.
Slave nodes have their own process space in which things can run.
They accept portions of the front end's process space and run those
things.  It's impossible for processes to move from one process space
to another.  Processes like init and the slave daemon still run the
local process space on the node.

If you want to run daemons on the nodes in the local process space,
they'll have to be included in the phase 2 boot image and started by
the boot program on that image.

There are a few limited cases where things can "escape" the front
end's PID space on the slave node but they all include kernel modules
and the kernel_thread() function.  (This is how nfs client IO threads
are not seen on the front end even though insmod runs in the front
end's process space.)

- Erik
-- 
Erik Arjan Hendriks          Printed On 100 Percent Recycled Electrons
erik at hendriks.cx                   Contents may settle during shipment





More information about the Beowulf mailing list