The difference you are seeing here indicates that the "direct" run is using the rsh launcher, while the other run is using the Torque launcher.

So I gather that by "direct" you mean that you don't get an allocation from Maui before running the job, but for the other you do? Otherwise, OMPI should detect the that it is running under Torque and automatically use the Torque launcher unless directed to do otherwise.

The --set-sid option causes the orteds to separate from mpirun's process group. This was done on the rsh launcher to avoid having signals directly propagate to local processes so that mpirun could properly deal with them.

The --no-daemonize option on the Torque launch keeps the daemons in the PBS job so that Torque can properly terminate them all when you reach your time limit. We let the rsh-launched daemons daemonize so that they terminate the ssh session as there are system limits to the number of ssh sessions you can have concurrently open.

Once the daemon gets running on the node, there isn't anything different about how it starts a process that depends upon how the daemon was started. The environment seen by the processes will be the same either way, with the exception of the process group. Is there something about that application which is sensitive to the process group?

If so, what you could do is simply add -mca pls rsh to your command line when launching it. This will direct OMPI to use the rsh launcher, which will give you the same behavior as your "direct" scenario (we will still read the PBS_NODEFILE to get the allocation).

You might also want to upgrade to the 1.3 series - the launch system there is simpler and scales better. If your application cares about process group, you might still need to specify the rsh launcher (in 1.3, you would use -mca plm rsh to do this - slight syntax change), but it would be interesting to see if it has any impact...and would definitely run better either way.

Ralph



On Mar 31, 2009, at 8:36 PM, Rahul Nabar wrote:

2009/3/31 Ralph Castain <r...@lanl.gov>:
It is very hard to debug the problem with so little information. We
regularly run OMPI jobs on Torque without issue.

Another small thing that I noticed. Not sure if it is relevant.

When the job starts running there is an orte process. The args to this
process are slightly different depending on whether the job was
submitted with Torque or directly on a node. Could this be an issue?
Just a thought.

The essential difference seems that the torque run has the
--no-daemonize option whereas the direct run has a --set-sid option. I
got these via ps after I submitted an interactive Torque job.

Do these matter at all? Full ps output snippets reproduced below. Some
other numbers also seem different on closer inspection but that might
be by design.

###############via Torque; segfaults. ##################
rpnabar  11287  0.1  0.0  24680  1828 ?        Ss   21:04   0:00 orted
--no-daemonize --bootproxy 1 --name 0.0.1 --num_procs 2 --vpid_start 0
--nodename node17 --universe rpnabar@node17:default-universe-11286
--nsreplica "0.0.0;tcp://10.0.0.17:45839" --gprreplica
"0.0.0;tcp://10.0.0.17:45839"
######################################################


##############direct MPI run; this works OK################
rpnabar  11026  0.0  0.0  24676  1712 ?        Ss   20:52   0:00 orted
--bootproxy 1 --name 0.0.1 --num_procs 2 --vpid_start 0 --nodename
node17 --universe rpnabar@node17:default-universe-11024 --nsreplica
"0.0.0;tcp://10.0.0.17:34716" --gprreplica
"0.0.0;tcp://10.0.0.17:34716" --set-sid
##########################################################
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users

Reply via email to