Justin, one more question...
if you want to run n>1 MPI tasks per node, would you have ? - 1 container with one orted and n MPI tasks - n containers with one orted and one MPI task per container And btw, did you configure ompi with --disable-dlopen ? If not, I strongly encourage you to do so. Cheers, Gilles On Friday, October 16, 2015, Jeff Squyres (jsquyres) <jsquy...@cisco.com> wrote: > Let me follow up on this... > > IOF is but one of the frameworks / plugins involved in launching and > monitoring processes. > > It might actually be easier to get on a webex and give you an overview > (Ralph would be the best person for this; he's the one would does most of > the work in the ORTE layer); I'm not sure we have good documentation for it > online. > > Part of the problem is that in our current design, MPI processes are > really not designed to be in the same process as the orted. It *might* be > possible to make that happen, but I think we have a lot of assumptions > built in to the code that the orted that the process(es) that it launches > will actually be separate / different OS processes. > > That being said, it might be an easier solution to just not have the > orted. That is, ORTE is capable of "orted-less" launches when the > underlying runtime provides enough support for OMPI to not have to use the > orteds. This would allow you to launch the MPI process directly in your > container without any dlopen/orted-process-merging tomfoolery. This might > avoid running afoul of many of the assumptions we have baked into the > system. > > Ralph will need to give the details of how to support orted-less > launching. But the first question is: does OSv have some kind of > programatic mechanism to launch a process in your containers? I.e., can > mpirun programmatically launch MPI processes in OSv containers? > > > > > On Oct 16, 2015, at 6:48 AM, Justin Cinkelj <justin.cink...@xlab.si > <javascript:;>> wrote: > > > > Thank you. At least its clear now that for the immediate problem I have > > to look at IOF code. > > > > > > On 16. 10. 2015 03:32, Gilles Gouaillardet wrote: > >> Justin, > >> > >> IOF stands for Input/Output (aka I/O) Forwarding > >> > >> here is a very high level overview of a quite simple case. > >> on host A, you run > >> mpirun -host B,C -np 2 a.out > >> without any batch manager and TCP interconnect > >> > >> first, mpirun will fork&exec > >> ssh B orted ... > >> ssh C orted ... > >> > >> the orted daemons will first connect back to mpirun, using TCP and > >> ip/port passed on the orted command line. > >> > >> then the orted daemons will fork&exec a.out > >> a.out will contact its parent orted (iirc, TCP on v1.10 and Unix > >> socket from v2.x) via ip/port of port from the environment > >> when a.out want to communicate, they will connect to the remote a.out > >> via TCP using ip/port obtained from orted. > >> > >> from a.out point of view : > >> - stdin is either a pipe to orted or /dev/null > >> - stdout is a pty with orted on the other side > >> - stderr is a pipe to orted > >> > >> this is basically what happens in a quite simple case, > >> back to your question, mpi_hello.so does not contact mpirun. > >> orted.so contacts mpirun, and mpi_hello.so contacts orted.so, > >> and then mpi_hello.so contact other mpi_hello.so > >> > >> > >> note it is also possible to use direct launch (SLURM or cray alps can > >> do that) > >> instead of running > >> mpirun a.out > >> you simply do > >> srun a.out (or aprun a.out) > >> in the case of slurm (i am not sure about alps) there is no orted > >> daemons involved. > >> instead of contacting its orted, a.out contact the slurm daemons > >> (slurmd) so it can exchange information with remote a.out and figure > >> out how to contact them. > >> direct launch does not support dynamic process creation > >> (MPI_Comm_spawn and friends) > >> > >> > >> you can run > >> ompi_info --all > >> to list all the parameters. > >> and then you can do > >> mpirun --mca <name> <value> ... > >> to modify a parameter (such as timeout) > >> > >> that being said, i do not think that should be needed ... just make > >> sure there is no firewall running on your system, and you should be > fine. > >> if some hosts have several interfaces, you can restrict to the one > >> that should work (e.g. eth0) with > >> mpirun --mca oob_tcp_if_include eth0 --mca btl_tcp_if_include eth0 ... > >> > >> > >> i hope this helps > >> > >> Gilles > >> > >> > >> On 10/16/2015 2:59 AM, Justin Cinkelj wrote: > >>> I'm trying to run OpenMPI in OSv container > >>> (https://github.com/cloudius-systems/osv). It's a single process, > single > >>> address space VM, without fork, exec, openpty function. With some > >>> butchering of OSv and OpenMPI I was able to compile orted.so, and run > it > >>> inside OSv via mpirun (mpirun is on remote machine). The orted.so loads > >>> mpi_hello.so and executes its main() in new pthread. > >>> > >>> Which than aborts due to communication failure/timeout - as reported by > >>> mpirun. I assume that that mpi_hello.so should connect back to mpirun, > >>> and report 'something' about itself. What could that be? > >>> Plus, where could I extend that timeout period - once mpirun closes, > >>> output from opal_output is not shown any more. > >>> > >>> Is there some highlevel overview about OpenMPI, how are modules > >>> connected, what is 'startup' sequence etc? > >>> ompi_info lists compiled modules, but I still don't know how are they > >>> connected. > >>> > >>> So basically - I lack knowledge of OpenMPI internals, and would highly > >>> appreciate links for "rookie" developers. > >>> Say https://github.com/open-mpi/ompi/wiki/IOFDesign tells me what IOF > >>> is, and a bit about its working. So, if someone has any list of such > >>> links - could it be shared? > >>> > >>> _______________________________________________ > >>> devel mailing list > >>> de...@open-mpi.org <javascript:;> > >>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > >>> Link to this post: > >>> http://www.open-mpi.org/community/lists/devel/2015/10/18181.php > >>> > >> > >> _______________________________________________ > >> devel mailing list > >> de...@open-mpi.org <javascript:;> > >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > >> Link to this post: > >> http://www.open-mpi.org/community/lists/devel/2015/10/18189.php > > > > _______________________________________________ > > devel mailing list > > de...@open-mpi.org <javascript:;> > > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > > Link to this post: > http://www.open-mpi.org/community/lists/devel/2015/10/18190.php > > > -- > Jeff Squyres > jsquy...@cisco.com <javascript:;> > For corporate legal information go to: > http://www.cisco.com/web/about/doing_business/legal/cri/ > > _______________________________________________ > devel mailing list > de...@open-mpi.org <javascript:;> > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2015/10/18191.php >