1
1
Tim Woodall a5058ba981 renamed
This commit was SVN r2547.
2004-09-08 19:10:53 +00:00

97 строки
3.3 KiB
Plaintext

This should be in a design document but....
Random thoughts on stdio redirection.
- stdin redirection should be buffered (i.e. fragment-based). stdin
should go to process 0. Any need to broadcast stdin?
- stdout/stderr also buffered. Fragment headers: to indicate origin,
and to handle out of order delivery in future distributed situations.
- pipes or ptys from ompid to processes. Fairly portable pty code is
in src/util/pty.c. Goal: wrap up selection of pipes vs ptys in a
transparent fashion for easy selection at compile- or run-time (MCA
parameter-based I guess). Note ptys are typically necessary when stdin
is a tty so that interactive input is possible.
- stdin redirection: base this on LA-MPI's rts/cts fragment-based
approach.
- Consider basing ompid -> mpirun stdout/stderr redirection on FTMPI
libcio/sio ported to use oob framework (tcp component for non-blocking
operation).
In this directory:
libcio/sio are the client and server parts of the FTMPI stdout and
stderr I/O forwarding.
snipe_lite is a close analog of our OOB
Explanatory email from Thara:
From: angskun@cs.utk.edu
Subject: Re: libsio, libcio
Date: August 13, 2004 13:11:14 MDT
To: ddd@lanl.gov
Cc: fagg@cs.utk.edu
Dear David,
Everything in snipe_lite directory is for basic connection management
in FT-MPI. The libcio/sio use the snipe_lite for communication.
You may replace it with socket or OpenMPI communication library.
cioapp.c : client/console/ application example
sioapp.c : server/daemon application example
libcio.*, libsio.* : the library and include file
Example:
*** client/console machine ***
[angskun@torc0 ~/ioapp]$ ./cioapp 3
Port is 6781
[0:stdout] Hi world, my name is foo 1/5 [bar code is 0 (pid 19409)]
Hi world, my name is foo 2/5 [bar code is 0 (pid 19409)]
Hi world, my name is foo 3/5 [bar code is 0 (pid 19409)]
Hi world, my name is foo 4/5 [bar code is 0 (pid 19409)]
Hi world, my name is foo 5/5 [bar code is 0 (pid 19409)]
[1:stdout] Hi world, my name is foo 1/5 [bar code is 1 (pid 19410)]
Hi world, my name is foo 2/5 [bar code is 1 (pid 19410)]
Hi world, my name is foo 3/5 [bar code is 1 (pid 19410)]
Hi world, my name is foo 4/5 [bar code is 1 (pid 19410)]
Hi world, my name is foo 5/5 [bar code is 1 (pid 19410)]
[2:stdout] Hi world, my name is foo 1/5 [bar code is 2 (pid 19411)]
Hi world, my name is foo 2/5 [bar code is 2 (pid 19411)]
Hi world, my name is foo 3/5 [bar code is 2 (pid 19411)]
Hi world, my name is foo 4/5 [bar code is 2 (pid 19411)]
Hi world, my name is foo 5/5 [bar code is 2 (pid 19411)]
[angskun@torc0 ~/ioapp]$
*** server / daemon machine ***
$./sioapp torc0 6781 3
Best Regards,
Thara
----- Original Message -----
From: "David Daniel" <ddd@lanl.gov>
To: "THara Angskun" <angskun@cs.utk.edu>
Cc: "Graham E Fagg" <fagg@cs.utk.edu>
Sent: Friday, August 13, 2004 2:09 PM
Subject: libsio, libcio
Thara
I'm looking at using libcio/sio as a starting point for standard I/O
redirection in Open MPI.
Graham mentioned that you had some tests for testing them on their own.
If you could let me have a copy that would be very helpful.
Thanks, David
--
David Daniel <ddd@lanl.gov> +1-505-667-0883
Advanced Computing Laboratory, LANL, MS-B287, Los Alamos NM 87545, USA