LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Bogdan Costescu (bogdan.costescu_at_[hidden])
Date: 2004-10-21 11:55:15


On Thu, 21 Oct 2004, Josh Hursey wrote:

> I am able to access the stderr and stdout from the current process,
> but I need to access the incomming streams from other ranks

AFAIK, stdout and stderr from all processes are relayed by lamd;
they are not available to the individual processes that form the job,
but only to mpirun. Each process can do whatever it wants with its own
stdio streams, like redirecting them to files. Therefore, if you do
the redirection on each rank you could have either X output files or
one file with mixed content (depending on the order, buffering, etc.)
from all ranks. This is also independent of how LAM does the stdio
relaying.

There is still the issue of the availability of the data in a specific
place. Depending on whether stdout/stderr is written into one file or
X files and if the ranks have access to a shared storage space,
various methods could be used to make the data available where is
needed.

> The ordering problem is a bit of an issue, but we just need a simple
> central 'log' of what happens on each node [mostly for debugging].
> In general messages to stdout are fairly infrequent, so we decided
> to live with disordering of messages for this central log since each
> message has a node rank and time stamp associated with it.

I think that the easiest solution for this case would be to use a
shared storage space (f.e. NFS) and have one common file that will be
written to from each rank. Given that you have rank and timestamp, you
could easily order the strings afterwards.

-- 
Bogdan Costescu
IWR - Interdisziplinaeres Zentrum fuer Wissenschaftliches Rechnen
Universitaet Heidelberg, INF 368, D-69120 Heidelberg, GERMANY
Telephone: +49 6221 54 8869, Telefax: +49 6221 54 8868
E-mail: Bogdan.Costescu_at_[hidden]