>can you give an example of a use of this feature that can't be
>accomplished by plumbing "Local 9fs $server"?

Most obviously, plumbing a Local command can't rewrite the namespace
of processes on a remote server whose /proc you are importing. It also
cannot be used to make modifications targeted at a single specific
running process. It is a good mechanism, and one I make use of (a set
of scripts I wrote for grid resource indexing uses it heavily), but it
isn't a general purpose namespace manipulation tool. Processes like
service listeners started by cpurc are unlikely to have a plumber in
their namespace, and starting a lot of extra plumber processes to act
as namespace agents doesnt seem like a sensible approach.

In the context of a user using a single machine as a self sufficient
environment the plumb Local trick is probably just fine for most of
their namespace manipulation needs, but the context of trying to build
a larger grid where multiple machines are all providing services 'a la
carte' and a single cpu may be hosting processes with widely divergent
namespaces, more general and precise tools are useful. In the other
post I made today I discussed a modified boot system that creates both
a small self-sufficient ramdisk based environment and a standard
disk-fileserver based one - being able to shift which set of resources
the active processes such a machine will reference has been useful to
me in making sure I can keep services available even if I need to
reboot a fileserver node.

Philosophically, I think that if the freedom of per process namespaces
is a good thing - which I certainly believe it is - then making
process namespaces as flexible and precisely controllable as possible
enhances that quality. Because this modification was only done very
recently, I haven't yet had time to start building some of the scripts
that can make use of it - but as an example, i think a script that can
'synchronize' the namespace of two given processes by finding binds
and mounts present in the ns of one but not in the other and then
issuing the commands to make the target process ns match the given
model would be a nice thing to have. I can supply more examples from
my own usage but I'm probably already past my word quota for the day.
To sum up, I think that the idea of controlling the ns of processes
spread across a multimachine grid via mporting multiple /proc and
using scripted tools has obvious utility for dynamic grid computing
where service nodes can enter and leave the resource matrix freely.

~mycroftiv

Reply via email to