On Jan 22 2010, Nadia Derbey wrote:
>I'm wondering whether the HOSTNAME environment variable shouldn't be
>handled as a "special case" when the orted daemons launch the remote
>jobs. This particularly applies to batch schedulers where the caller's
>environment is copied to the remote job: we are inheriting a $HOSTNAME
>which is the name of the host mpirun was called from:
This is slightly orthogonal, but relevant.
This is an ancient mess with propagating environment variables, and predates
MPI by many years. The most traditional form was the demented connexion
protocols that propagated TERM - truly wonderful when logging in from SunOS
to HP-UX! Whether it is worth kludging up one variable and leaving the rest
Even if systems are fairly homogeneous, it is common for the head node to
have a different set of standard values from the others. TMPDIR is one
very common one, but any of the dozen of so path variables is likely to
vary, at least sometimes, as are many of the others.
I used to have to write the most DISGUSTING hacks to stop unwanted export
when I managed our supercomputer. Yet there are other systems that will
work only if you DO export environment variables. And there are systems
where the secondary nodes aren't real systems, and using the parent hostname
would be better, though I haven't managed any.
Realistically, there should really be some kind of hook to control which
are transferred and which are not. I haven't found one - if there is, it's
a better way to tackle this.