1
1
Граф коммитов

2048 Коммитов

Автор SHA1 Сообщение Дата
Ralph Castain
210f591f1c Cleanup array addressing for opal_pointer_array
This commit was SVN r21710.
2009-07-17 22:20:30 +00:00
Ralph Castain
51a8b89a83 Treat termination of continuously operating processes as an abort
This commit was SVN r21709.
2009-07-17 22:20:05 +00:00
Ralph Castain
08e17b72cf Break a circular logic loop in the cm routed module.
This commit was SVN r21708.
2009-07-17 18:07:35 +00:00
Ralph Castain
ef20e778b3 Ensure that output ends on an appropriate suffix tag when --tag-output or --xml are selected.
When we read the input buffer, we don't always get a complete printf output - we sometimes end mid stream. We still need to add the suffix and a <CR> to keep the output working right.

This commit was SVN r21706.
2009-07-17 05:02:53 +00:00
Ralph Castain
4c1eb040b0 Enable the system to keep functioning even when multiple launches are occurring simultaneously.
This is a bit of a hack, but it does seem to allow the system to work. A better solution is being discussed.

This commit was SVN r21705.
2009-07-17 02:28:47 +00:00
Ralph Castain
c0e85a492c Deleted one too many lines...might be good to set the value of oldnode!
Thanks George.

This commit was SVN r21702.
2009-07-16 18:49:24 +00:00
George Bosilca
3e971e61f3 The system headers are supposed to be protected by #ifdef and not by #if.
This commit was SVN r21700.
2009-07-16 18:27:33 +00:00
George Bosilca
ed93b967f7 Remove some warnings about uninitialized values.
This commit was SVN r21695.
2009-07-16 17:38:09 +00:00
George Bosilca
52d013baae Add a missing header.
This commit was SVN r21694.
2009-07-16 17:21:37 +00:00
Ralph Castain
007d14f238 Add a threshold reporting level to the orte notifier framework. This takes a string value:
"critical" - any error at or above the critical severity will be reported (i.e., only critical errors)
"warning" - any error at or above the warning severity will be reported (i.e., warning and critical errors)
"notice" - pretty much everything will be reported

Default to "critical" to keep down the chatter.

Obviously, only places that call orte_notifier will be affected - all other error reporting (e.g., via opal_output calls) is unaffected.

This commit was SVN r21693.
2009-07-16 13:31:23 +00:00
Ralph Castain
ae6c36ae01 Ensure that jdata->num_procs is correct when the rank_file mapper is mapping more procs than are specified in the rank_file
This commit was SVN r21690.
2009-07-15 22:45:12 +00:00
Ralph Castain
e75d9b8296 Use orte_notifier to alert sys admins to checksum violations in the csum pml.
Add ability to store the RM's jobid string to tag the notifier message so that the sys admin knows what job had the problem.

This commit was SVN r21687.
2009-07-15 19:43:26 +00:00
Ralph Castain
90a2db25e9 Modify the errmgr callback function so it passes the proc that failed instead of only the jobid.
Update the cm routed module to detect and pass orted failures.

This commit was SVN r21682.
2009-07-15 11:43:33 +00:00
Ralph Castain
247ba7e90d Use the base function to claim a slot when fault groups are not defined
This commit was SVN r21681.
2009-07-15 11:28:58 +00:00
Ralph Castain
7161b37c76 Ensure that the stdin channel is closed when we kill a local proc - all other channels will automatically be closed when the proc terminates
This commit was SVN r21680.
2009-07-15 11:28:19 +00:00
Ralph Castain
dbac602be5 Add support for the add-host and add-hostfile MPI Info keys to allow Comm_spawn users to add new hosts to those already known by mpirun.
Requires full testing once comm_spawn is fixed (Edgar is working that now).

This commit was SVN r21664.
2009-07-14 14:34:11 +00:00
Ralph Castain
60edbc7220 Fix hetero operations and comm_spawn (to a point).
Remove all architecture references from ORTE and put them back in the modex using modex_send/recv calls.

Hetero operations are now fully supported again. Comm_spawn now works up to the point where it segfaults due to an error in the CID code - which now allows Edgar to dig further! :-)

This commit was SVN r21655.
2009-07-13 20:03:41 +00:00
Ralph Castain
1b418dd397 Fix segfault in comm_spawn. The underlying problem breaking comm_spawn, however, remains - the change to make modex non-blocking causes the system to fail due to the arch not getting properly set.
Fix for that coming shortly.

This commit was SVN r21646.
2009-07-13 15:13:06 +00:00
Ralph Castain
b97f885c00 Restore the original API to terminate individual processes instead of the entire job. This was originally removed as we didn't at that time know how to take advantage of it. Some of us are now working on proactive resilience methods that move procs prior to node failure, so this is now a required API. Modify the odls, plm, and orted functions to support this new functionality.
Continue work on the resilient mapper, completing support for fault groups.

This commit was SVN r21639.
2009-07-13 02:29:17 +00:00
Ralph Castain
e30826c6e1 Quiet some compiler warnings
This commit was SVN r21591.
2009-07-02 17:48:36 +00:00
Shiqing Fan
0b56a8a4d5 Enable IPv6 on Windows by default, and fix two type casts for IPv6 operations.
This commit was SVN r21586.
2009-07-02 14:41:03 +00:00
Ralph Castain
4adb3ed80f Print out a more meaningful and correct error message
This commit was SVN r21581.
2009-07-01 20:16:15 +00:00
Ralph Castain
f832352b45 Clean up some compiler warnings
This commit was SVN r21577.
2009-07-01 16:51:11 +00:00
Ralph Castain
9635db373d Ensure that we properly exit if the executable isn't found
This commit was SVN r21570.
2009-07-01 03:16:13 +00:00
Josh Hursey
91c4869cdc Use {{{ORTE_*_VERSION}}} instead of {{{OMPI_*_VERSION}}} in orte
This commit was SVN r21558.
2009-06-29 12:53:23 +00:00
Lenny Verkhovsky
e03807a3d1 small patch to extend current rankfile syntax to be compliant with orte_hosts syntax
making it possible to claim relative hosts from the hostfile/scheduler
by using +n# hostname, where  0 <= # < np
ex:
cat ~/work/svn/hpc/dev/test/Rankfile/rankfile
rank 0=+n0 slot=0
rank 1=+n0 slot=1
rank 2=+n1 slot=2
rank 3=+n1 slot=1

This commit was SVN r21557.
2009-06-28 11:20:56 +00:00
Shiqing Fan
656ec00611 Remove the definition of _WIN32_DCOM. It only enables DCOM when _WIN32_WINNT is less then 0x400 (Win 95, 98), and we are supporting 0x502(Win XP) and above in Open MPI. Thanks George for pointing this out.
This commit was SVN r21555.
2009-06-27 23:36:25 +00:00
Ralph Castain
d0a5468deb Continue gradual cleanup of pointer array addressing.
This commit was SVN r21550.
2009-06-26 22:40:28 +00:00
Ralph Castain
8ccc47b152 Don't wakeup mpirun too early - even though we ordered an abort, we have to wait for the procs/daemons to properly terminate, and give the kill_procs command a chance to get out.
This commit was SVN r21549.
2009-06-26 22:40:00 +00:00
Ralph Castain
0a92fe3739 Pull the HNP node from the right index
This commit was SVN r21547.
2009-06-26 21:43:09 +00:00
Ralph Castain
b96a71b62e Enable restart of individual processes upon command via the errmgr callback function. It needs an external application to drive this capability, so normal operations shouldn't be affected.
Does not support MPI applications. More work coming to update daemon accounting on movement of procs across nodes.

This commit was SVN r21545.
2009-06-26 20:54:58 +00:00
George Bosilca
f06198a999 BAD grpcomm now has the ability to execute the modex offline. The MPI process
prepare the send buffer, and post the collective order to the local daemon. It
then register the callback and return fromthe modex exchange. It will only 
wait for this modex completion when the modex_recv is called. Meanwhile, the
daemon will do the allgather.

This commit was SVN r21543.
2009-06-26 20:32:31 +00:00
George Bosilca
6239e714a6 Extract the modex unpacking in it's own function.
This commit was SVN r21542.
2009-06-26 20:29:54 +00:00
George Bosilca
760df7fcb9 Get rid of the static buffer. Instead use directly the user supplied one.
This commit was SVN r21541.
2009-06-26 19:21:27 +00:00
Shiqing Fan
b0b11e8465 Clean up things properly.
This commit was SVN r21539.
2009-06-26 15:20:19 +00:00
Shiqing Fan
6ba25951b4 Add a separate function for reading remote registry, so that it could be easily reused.
Add two options for plm process module, i.e. remote_env_prefix for getting OMPI prefix on remote computer by reading its user environment variable (OPENMPI_HOME), and remote_reg_prefix is similar, but it reads the registry on the remote computer. Reading remote env prefix has a higher priority than reading reg prefix, so that user can use their own installation of OMPI.

This commit was SVN r21538.
2009-06-26 13:35:45 +00:00
Shiqing Fan
5b4b8f8899 Get rid of a bunch of compiler warnings on Windows.
This commit was SVN r21536.
2009-06-26 07:51:39 +00:00
Lenny Verkhovsky
efa800efea removed orphan files in rankfile mapper
This commit was SVN r21532.
2009-06-25 17:14:10 +00:00
Josh Hursey
26363fcc8b Move the end timer to the end of the launch loop for the HNP. This matches the timing in the SLURM component, and makes the timing work when enabling the 'tree' based rsh launch.
This commit was SVN r21528.
2009-06-25 13:28:34 +00:00
Josh Hursey
8705c7edb1 Fix {{{orte_timing}}} for the RSH component of the PLM.
It never set the daemon launch counter before launching.
In the output for 'total job launch time' make the message match that of the SLURM PLM for easier parsing.

This commit was SVN r21527.
2009-06-25 12:37:58 +00:00
Shiqing Fan
07f7fe1a1b Add two CCP params, for user specifying stdout and stderr to files.
This commit was SVN r21521.
2009-06-25 09:03:50 +00:00
Ralph Castain
00fb79567f Shift some setup items from orterun to the ess/hnp module so that any HNP will perform them.
This commit was SVN r21520.
2009-06-25 03:00:53 +00:00
George Bosilca
fabebd140f If the daemon doesn't contain orted we're adding the prefix_dir and
bin_base twice. Create a temporary full_orted_cmd to cope with this
case.

This commit was SVN r21519.
2009-06-24 23:57:32 +00:00
George Bosilca
32f632ad5a Put back the multi-word command line argument for the RSH PLM.
This commit was SVN r21518.
2009-06-24 23:51:53 +00:00
George Bosilca
c0750343b5 Partially revert 21513. Beware of the exception on the orte_launch_agent which
is treated apart in orte_plm_base_setup_orted_cmd.

This commit was SVN r21517.
2009-06-24 23:48:14 +00:00
Ralph Castain
2e98ba3fd0 Complete implementation of regexp launch with static oob ports. Only enabled for SLURM at this time - migration to Torque coming
This commit was SVN r21516.
2009-06-24 20:31:26 +00:00
George Bosilca
53e76eed75 Missed an include.
This commit was SVN r21515.
2009-06-24 20:19:47 +00:00
George Bosilca
35033aeae9 Allow the PLM RSH to follow the routing table with the spawn, instead of the hard
coded binomial approach. Now, the PLM extract the children information from the
routed component, and the startup follow the routed topology. As a side effect,
we can now launch using linear or radix topologies, in addition to the previously
binomial topology.

This commit was SVN r21514.
2009-06-24 19:56:29 +00:00
George Bosilca
8cb8f28d9d When we get a report from an orted about its state, don't use the sender of
the message to update the structures, but instead use the information from
the URI. The reason is that even the launch report messages can get routed.

Deal with the orted_cmd_line in a single location.

This commit was SVN r21513.
2009-06-24 19:51:52 +00:00
George Bosilca
84a953a2a6 Be less verbose.
This commit was SVN r21512.
2009-06-24 19:49:06 +00:00
Shiqing Fan
6750657a97 Change the way that we detect cluster nodes status and clean up the CCP components.
Normally, any non-windows nodes should return  NodeStatus_Unreachable, but that's not true. We have noticed that Scientific Linux cluster nodes, which are in the same subnet as the Windows nodes, return NodeStatus_PendingApproval value, and the RAS CCP takes them as Windows nodes. So let's just use the "Ready" nodes.

This commit was SVN r21510.
2009-06-24 19:15:15 +00:00
Shiqing Fan
9bdf258d3c Add an initial support for remote process launch using WMI (Windows Management Instrumentation) in the environment where Windows 2003/2008 server and HPC pack are not installed. Users in a domain will be able to use domain computers as a cluster with their domain Credentials, the computers may run Windows XP or higher, e.g. Vista, and/or Windows 7 (later), with correct settings and permissions for WMI and Windows firewall.
This commit was SVN r21508.
2009-06-24 18:59:24 +00:00
George Bosilca
addaf7aaf8 Repair the tree spawn. The problem seems to come from the fact
that now the HNP send the messages using the routed component. In the case
of tree spawn, when a intermediary node spawn a child it doesn't know how
to forward a message to it, so when the node-map message is coming from
the HNP (as there is nothing yet in the contact/routing table) the message
is sent back the way it came. As a result the node-map message keeps jumping
between the HNP and the first level orteds.

The solution is to add a new option to the children orte_parent_uri, which
is only set when the orted is _not_ directly spawned by the HNP. When this
option is present on the argument list, the orted will add the parent to
its routing, and force the parent to update his routes (by sending the URI).
With this approach, the routing tree is build in same time as the processes
are spawned, and all messages from the HNP can be routed to the leaves.

However, this is far from an optimal solution. Right now, this so called tree
spawn, only spawn the children in a tree without doing anything about the
"connect back to the HNP" step. The HNP is flooded with reports from all the
orted. The total number of messages is higher than in the non tree startup
scheme, so we do not expect this approach to be scalable in the current
incarnation. A complete overhaul of the tree startup is required in order
improve the scalability. Stay tuned!

This commit was SVN r21504.
2009-06-23 22:10:25 +00:00
George Bosilca
6a00481285 We know what a daemon is there is no need to dig into the nidmap to find it out.
This commit was SVN r21503.
2009-06-23 20:43:45 +00:00
Ralph Castain
0ba845fed2 Continue development of regular expression support by implementing it for slurm launches. Works for both initial (cmd line and non-cmd line) and comm_spawn launch.
Additional work required to fully enable static port support when using cmd line regular expression launch system.

This commit was SVN r21502.
2009-06-23 20:25:38 +00:00
George Bosilca
bca8015b94 Add the proc_get_daemon capability to the bproc launcher.
This commit was SVN r21501.
2009-06-23 20:21:55 +00:00
George Bosilca
7339530061 Remove the prototype of a non-existant function.
This commit was SVN r21500.
2009-06-23 19:50:23 +00:00
George Bosilca
225f2b01c9 Don't release uninitialized objects.
This commit was SVN r21499.
2009-06-23 19:47:58 +00:00
Ralph Castain
7a802a9d3a Move the plm designation to the argv from the env to support those systems not setup to pass env via rsh.
This commit was SVN r21495.
2009-06-22 18:08:45 +00:00
Ralph Castain
c199dbb241 Revert r21480 - we already did open/select the PLM on non-HNP daemons. This commit broke slave launches on Torque and SLURM as it caused the PLM to be open/selected twice.
The open/select of the PLM is done in orte/mca/ess/base/ess_base_std_orted.c. It only is done when the PLM MCA param is set directing a specific PLM be selected. The function

orte_plm_base_orted_append_basic_args

clears the params passed to the daemon of any PLM selection passed to the HNP. Each PLM then adds a PLM directive if-and-only-if backend PLM support is desired. At present, Torque, SLURM, and rsh all specify this support and direct that the backend orted open the "rsh" PLM.

This commit was SVN r21488.

The following SVN revision numbers were found above:
  r21480 --> open-mpi/ompi@ed585bce8a
2009-06-20 03:58:00 +00:00
Camille Coti
ed585bce8a Initialize the PML if we are a non-HNP daemon.
If we do not initialize the PML, non-HNP daemons will not be able to use its functions. For example, RSH needs it when the tree_spawn mode is 
enabled: daemons call orte_pml.remote_spawn() function to spawn their children in the deployment tree. 

This commit was SVN r21480.
2009-06-19 18:50:06 +00:00
Ralph Castain
771ce035a5 Complete implementation of regular expression generator and parser - now handles leading zero's and suffix in node names.
This commit was SVN r21468.
2009-06-18 04:36:00 +00:00
Jeff Squyres
2a5813ac2d Silence a compiler warning.
This commit was SVN r21459.
2009-06-17 12:26:38 +00:00
Ralph Castain
85e55c5087 Make the IOF macros match for debug vs optimized builds
This commit was SVN r21453.
2009-06-16 22:30:53 +00:00
Rolf vandeVaart
633b996a0f Add sys/wait.h so we can compile on Solaris.
This commit was SVN r21451.
2009-06-16 19:48:43 +00:00
Ralph Castain
e9fc0a74fb Silence compiler warnings
This commit was SVN r21445.
2009-06-16 13:34:31 +00:00
Ralph Castain
74bd80afd9 Do not preload binaries or files if the app isn't being executed on this node
This commit was SVN r21444.
2009-06-16 03:12:30 +00:00
Ralph Castain
d1dd8c2653 Ensure we accurately count the number of new daemons to be launched, especially if we are restarting processes.
Have the resilient mapper also setup for new daemons in case the PLM needs them.

This commit was SVN r21437.
2009-06-15 13:55:01 +00:00
Ralph Castain
c0c56e30c9 Add a missing function to the resilient mapper so it defines daemons in case they are needed
This commit was SVN r21428.
2009-06-12 19:48:13 +00:00
Ralph Castain
170327e575 Reorg the rmaps components to collect shared code for byslot and bynode mapping in the base so we quit duplicating it in every mapper
This commit was SVN r21424.
2009-06-12 17:52:17 +00:00
Ralph Castain
1ee4acb247 Cleanup how we handle pointer arrays in the odls base fns to avoid potential segfaults
This commit was SVN r21423.
2009-06-12 17:51:23 +00:00
Ralph Castain
70b8c89b44 Fix slave spawn, which was hanging because the local daemon never saw the slave job report - it doesn't do it in the normal way, and so the slave launch system itself has to "fake it".
Also complete implementation to printout app_context objects so we see all the fields.

This commit was SVN r21408.
2009-06-10 19:01:08 +00:00
Ralph Castain
f24cefe3d2 Shift the check for adequate file descriptors to after we check if this proc is part of the job to be launched - no point in doing the check more often than absolutely required
This commit was SVN r21406.
2009-06-10 15:18:48 +00:00
Ralph Castain
87d7d693f0 Add a notifier call when the oob retries are exceeded so sys admins are aware of the problem
This commit was SVN r21405.
2009-06-10 15:17:16 +00:00
George Bosilca
77a6f27d44 Update the call to orte_plm_base_create_jobid based on the new interface.
This commit was SVN r21393.
2009-06-08 23:53:53 +00:00
Ralph Castain
86d55d7ebf Fix tight loops over comm_spawn by checking to see if the system has enough child procs and file descriptors available before attempting to launch. If not, introduce a 1sec delay and then test again. This provides a chance for the orted to complete processing of proc terminations from other children, hopefully creating room for the new proc(s).
Update the loop_spawn test to remove a sleep so that it runs at max speed, letting the new code catch when we overrun ourselves and wait for room to be cleared for the next comm_spawn.

This commit was SVN r21390.
2009-06-08 18:28:26 +00:00
Shiqing Fan
5a90b3068e Two type casts.
This commit was SVN r21388.
2009-06-07 12:51:46 +00:00
Ralph Castain
0a67bcb653 Minor cleanups
This commit was SVN r21387.
2009-06-06 15:44:00 +00:00
Ralph Castain
ccf6b2cb8c Implement the ability to register callbacks when specified error states occur
This commit was SVN r21386.
2009-06-06 01:15:31 +00:00
Ralph Castain
0336460b0a Continue implementation of resilient operations by supporting reuse of jobids for restarted procs. Ensure that restarted processes have valid node and local ranks, and that node rank values are passed to direct-launched processes.
This commit was SVN r21385.
2009-06-06 01:08:47 +00:00
Ralph Castain
3815bfbba6 Provide a better error message when the oob cannot send a message after exhausting retries, and then have the proc abort so the job doesn't just hang forever.
Since it could be a daemon that needs to abort, cleanup the abort sequence so the daemon can exit as cleanly as possible.

This commit was SVN r21361.
2009-06-02 23:57:12 +00:00
Ralph Castain
30a357bd8d Provide a "progress meter" for launch that outputs progress as we are launching, especially on large jobs. Also, provide a timeout mechanism so that we cleanly abort if we don't get a response from the next daemon in a specified time.
This commit was SVN r21359.
2009-06-02 23:52:02 +00:00
Ralph Castain
303e3a1d39 Add a resilient mapping capability - currently maps by fault groups (if provided), still need to add the remapping capability for failed procs.
This commit was SVN r21350.
2009-06-02 03:23:20 +00:00
Jeff Squyres
df7c387155 I'm (temporarily?) removing this entry because there's no .window file
in this directory and it's causing "make dist" to break.

Shiqing -- is there a missing file in this directory?  If so, please
add it and restore the EXTRA_DIST line I just removed.  Thanks!

This commit was SVN r21340.
2009-06-01 14:07:08 +00:00
Ralph Castain
137104b786 Initial support for CMs - needs to be pruned as CM support develops
This commit was SVN r21335.
2009-05-30 20:57:23 +00:00
Ralph Castain
4a31c65126 Add initial support for CMs
This commit was SVN r21334.
2009-05-30 20:55:55 +00:00
Ralph Castain
a1005a716f Allow CM's to select the default errmgr component. Add support for error function callbacks
This commit was SVN r21333.
2009-05-30 20:43:42 +00:00
Ralph Castain
a95731fc68 Minor update to let apps set their own component selections if desired, while preserving slave behavior
This commit was SVN r21332.
2009-05-30 20:42:23 +00:00
Ralph Castain
4e0223a638 Add the ability to directly launch procs via rsh/ssh. Collect common functions in plm/base. Create a new global param to set assume_same_shell, alias'd back to plm_rsh_assume_same_shell (not deprecated).
This commit was SVN r21328.
2009-05-30 01:10:25 +00:00
Jeff Squyres
5ea1b776f7 Remove a compiler warning about an empty format string. The proper
way to have no abort message is to pass NULL (the errmanager is smart
enough to handle this case and not emit any extra message).

This commit was SVN r21311.
2009-05-28 13:32:37 +00:00
Ralph Castain
17485ca604 Minor mod per Greg Watson, plus some cleanups to make George smile...or at least grimace a little less! :-)
This commit was SVN r21309.
2009-05-28 00:55:01 +00:00
Ralph Castain
cf3a5c44db Modify the xml output per devel-list discussion with Greg Watson
This commit was SVN r21285.
2009-05-27 00:43:54 +00:00
Jeff Squyres
e6a32f13bb Add missing header file
This commit was SVN r21273.
2009-05-26 20:57:44 +00:00
Iain Bason
e7ff2368d6 This fixes trac:1930.
Emit a more informative error message when the file descriptor limit is
reached during an accept() call.  Also, abort when the accept fails to
avoid an infinite loop.

Emit a more informative error message when the help file can't be opened.

This commit was SVN r21271.

The following Trac tickets were found above:
  Ticket 1930 --> https://svn.open-mpi.org/trac/ompi/ticket/1930
2009-05-26 20:03:21 +00:00
Rolf vandeVaart
db04b6ca71 This change does two things. First, do not emit error
messages when delivering a signal (like STOP or CONT)
to a non-existant process.  This fixes trac:1929.
Also, only print one error message in the other cases.

This commit was SVN r21263.

The following Trac tickets were found above:
  Ticket 1929 --> https://svn.open-mpi.org/trac/ompi/ticket/1929
2009-05-22 14:59:27 +00:00
Ralph Castain
cc7620c210 Fix orte-ps so it properly ignores/reports stale HNPs, but continues to provide output on running ones. Add a timeout on the send side of the comm so we don't hang while trying to send the info request to the non-existent HNP.
This commit was SVN r21257.
2009-05-21 02:42:21 +00:00
Jeff Squyres
154dc846b5 Remove extra ";", which caused a bazillion warnings in MTT.
This commit was SVN r21255.
2009-05-20 13:16:31 +00:00
Rainer Keller
5c80033aa2 - Eliminate icc warning w/ regard to __attribute__((__format__)) on
function pointers... Needed checking in opal_check_attributes.m4

This commit was SVN r21254.
2009-05-20 00:39:22 +00:00
Ralph Castain
f139cfd28a Fully enable the use of static ports to minimize connections on mpirun. When static ports are provided, daemons will automatically use routes defined by the selected routed module to callback to mpirun during startup, thus elimating the dedicated daemon-to-mpirun connection. Therefore, the total number of connections on mpirun will equal the fanout of the routed module (instead of #nodes in job).
Add a new tm ess module that exploits this capability.

Update the various plm modules to enable it - just a minor change reflecting an added param to a plm base function.

Additional fixes included:

1. remove an erroneous cleanup of session directories in the tool finalize procedure - tools don't create session directories to begin with!

2. fix a duplicate free when attempting to execute a non-existent app

3. cleanup an typo in the comm utilities 

4. fix comm_spawn - was perturbed by the changes in pack/unpack of orte_job_t to properly support orte-ps

Been tested on slurm and tm machines, using all tests in orte/test/mpi. May run into issue with command line length on large jobs due to inclusion of node info to support static ports - will fix this next with addition of regexp generator to compress that info.

This commit was SVN r21248.
2009-05-16 04:15:55 +00:00
Rainer Keller
b98a095d22 - Similar to r21229, check for return code from
orte_rml_base_update_contact_info

This commit was SVN r21233.

The following SVN revision numbers were found above:
  r21229 --> open-mpi/ompi@9ad9b20847
2009-05-14 00:36:51 +00:00
Rainer Keller
9b7c4c2354 - Update comment
This commit was SVN r21232.
2009-05-14 00:32:43 +00:00
Rainer Keller
b3daf7184a - Fix Coverity CID 1272:
Need to release src in case of error

 - Fix Coverity CID 1271:
   basename is allocated by opal_basename and later overwritten

This commit was SVN r21230.
2009-05-14 00:28:35 +00:00
Rainer Keller
73fd329cbd - Add the proper __opal_attribute_format__(__printf__...) to
declarations.

This commit was SVN r21226.
2009-05-14 00:10:59 +00:00
Ralph Castain
fd5dd9c4cb Ensure we correctly cycle through map_by_slot when mapping leftover procs in rankfile mapper
This commit was SVN r21219.
2009-05-12 15:41:55 +00:00
Shiqing Fan
9f624cd9a2 A small fix, the right one to use in orte.
This commit was SVN r21213.
2009-05-12 09:53:34 +00:00
Ralph Castain
d396f0a6fc Per the discussion on the devel list, move the binding of processes to processors from MPI_Init to process start. This involves:
1. replacing mpi_paffinity_alone with opal_paffinity_alone - for back-compatibility, I have aliased mpi_paffinity_alone to the new param name. This caus
es a mild abstraction break in the opal/mca/paffinity framework - per the devel discussion...live with it. :-) I also moved the ompi_xxx global variable
 that tracked maffinity setup so it could be properly closed in MPI_Finalize to the opal/mca/maffinity framework to avoid an abstraction break.

2. Added code to the odls/default module to perform paffinity binding and maffinity init between process fork and exec. This has been tested on IU's odi
n cluster and works for both MPI and non-MPI apps.

3. Revise MPI_Init to detect if affinity has already been set, and to attempt to set it if not already done. I have *not* tested this as I haven't yet f
igured out a way to do so - I couldn't get slurm to perform cpu bindings, even though it supposedly does do so.

This has only been lightly tested and would definitely benefit from a wider range of evaluation...

This commit was SVN r21209.
2009-05-12 02:18:35 +00:00
Ralph Castain
fa839f4a30 Fix a bug in the rankfile mapper when nooversubscribe is set
This commit was SVN r21208.
2009-05-11 23:44:59 +00:00
Ralph Castain
388292aed5 Fix my old "friend" singleton comm_spawn
This commit was SVN r21207.
2009-05-11 14:53:02 +00:00
Ralph Castain
c45ff0d59f Take the next step towards fully utilizing static ports for the daemons to eliminate the initial "phone home" to mpirun by modifying the orted termination procedure to eliminate the need for a full barrier-like operation. Instead, we add a "onesided" barrier to the grpcomm framework API that releases the orted once it has completed its own contribution to the barrier - i.e., the orteds now exit as the "ack" message rolls up towards mpirun instead of sending the "ack" directly to mpirun.
This causes the orteds in the routing tree to remain alive until all termination "acks" from orteds below them have passed through. Thus, if we use static ports, we no longer require a direct orted-to-mpirun connection.

Also modify the binomial routed module so it conforms to what all the other routed modules do and have all messages pass along the routing tree instead of short-circuiting between orteds. This further reduces the number of ports being opened on backend nodes.

This commit was SVN r21203.
2009-05-11 14:11:44 +00:00
Ralph Castain
c6f0499720 Some cleanups required from last night's commits to resolve some race conditions and ensure we cleanup properly. Also, remove some debug output that was unintentionally left "on" by default.
This commit was SVN r21202.
2009-05-11 14:03:07 +00:00
Ralph Castain
10a694ea43 The current errmgr.register_callback API takes a jobid as one of its argument. The intent was to have the errmgr check the jobid of the job being reported to it and, if it matches the jobid that was registered, call the specified callback function.
Unfortunately, we assign the jobid during the plm.spawn procedure - which means it happens -after- control of the job has passed out of the range of mpirun (or whatever program is spawning the job), so it is too late for that main program to register a callback function. If the main program registers tha callback -after- we return from plm.spawn, then it (a) cannot get a callback for failed-to-start, and (b) will miss the callback if a proc aborts in the time between job launch and the call to errmgr.register_callback.

This commit fixes the problem by adding callback-related fields to the orte_job_t object. Thus, the main program can specify what job states should initiate a callback, what function is to be called, and what data is to be passed back by simply filling in the orte_job_t fields prior to calling plm.spawn.

Also, fully implement the "copy" function for the orte_job_t object.

NOTE: as a result of this change, the errmgr.register_callback API may no longer be of any value.

This commit was SVN r21200.
2009-05-11 03:38:15 +00:00
Ralph Castain
69cd4e9d8a Continue cleanup of opal_pointer_array references to replace direct addressing with opal_pointer_array_get_item.
Also, be much more careful and complete in recovering resources of terminated jobs.

This commit was SVN r21199.
2009-05-11 03:27:57 +00:00
Josh Hursey
d920a302f3 Some more C/R related commits that have been sitting off-trunk for a while.
* Pass the sequence number of the checkpoint along with reference from the global to the local coordinator.
 * 'orte-restart --apponly' now just generates the app context file, and does not run with it. This provides the user the ability to edit the file before launching. 
 * Add a OPAL_CRS_NONE state
 * Split the INC into three distinct parts.
 * Implement a restart mechanism for the 'none' component. If given a context it simply execvp()'s it.

This commit was SVN r21195.
2009-05-08 20:51:13 +00:00
Josh Hursey
5d0607395d A couple of C/R related commits that have been sitting off-trunk for a while.
* Add 'orte-checkpoint -l' option that lists all checkpoints currently available on the system.
 * Add 'orte-restart -i' which prints information regarding the checkpoint targeted for restart.
 * Add ability to extract the timing metadata.
 * Fix show_help() in the orte-checkpoint and orte-restart tools. They should be using the opal versions instead of the orte versions (otherwise nothing is printed).

This commit was SVN r21194.
2009-05-08 19:41:11 +00:00
Rainer Keller
b0754071b7 - For compilation with BLCR and --with-ft=cr, #include <string.h>
This commit was SVN r21185.
2009-05-07 16:14:59 +00:00
Greg Koenig
60485ff95f This is a very large change to rename several #define values from
OMPI_* to OPAL_*.  This allows opal layer to be used more independent
from the whole of ompi.

NOTE: 9 "svn mv" operations immediately follow this commit.

This commit was SVN r21180.
2009-05-06 20:11:28 +00:00
Shiqing Fan
cd565923d3 Completely remove ltdl support for Windows build.
This commit was SVN r21170.
2009-05-05 18:59:13 +00:00
Josh Hursey
8b8bee04d6 It seems that some of the patches were missed in r21131. :(
This patch contains the following items:
 * Fix the flag passed to open() for the read side of the named pipe between the local and app coordinator. There is a race condition when using O_RDWR on a named pipe (not sure how that bug got in there in the first place).
 * Adjust control in the C/R thread timing
 * Clarify return code in BLCR component
 * Allow the user to adjust the max wait time for the named pipes in the FileM local coordinator by using the MCA parameter "snapc_full_max_wait_time" (Default: 20 seconds)
 * If the application terminates while there are active FileM operations, force mpirun to wait on these operations to complete.
 * Allow the user to set the local copy command (Default: cp) via MCA parameter "filem_rsh_cp"
 * Implement the ability to throttle the number of outgoing connections in FileM. At larger scales this type of explicit throttling helps prevent overwhelming the HNP machine. Default: 10, set via MCA parameter: {{{filem_rsh_max_outgoing}}}

This commit was SVN r21167.

The following SVN revision numbers were found above:
  r21131 --> open-mpi/ompi@0deb009225
2009-05-05 16:45:49 +00:00
Ralph Castain
e615af8b80 Silence coverity...
This commit was SVN r21149.
2009-05-04 22:22:47 +00:00
Ralph Castain
fa531a842d Send all xml output over stdout
This commit was SVN r21147.
2009-05-04 18:51:22 +00:00
Ralph Castain
eac027e6bc In reviewing last night's MTT of trunk, discovered that IU was still testing the old plm slurmd module. This was created solely for debugging proposed changes to the slurm module which have long since been integrated across - and thus, the slurmd module hasn't been maintained for quite some time.
Which explains why the tests using that module all failed...sigh.

My bad for not cleaning it out a long time ago.

This commit was SVN r21145.
2009-05-04 11:25:32 +00:00
Ralph Castain
4be24521aa Modify the orte_process_info structure to handle a broader range of process types by replacing the individual booleans with a 32-bit bitmap. Use a set of #define's to define the individual bits, and a set of matching macros to test for them. Update the orte code base to use the macros instead of the booleans.
Minor mod to the ompi layer to use the new #define's - just one-line name replacements.

This commit was SVN r21144.
2009-05-04 11:07:40 +00:00
Rainer Keller
c32516c9a3 - Include errno.h, to get MTT for sun to run through
This commit was SVN r21143.
2009-05-04 09:13:16 +00:00
Ralph Castain
0b9116b1e3 Don't really need all those if statements...duh. Cleanup the code a bit.
This commit was SVN r21139.
2009-05-01 17:11:44 +00:00
Ralph Castain
d98fc311e9 Restore the ability to specify a range of dynamic ports for use by the TCP OOB module. The range can now be specified as any combination of ranges (e.g., 1-5,8,10,21-30). The system will error out if you attempt to specify both static and dynamic ports.
This commit was SVN r21138.
2009-05-01 15:57:36 +00:00
Josh Hursey
0deb009225 A bunch of improvements focused on Snapshot Coordination (SnapC) and File Management (FileM).
* Improved timing in SnapC Full Global Coordinator
 * Improved scalability of the SnapC Full protocol
 * Minor improvements to the error reporting mechanisms in SnapC and FileM
 * Improved the memory usage of the metadata routines - now the owner of the data is more explicit.
 * Added a FileM hint to indicate when files stored locally can be moved to/from a globally mounted file system using just the 'cp' command instead of the 'rcp/scp' command. Slightly improves performance, but not too drastically. Can be set using the following SnapC MCA parameter: {{{snapc_base_global_shared=1}}}
 * Implement the ability to throttle the number of outgoing connections in FileM. At larger scales this type of explicit throttling helps prevent overwhelming the HNP machine. Default: 10, set via MCA parameter: {{{filem_rsh_max_outgoing}}}
 * Add a few diagnostic/debugging features to SnapC and FileM.

This commit was SVN r21131.
2009-04-30 16:55:39 +00:00
Shiqing Fan
5b76f583e4 No RSH support on Windows.
This commit was SVN r21120.
2009-04-30 09:01:20 +00:00
Ralph Castain
21a66c0eff Fix a couple of minor errors in slave launch support
This commit was SVN r21118.
2009-04-30 02:54:25 +00:00
Rainer Keller
1c7dd5a4aa - Fix ‘ret’ may be used uninitialized in this function
As orte_util_nidmap_finalize does not return an error, initialize
    ret=ORTE_SUCCESS

This commit was SVN r21115.
2009-04-29 15:29:35 +00:00
Ralph Castain
1fb92e2766 Cleanup the slave launch - completed debugging. w00t!
This commit was SVN r21113.
2009-04-29 14:37:33 +00:00
Ralph Castain
7194f1636f Complete the rewrite of rankfile mapper - ensure that all non-specified ranks are properly mapped when dealing with multiple app_contexts
This commit was SVN r21111.
2009-04-29 14:06:53 +00:00
Ralph Castain
e003e0447a Ensure we terminate cleanly when we do not launch
This commit was SVN r21110.
2009-04-29 14:06:12 +00:00
Ralph Castain
36671eb962 Replace missing header
This commit was SVN r21109.
2009-04-29 13:50:11 +00:00
Ralph Castain
adc73b0fe0 Continue replacing missing headers
This commit was SVN r21108.
2009-04-29 13:34:41 +00:00
Rainer Keller
71052deebb - Get rid of incompatible implicit declaration
Need #include string.h

This commit was SVN r21104.
2009-04-29 08:11:37 +00:00
Rainer Keller
be008f2215 - In case of OPAL_ENABLE_FT == 1, we need to
#include "opal/runtime/opal_cr.h"

   Thanks to Caciano Machado for reporting.

This commit was SVN r21101.
2009-04-29 06:57:49 +00:00
Rainer Keller
4ffec30e94 - Guys, we don't have a configure-test for errno.h (should we?)
Anyway, keeps us from compiling on Jaguar.

This commit was SVN r21100.
2009-04-29 03:18:51 +00:00
Ralph Castain
5fa3b38d3c Revert r21097 as this results in multiple instantiations of global variables. Instead, fix the problem by including orte_globals.h in the orte_init.c.
Since I already had some changes in there, add in the rmaps rank_file changes - should work okay, but not fully tested.

This commit was SVN r21099.

The following SVN revision numbers were found above:
  r21097 --> open-mpi/ompi@88ae934c26
2009-04-29 02:13:14 +00:00
Rainer Keller
221fb9dbca ... Delayed due to notifier commits earlier this day ...
- Delete unnecessary header files using
   contrib/check_unnecessary_headers.sh after applying
   patches, that include headers, being "lost" due to
   inclusion in one of the now deleted headers...

   In total 817 files are touched.
   In ompi/mpi/c/ header files are moved up into the actual c-file,
   where necessary (these are the only additional #include),
   otherwise it is only deletions of #include (apart from the above
   additions required due to notifier...)

 - To get different MCAs (OpenIB, TM, ALPS), an earlier version was
   successfully compiled (yesterday) on:
   Linux locally using intel-11, gcc-4.3.2 and gcc-SVN + warnings enabled
   Smoky cluster (x86-64 running Linux) using PGI-8.0.2 + warnings enabled
   Lens cluster (x86-64 running Linux) using Pathscale-3.2 + warnings enabled

This commit was SVN r21096.
2009-04-29 01:32:14 +00:00
Rainer Keller
6c1cce8761 - For the upcoming header cleanup commit,
several header files (previously included by header-files)
   now have to be moved "upward".
   This is mainly system headers such as string.h, stdio.h and for
   networking, but also some orte headers.

This commit was SVN r21095.
2009-04-29 00:49:23 +00:00
Ralph Castain
f3cfe32b5d Update the slave launch and cleanup procedures. Track what files have been moved to the slave node to avoid attempting to copy them multiple times on top of each other. Cleanup any pre-positioned files, kill any lingering apps, and cleanup the session directory area upon termination of the daemon.
This commit was SVN r21094.
2009-04-29 00:11:19 +00:00
Ralph Castain
a405f04f1b Add missing header file
This commit was SVN r21088.
2009-04-28 14:30:52 +00:00
Jeff Squyres
fd1e9a6313 Minor fix -- receive 3 ints, not 2.
This commit was SVN r21077.
2009-04-27 14:10:48 +00:00
Jeff Squyres
b661f160ba Add new "command" notifier component. This component allows forking
any arbitrary command as a notifier, potentially allowing just about
anything to be a notifier.  This component forks a child during
orte_init() to avoid forking problems with some OS-bypass networks.

The following MCA parameters are available:

notifier_command_cmd:
  Default: /sbin/initlog -f $s -n "Open MPI" -s "$S: $m (errorcode: $e)"
  Command to execute, with substitution.  $s = integer severity; $S =
  string severity; $e = integer error code; $m = string message

notifier_command_timeout:
  Default: 30
  Timeout (in seconds) of the command

This commit was SVN r21076.
2009-04-27 13:40:36 +00:00
Jeff Squyres
e5103e1f3d Actually, make than an enum instead of a #define
This commit was SVN r21075.
2009-04-27 12:50:53 +00:00
Jeff Squyres
40990c1982 Add a NOTICE notifier severity
This commit was SVN r21074.
2009-04-27 12:47:54 +00:00
Jeff Squyres
df54a00b1e Minor comment fix
This commit was SVN r21073.
2009-04-27 12:47:30 +00:00
Shiqing Fan
4067d739b4 Add a new CMake module for finding Windows CCP libraries, so that we can remove the library files in the source tree.
This commit was SVN r21071.
2009-04-24 16:51:31 +00:00
Shiqing Fan
d8f61695cd Remove a few .ompi_ignore, and add configure scripts, so that the source files of these components will be put into the tarball.
This commit was SVN r21070.
2009-04-24 16:49:01 +00:00
Shiqing Fan
3d4e0472d6 Add windows support files into the tarball, including .windows, CMakeLists.txt files, and CMake modules. Thanks to Jeff for testing it on Linux.
This commit was SVN r21069.
2009-04-24 16:39:33 +00:00
Jeff Squyres
61b2f0b9ea Fix typo preventing compilation (!)
This commit was SVN r21016.
2009-04-15 16:50:41 +00:00
Ralph Castain
96d1ff506e Be silent when the lifeline is lost - we don't want to hear about it
This commit was SVN r21011.
2009-04-15 01:34:04 +00:00
Ralph Castain
8b0a470543 Continue work to cleanup user options for slave launch
This commit was SVN r21003.
2009-04-14 20:05:51 +00:00
Ralph Castain
a952dca062 Fix a bug where we created the correct path to the file, but didn't use it
This commit was SVN r20990.
2009-04-14 14:17:43 +00:00
Ralph Castain
9c39a3edd7 Enable the passing of MCA params to dynamically spawned jobs. This creates a new info_key "ompi_param" that allows a user to specify MCA params for a dynamically spawned job.
We currently apply all of the MCA params in the parent job to the child. This commit allows a user to specify additional params for the child job, and to override any pre-existing params with the new value so they can better control behavior of the child job.

This commit was SVN r20989.
2009-04-14 14:15:49 +00:00
Ralph Castain
9c2f17eb01 Cleanup the nidmap lookup functions and add some comments explaining how we handle the nid, job, and pmap arrays. This fixes a problem we have less-than-full participation in a comm_spawn, causing holes to exist in the pmap array.
Update the slave spawn tests to properly indicate participation as being solely MPI_COMM_SELF.

This commit was SVN r20961.
2009-04-09 02:48:33 +00:00
Rainer Keller
9b7ab92de9 - Per mail and diff from Ken Matney:
Allow multiple retries to open file as well, for ALPS to supply the file.

This commit was SVN r20932.
2009-04-02 17:46:08 +00:00
Shiqing Fan
7a7c4bcb4b fix a type cast for windows.
This commit was SVN r20928.
2009-04-02 08:45:48 +00:00
Terry Dontje
4b43911c6a Remove superfluous spaces in manpages that were causing catman to
generate mangled windex files.  Made ompi-top.1 and ompi-iof.1 build
by default.  Also, added the orte-top synonym to the ompi-top manpage.

This commit was SVN r20915.
2009-04-01 14:40:27 +00:00
Aurelien Bouteiller
ccc8aa5784 Fix a segfault caused by making copies of the pointer to an array that is realloced meanwhile. The base pointer can change its address while the copy still tries to access pages that are not ours anymore.
As a safeguard, good coding style should never access directly opal_pointer_array_t->addr or opal_value_array_t->bytes_array. I found another instance of the same bug somewhere else and will commit a separate patch for it. 

This commit fixes ticket #1858 and solves user case http://www.open-mpi.org/community/lists/devel/2009/03/5731.php .

Aurelien

This commit was SVN r20903.
2009-03-31 15:41:55 +00:00
Jeff Squyres
49b60029e6 * Set svn:ignore
* Fix filename in Makefile.am

This commit was SVN r20868.
2009-03-25 13:32:55 +00:00
Ralph Castain
d0b50a2b9b Eliminate an annoying "not found" message when a job abnormally terminates. In this case, we can get a race condition where the job object has been removed, but updates are continuing to flow into the system.
This commit was SVN r20857.
2009-03-24 18:06:49 +00:00
Ralph Castain
9564ab8cc3 Resolve a user-reported problem where the ifislocal check would return false, but the node name is the same as the HNP's node name because we are on the same node.
This commit was SVN r20856.
2009-03-24 15:23:22 +00:00
George Bosilca
faca1aeeb9 Support for password structures without a specified shell or a NULL/empty shell.
This commit was SVN r20853.
2009-03-24 13:26:57 +00:00
Rainer Keller
bff1b2a22b - Finally add the missing opal/util/output.h
for the OPAL_OUTPUT_VERBOSE macro.
 - ompi/errhandler/errhandler_predefined.h:
   Well, just the missing fwd declarations...

This commit was SVN r20820.
2009-03-17 22:37:15 +00:00
Rainer Keller
64dcd85ba1 - This one was missing
This commit was SVN r20818.
2009-03-17 22:02:51 +00:00
Rainer Keller
6f808d9b05 Preparation work for another commit (after RFC):
- This patch solely _adds_ required headers and is rather localized
   The next patch (after RFC) heavily removes headers (based on script)
 - ompi/communicator/communicator.h: For sources that use
   ompi_mpi_comm_world, don't require them to include "mpi.h"
 - ompi/debuggers/ompi_common_dll.c: mca_topo_base_comm_1_0_0_t needs
   #include "ompi/mca/topo/topo.h"
 - ompi/errhandler/errhandler_predefined.h:
   ompi/communicator/communicator.h depends on this header file!
   To prevent recursion just have fwd declarations.
   #include "ompi/types.h" for fwd declarations of the main structs.
 - ompi/mca/btl/btl.h: #include "opal/types.h" for ompi_ptr_t 
 - ompi/mca/mpool/base/mpool_base_tree.c: We use ompi_free_list_t and
   ompi_rb_tree_t, so have the proper classes
 - ompi/mca/op/op.h:
   Op is pretty self-contained: Nobody up to now has done
   #include "opal/class/opal_object.h"
 - ompi/mca/osc/pt2pt/osc_pt2pt_replyreq.h:
   #include "opal/types.h" for ompi_ptr_t 
 - ompi/mca/pml/base/base.h:
   We use opal_lists  
 - ompi/mca/pml/dr/pml_dr_vfrag.h:
   #include "opal/types.h" for ompi_ptr_t
 - ompi/mca/pml/ob1/pml_ob1_hdr.h:
   #include "ompi/mca/btl/btl.h" for mca_btl_base_segment_t
 - opal/dss/dss_unpack.c:
   #include "opal/types.h"
 - opal/mca/base/base.h:
   #include "opal/util/cmd_line.h" for opal_cmd_line_t
 - orte/mca/oob/tcp/oob_tcp.c:
   #include "opal/types.h" for opal_socklen_t
 - orte/mca/oob/tcp/oob_tcp.h:
   #include "opal/threads/threads.h" for opal_thread_t
 - orte/mca/oob/tcp/oob_tcp_msg.c:
   #include "opal/types.h" 
 - orte/mca/oob/tcp/oob_tcp_peer.c:
   #include "opal/types.h"  for opal_socklen_t
 - orte/mca/oob/tcp/oob_tcp_send.c:
   #include "opal/types.h" 
 - orte/mca/plm/base/plm_base_proxy.c:
   #include "orte/util/name_fns.h" for ORTE_NAME_PRINT
 - orte/mca/rml/base/rml_base_receive.c:
   #include "opal/util/output.h" for OPAL_OUTPUT_VERBOSE
 - orte/mca/rml/oob/rml_oob_recv.c:
   #include "opal/types.h" for ompi_iov_base_ptr_t
 - orte/mca/rml/oob/rml_oob_send.c:
   #include "opal/types.h" for ompi_iov_base_ptr_t
 - orte/runtime/orte_data_server.c
   #include "opal/util/output.h" for OPAL_OUTPUT_VERBOSE
 - orte/runtime/orte_globals.h:
   #include "orte/util/name_fns.h" for ORTE_NAME_PRINT

 Tested on Linux/x86-64

This commit was SVN r20817.
2009-03-17 21:34:30 +00:00
Jeff Squyres
b5c38f74b0 Always tie the child stdin to /dev/null.
This commit was SVN r20796.
2009-03-17 03:17:50 +00:00
Jeff Squyres
27bacbee3c Per discussion on #1833, we should ''always'' dup /dev/null into ssh's
stdin.

This commit was SVN r20790.
2009-03-16 19:12:48 +00:00
George Bosilca
02bee12de8 Small cleanup.
This commit was SVN r20781.
2009-03-14 23:11:24 +00:00
Brian Barrett
716b505789 Fix for #1832. The stdin for the forked ssh wasn't being closed, so it was
"eating" all the stdin, leaving nothing for mpirun to forward on to the child
process

This commit was SVN r20776.
2009-03-13 22:34:56 +00:00
Rainer Keller
d8cf4c0fec - Get pgcc on XT to complain less:
In case we use memcmp, strlen, strup and friends include <string.h>
   Also several constants.h are not included directly
 - Let's have mca_topo_base_cart_create  return ompi-errors in
   ompi/mca/topo/base/topo_base_cart_create.c

This commit was SVN r20773.
2009-03-13 02:10:32 +00:00
Rolf vandeVaart
2b365d7d90 Fix so it builds on Solaris.
This commit was SVN r20758.
2009-03-10 18:38:42 +00:00
Jeff Squyres
4e53885f73 Fix a compiler warning and ensure that "sent" is initialized to 0.
This commit was SVN r20756.
2009-03-09 15:37:04 +00:00
Jeff Squyres
8b5e6c0425 Because I could. :-)
Relevant MCA params:

 * notifier_twitter_username: Twitter username
 * notifier_twitter_password: Twitter password

This commit was SVN r20750.
2009-03-06 22:02:17 +00:00
Jeff Squyres
2373bc36e2 Add the "smtp" notifier component. It uses libesmtp
(http://www.stafford.uklinux.net/libesmtp/) via the --with-esmtp(=DIR)
configure option.  Several MCA parameters must be set in order to use
this component:

 * notifier_smtp_server: SMTP server IP address or name; must be supplied
 * notifier_smtp_port: port to talk to on the server; defaults to 25
 * notifier_smtp_to: comma-delimited list of email addresses to send
   the mail to; must be supplied
 * notifier_smtp_from_name: free-form "name" who the mail is from;
   defaults to "Open MPI Notifier"
 * notifier_smtp_from_addr: email address from the mail is from; must
   be supplied
 * notifier_smtp_subject: subject of the mail; defaults to "Open MPI
   notifier"
 * notifier_smtp_body_prefix: prefix of the body of the mail; defaults
   to a sensible value
 * notifier_smtp_body_suffix: suffix of the body of the mail; defaults
   to a sensible value

Also libesmtp supports SMTP AUTH protocols, this component does not.
If people want/need those kinds of features, they're relatively easy
to add -- I just didn't bother [yet] before I knew if anyone cared.

This commit was SVN r20749.
2009-03-06 21:59:19 +00:00
Jeff Squyres
c17616c332 Change the ordering slightly; don't save anything until we know all
went well.

This commit was SVN r20748.
2009-03-06 21:49:38 +00:00
Shiqing Fan
ddc82f3831 Correct the output global variables.
This commit was SVN r20745.
2009-03-06 15:31:12 +00:00
Rainer Keller
ec0ed48718 - Revert r20739
This commit was SVN r20742.

The following SVN revision numbers were found above:
  r20739 --> open-mpi/ompi@781caee0b6
2009-03-05 21:56:03 +00:00
Rainer Keller
a94438343b - Revert r20740
This commit was SVN r20741.

The following SVN revision numbers were found above:
  r20740 --> open-mpi/ompi@2a70618a77
2009-03-05 21:50:47 +00:00
Rainer Keller
2a70618a77 - Second patch, as discussed in Louisville.
Replace short macros in orte/util/name_fns.h
   to the actual fct. call.

 - Compiles on linux/x86-64

This commit was SVN r20740.
2009-03-05 21:14:18 +00:00
Rainer Keller
781caee0b6 - First of two or three patches, in orte/util/proc_info.h:
Adapt orte_process_info to orte_proc_info, and
   change orte_proc_info() to orte_proc_info_init().
 - Compiled on linux-x86-64
 - Discussed with Ralph

This commit was SVN r20739.
2009-03-05 20:36:44 +00:00
Rainer Keller
fd28b392bf - An intrusive commit yet again (sorry): with the separation we
get bitten by header depending on having already included
   the corresponding [opal|orte|ompi]_config.h header.
   When separating, things like [OPAL|ORTE|OMPI]_DECLSPEC
   are missed.

   Script to add the corresponding header in front of all following
   (taking care of possible #ifdef HAVE_...)

 - Including some minor cleanups to
   - ompi/group/group.h -- include _after_ #ifndef OMPI_GROUP_H
   - ompi/mca/btl/btl.h -- nclude _after_ #ifndef MCA_BTL_H
   - ompi/mca/crcp/bkmrk/crcp_bkmrk_btl.c -- still no need for
     orte/util/output.h
   - ompi/mca/pml/dr/pml_dr_recvreq.c -- no need for mpool.h
   - ompi/mca/btl/btl.h -- reorder to fit
   - ompi/mca/bml/bml.h -- reorder to fit
   - ompi/runtime/ompi_mpi_finalize.c -- reorder to fit
   - ompi/request/request.h -- additionally need ompi/constants.h

 - Tested on linux/x86-64

This commit was SVN r20720.
2009-03-04 15:35:54 +00:00
Rainer Keller
84408f2fb7 - A follow-up to the commit:
As orte/mca/routed/base/base.h does not require opal_bitmap.h
   Include it in the C-files, based on routed/base/base.h...

This commit was SVN r20709.
2009-03-03 22:36:58 +00:00
George Bosilca
af9c2e10a3 Really cycle when we have several IP addresses.
This commit was SVN r20705.
2009-03-03 19:29:03 +00:00
Ralph Castain
f11931306a Modify the accounting system to recycle jobids. Properly recover resources from nodes and jobs upon completion. Adjustments in several places were required to deal with sparsely populated job, node, and proc arrays as a result of this change.
Correct an error wrt how jobids were being computed. Needed to ensure that the job family field was not overrun as we increment jobids for comm_spawn.

Update the slurm plm module so it uses the new slurm termination procedure (brings trunk back into alignment with 1.3 branch).

Update the slurmd ess component so it doesn't get selected if we are running a singleton inside of a slurm allocation.

Cleanup HNP init by moving some code that had been in orte_globals.c for historical reasons into the ess hnp module, and removing the call to that code from the ess_base_std_prolog


NOTE: this change allows orte to support an infinite aggregate number of comm_spawn's, with up to 64k being alive at any one instant. HOWEVER, the MPI layer currently does -not- support re-use of jobids. I did some prototype coding to revise the ompi_proc_t structures, but the BTLs are caching their own data, and there was no readily apparent way to update it. Thus, attempts to spawn more than the 64k limit will abort to avoid causing the MPI layer to hang.

This commit was SVN r20700.
2009-03-03 16:39:13 +00:00
Ralph Castain
c7fda41d2a Only remove children from the local child list when the job completes so we update the status on all procs in the job and can properly terminate the job.
Correct an error in a debugging output

This commit was SVN r20669.
2009-03-01 20:12:20 +00:00
Ralph Castain
15171e4ba8 Remove completed children from the local list of child processes so that we properly track our number of children. Otherwise, we can artificially believe we have exceeded system limits on the number of local children.
This commit was SVN r20667.
2009-03-01 15:31:27 +00:00
Ralph Castain
c2ff8dc5ce Fix notifier base functions to match revised notifier.h framework APIs
This commit was SVN r20663.
2009-02-28 23:46:18 +00:00
Ralph Castain
11979c100a Silence pointless compiler warning
This commit was SVN r20661.
2009-02-28 15:35:48 +00:00
Tim Mattox
57be80c983 First pass at integrating the CIFTS/FTB support as
a notifier module.
The Notifier framework was extended slightly to
convey more information about each event notice.
This works with the FTB v0.5 API.

To compile with FTB support, use --with-ftb=/path/to/ftb/install

CIFTS == Coordinated Infrastructure for Fault Tolerant Systems
FTB == Fault Tolerance Backplane
see http://wiki.mcs.anl.gov/cifts/index.php

This commit was SVN r20655.
2009-02-27 22:53:43 +00:00
Ralph Castain
b8ffa302da Separate abnormal job termination from abnormal orted termination so we can continue to use xcast for orted cmds, but can know to turn off reading of stdin as the job is being terminated.
This commit was SVN r20650.
2009-02-27 10:16:25 +00:00
Ralph Castain
4f75f6e443 Fix a bug where we were not stopping the read event on stdin if the write to stdin of the target process was backing up.
Ensure we stop reading stdin if we are abnormally terminating - no point in doing so since the job is being terminated.

This commit was SVN r20649.
2009-02-27 09:31:34 +00:00
Rainer Keller
1745895d09 - Sorry to come back to this, but revert r20643...
Headers should be included in the .c directly.

This commit was SVN r20645.

The following SVN revision numbers were found above:
  r20643 --> open-mpi/ompi@e46c512ee7
2009-02-26 22:01:01 +00:00
Josh Hursey
e46c512ee7 Fix a couple of missing headers resulting from recent cleanup
This commit was SVN r20643.
2009-02-26 16:56:56 +00:00
Rainer Keller
4c0e8e1e69 - Header orte/mca/oob/base/base.h is probably the wrong one to include
anyhow -- if oob functionality is neededm then orte/mca/oob/oob.h

   Nevertheless compiles fine with -Wimplicit-function-declaration   

This commit was SVN r20641.
2009-02-26 04:20:03 +00:00
Rainer Keller
04567d3af0 - Header orte/mca/errmgr/errmgr.h is not needed.
Once again compiles fine with -Wimplicit-function-declaration   

This commit was SVN r20640.
2009-02-26 04:05:30 +00:00
Rainer Keller
96e1b9b747 - Header orte/mca/rml/rml.h is not needed if no occurence of orte_rml
or ORTE_RML.
   As the others compiles fine with -Wimplicit-function-declaration

This commit was SVN r20639.
2009-02-26 03:52:31 +00:00
Rainer Keller
bcac113b13 - Header orte/mca/ess/ess.h not being used
This commit was SVN r20638.
2009-02-26 03:28:59 +00:00
Rainer Keller
b356e90fa1 - Get rid of include orte/util/proc_info.h, if not needed
Only proc_info.h-internal include file is opal/dss/dss_types.h
 - In one case (orte/util/hnp_contact.c) had to add proc_info.h again.
 - Local compilation (Linux/x86_64) w/ -Wimplicit-function-declaration
   works fine, no errors.

   Again, let's have MTT the last word.

This commit was SVN r20631.
2009-02-25 03:38:00 +00:00
Ralph Castain
dcff523244 Fix a race condition that causes corruption of a buffer in mpirun while trying to process launch_local_proc cmds.
Cleanup the pidmap handling by changing from value to pointer arrays.

This commit was SVN r20629.
2009-02-25 02:43:22 +00:00
Ralph Castain
1e5aa40e3f Ensure that this component is not selected by tools, or anything other than an MPI proc
This commit was SVN r20608.
2009-02-20 15:01:58 +00:00
Rainer Keller
02599446d0 - Occurences of ORTE_PROC_MY_NAME require orte/runtime/orte_globals.h
This commit was SVN r20607.
2009-02-20 03:16:13 +00:00
Ralph Castain
ca97f315fe Enable direct launch of applications under SLURM. Compute all required nidmap and mpidmap info based on publicly available SLURM environmental variables so that no linkage to SLURM libraries is required.
Note: this requires that nodes not be shared by jobs/users. SLURM developers are working on an enhancement to remove this constraint.


Note 2: yes, the direct routed module returned! However, it is vastly different than the old one and has zero support for such things as comm_spawn. It is solely to support non-daemon, direct-launch environments.

This commit was SVN r20601.
2009-02-19 21:39:54 +00:00
Ralph Castain
76fc406b08 Modify envars passed to support new proc_info and hier expectations
This commit was SVN r20600.
2009-02-19 21:36:30 +00:00
Ralph Castain
8359477387 Modify the base collective algorithms to take an array of arbitrary vpids instead of assuming everything is ordered in a particular way. Modify the hier grpcomm module to support arbitrary mappings
This commit was SVN r20599.
2009-02-19 21:35:20 +00:00
Ralph Castain
6151f7b60c Enable static ports for application procs during self-bootstrap for non-daemon environments by letting them select what port to use based on node rank and attempting to connect to the peer on that port
Note that this assumes non-shared nodes...but only takes affect if there is no prior knowledge of how to talk to the specified peer. Thus, all daemon-based environments are unaffected.

This commit was SVN r20598.
2009-02-19 21:33:46 +00:00
Ralph Castain
9c2c17beb0 Split out the nidmap init function that adds entries for the local node and proc so these can be separate functions
This commit was SVN r20597.
2009-02-19 21:28:58 +00:00
Ralph Castain
6db641c86d Pass the number of nodes in a job to the process
This commit was SVN r20595.
2009-02-19 20:45:07 +00:00
Rolf vandeVaart
515b99b357 Under SGE, the orted should not daemonize by default.
Also create mca parameter to force daemonization (previous
behavior) which might be needed on larger clusters or
to make use of the -notify flag with qsub.

This fixes trac:1783.

This commit was SVN r20582.

The following Trac tickets were found above:
  Ticket 1783 --> https://svn.open-mpi.org/trac/ompi/ticket/1783
2009-02-18 18:02:38 +00:00
George Bosilca
63754be94f Allow the tools to remove the cleanly finalize without
leaving the sighandler behind.

This commit was SVN r20567.
2009-02-16 20:04:55 +00:00
Shiqing Fan
3f6c64f2e3 Include a missing header,which was implicitly included and removed.
This commit was SVN r20563.
2009-02-16 12:38:38 +00:00
Rainer Keller
d81443cc5a - On the way to get the BTLs split out and lessen dependency on orte:
Often, orte/util/show_help.h is included, although no functionality
   is required -- instead, most often opal_output.h, or               
   orte/mca/rml/rml_types.h                                           
   Please see orte_show_help_replacement.sh commited next.            

 - Local compilation (Linux/x86_64) w/ -Wimplicit-function-declaration
   actually showed two *missing* #include "orte/util/show_help.h"     
   in orte/mca/odls/base/odls_base_default_fns.c and                  
   in orte/tools/orte-top/orte-top.c                                  
   Manually added these.                                              

   Let's have MTT the last word.

This commit was SVN r20557.
2009-02-14 02:26:12 +00:00
Ralph Castain
3e5ab0ac8c Ensure proper error reporting when -wdir options fail.
This commit was SVN r20555.
2009-02-13 19:46:24 +00:00
George Bosilca
fa7b499519 Move a data declaration down the stack.
This commit was SVN r20552.
2009-02-13 16:34:51 +00:00
Jeff Squyres
91d302fd67 A bunch of minor ORTE valgrind-inspired memory leak cleanups (reviewed
by Ralph).

This commit was SVN r20544.
2009-02-13 04:14:10 +00:00
Rolf vandeVaart
ce97c27a53 Make sure we create a valid parth argument for execve.
This gets SGE working in the trunk again.

This commit was SVN r20531.
2009-02-12 18:27:40 +00:00
Ralph Castain
62dd763a8f Add ability for local slave spawns to pre-position supporting files. Update comm_spawn and comm_spawn_multiple man pages to cover new info_keys.
This commit was SVN r20527.
2009-02-12 15:56:45 +00:00
Ralph Castain
816ef9e0a3 Ensure that the rsh_agent_argv is properly initialized when assembling the SGE qrsh command
This commit was SVN r20518.
2009-02-11 18:48:44 +00:00
Rolf vandeVaart
74b2001d61 Fix builds on Solaris. Missing errno.h file.
This commit was SVN r20516.
2009-02-11 15:08:07 +00:00
Ralph Castain
e76b68e554 Replace a missing line so that the TM libs are included in dynamic builds
This commit was SVN r20514.
2009-02-11 14:40:11 +00:00
Ralph Castain
390ce219f8 Enable the slurmd plm to trigger an mpirun exit if no other daemons are in the system
This commit was SVN r20507.
2009-02-10 19:22:57 +00:00
Ralph Castain
6a7fa79a09 Cleanup debug by converting to show_help, little more work to cleanup local vs remote ops when no preload is specified
This commit was SVN r20506.
2009-02-10 19:11:24 +00:00
Ralph Castain
d1b5afd9ea If we don't pre-position the binaries, correctly setup the ssh command to execute the bootproxy
This commit was SVN r20501.
2009-02-10 18:27:10 +00:00
Shiqing Fan
2f1461419c Add a new feature for checking mca subdirectories, i.e. detecting if there is an exclude file list which indicates the files that shouldn't be added to the source list. By default, the CMake build system will simply add all source files in the required sub folders, without knowing which files have to be excluded. The first use of it is in plm/base/.windows.
And clean up the nested variable names, in order to make it readable.

This commit was SVN r20498.
2009-02-10 17:20:13 +00:00
Ralph Castain
4cdf91a8d4 Per the RFC, extend the current use of the ompi_proc_t flags field (without changing the field itself).
The prior ompi_proc_t structure had a uint8_t flag field in it, where only one
bit was used to flag that a proc was "local". In that context, "local" was
constrained to mean "local to this node".

This commit provides a greater degree of granularity on the term "local", to include tests
to see if the proc is on the same socket, PC board, node, switch, CU (computing
unit), and cluster.

Add #define's to designate which bits stand for which local condition. This
was added to the OPAL layer to avoid conflicting with the proposed movement of
the BTLs. To make it easier to use, a set of macros have been defined - e.g.,
OPAL_PROC_ON_LOCAL_SOCKET - that test the specific bit. These can be used in
the code base to clearly indicate which sense of locality is being considered.

All locations in the code base that looked at the current proc_t field have
been changed to use the new macros.

Also modify the orte_ess modules so that each returns a uint8_t (to match the
ompi_proc_t field) that contains a complete description of the locality of this
proc. Obviously, not all environments will be capable of providing such detailed
info. Thus, getting a "false" from a test for "on_local_socket" may simply
indicate a lack of knowledge.

This commit was SVN r20496.
2009-02-10 02:20:16 +00:00
Ralph Castain
42df4b2102 Enable the slurmd plm module for testing - only selected if specified
This commit was SVN r20495.
2009-02-09 21:16:24 +00:00
Ralph Castain
f0af389910 Enable comm_spawn of slave processes, currently only active for the rsh, slurm, and tm environments. Establish support for local rsh environments in the plm/base so that rsh of local slaves can be done by any environment that supports it. Create new orte_rsh_agent param so users can specify rsh agent from outside of rsh plm, and sym link that to the old plm_rsh_agent and pls_rsh_agent options.
Modify the orte-bootproxy to pass prefix for the remote slave to support hetero/hybrid scenarios

This commit was SVN r20492.
2009-02-09 20:44:44 +00:00
Ralph Castain
cab5095ce8 Init variable
This commit was SVN r20488.
2009-02-09 20:38:15 +00:00
Ralph Castain
5bfd1f3fd0 Ensure we have a correct, non-zero exit status when daemons or procs abort or fail to launch
This commit was SVN r20478.
2009-02-07 00:57:17 +00:00
Ralph Castain
8924e00e4c Ensure we don't segfault if we don't know which proc failed
This commit was SVN r20474.
2009-02-06 20:04:36 +00:00
Ralph Castain
0750103d6c Teach the routed modules that local slave processes are direct routes to/from their master daemon.
This commit was SVN r20467.
2009-02-06 15:41:53 +00:00
Ralph Castain
13749673ed Enable spawn of local slave processes - plm module implementation to follow
This commit was SVN r20466.
2009-02-06 15:31:33 +00:00
Ralph Castain
e2a8f45fba Update the nidmap functions to include a new lookup_jmap entry, and to initialize the nidmap and pidmap for startup.
Have the singleton ess module use the new capability.

Adjust a comment in ess_base_put

This commit was SVN r20464.
2009-02-06 15:28:32 +00:00
Ralph Castain
c5b637418b Ensure that the various grpcomm modules use a common data set and packing order for modex operations so that jobs using different grpcomm modules can still perform connect/accept.
Have dynamic grpcomm operations update the nidmap/pidmap to support additional features.

This commit was SVN r20463.
2009-02-06 15:25:06 +00:00
Ralph Castain
a6f9c1f2b1 Allocate the slots for use in the xgrid plm
This commit was SVN r20460.
2009-02-06 00:55:14 +00:00
Shiqing Fan
a20254c8a5 A few type casts, making the MS compiler silent.
This commit was SVN r20449.
2009-02-05 16:37:44 +00:00
Ralph Castain
6292b797e9 Add a new ESS module for use by local slave processes - only active when specifically selected
This commit was SVN r20438.
2009-02-05 06:07:48 +00:00
Ralph Castain
b7e6bafada Add a new routed module for local slave processes to use - only active when specifically selected
This commit was SVN r20437.
2009-02-05 06:07:04 +00:00
Jeff Squyres
a58d0d1a27 Fix CID 1219: ensure that "found" is initialized.
This commit was SVN r20434.
2009-02-05 01:57:20 +00:00
George Bosilca
4804ee60a7 It barely compiles ...
This commit was SVN r20433.
2009-02-05 00:14:28 +00:00
Ralph Castain
df3446faf1 Procs don't need to check for other job families to update routes - now that the direct routing module is gone, they always route through their daemons anyway, so save a couple of unnecessary steps.
This commit was SVN r20429.
2009-02-04 22:49:57 +00:00
Ralph Castain
e694c0dac6 Get the various grpcomm modules to all inter-operate cleanly with the "hier" module
This commit was SVN r20426.
2009-02-04 22:26:35 +00:00
George Bosilca
c359762c2d We're supposed to read a string and not an int ...
This commit was SVN r20421.
2009-02-04 15:51:31 +00:00
Ralph Castain
c534757b59 Correct use of the return code from opal_pointer_array_add
This commit was SVN r20417.
2009-02-04 14:02:51 +00:00
Ralph Castain
f36b9332ab Pass along the new output-filename and xterm cmd line options to the orteds - otherwise, they won't work in ssh environments.
Modify the rsh launcher to add -X to ssh if xterm option was selected.

This commit was SVN r20407.
2009-02-03 20:06:05 +00:00
Ralph Castain
645f4c1f20 Silence compiler warnings about variables used before init
This commit was SVN r20406.
2009-02-03 20:04:27 +00:00
Ralph Castain
7282be4287 Silence compiler warnings about variables used before init
This commit was SVN r20405.
2009-02-03 20:04:01 +00:00
Ralph Castain
aa2abc8cac Fix xgrid plm by changing orte_pointer_array calls to opal_pointer_array
This commit was SVN r20404.
2009-02-03 18:43:00 +00:00
Shiqing Fan
eab19af55c Include the missing header that used by the fix commit r20402, and use the correct reference for the parameter of orte_odls_base_notify_iof_complete function call. Thanks Ralph for r20402.
This commit was SVN r20403.

The following SVN revision numbers were found above:
  r20402 --> open-mpi/ompi@f1084d6b84
2009-02-03 18:14:43 +00:00
Ralph Castain
f1084d6b84 Under Windows, tell the orted that the proc has met its IOF termination conditions when launched since Windows does its own IO forwarding.
This commit was SVN r20402.
2009-02-03 16:41:07 +00:00
Ralph Castain
104a0539e3 Fix a format statement to be compatible with all gcc compiler versions
This commit was SVN r20400.
2009-02-02 15:47:07 +00:00
Ralph Castain
9d381a4ebf Add a '!' option to the xterm iof option to invoke the -hold feature of xterm.
Correct the orte-show-help file when a rank is out of bounds, and do that test where a wildcard doesn't get incorrectly flagged as out-of-bounds.

This commit was SVN r20398.
2009-02-02 15:06:23 +00:00
Ralph Castain
d207c17adf Fix a segv when an application isn't found - ensure we properly terminate.
This commit was SVN r20395.
2009-02-02 13:44:08 +00:00
Ralph Castain
c3261e1a05 Fix optimized builds
This commit was SVN r20394.
2009-02-01 20:58:17 +00:00
Ralph Castain
debf128e53 Ensure the static port array is correctly checked for size
This commit was SVN r20393.
2009-01-31 03:46:42 +00:00
Ralph Castain
2966206f58 Fix a race condition in the IOF and add some new user-requested features:
1. fix a race condition whereby a proc's output could trigger an event prior to the other outputs being setup, thus c ausing the IOF to declare the proc "terminated" too early. This was really rare, but could happen.

2. add a new "timestamp-output" option that timestamp's each line of output

3. add a new "output-filename" option that redirects each proc's output to a separate rank-named file.

4. add a new "xterm" option that redirects the output of the specified ranks to a separate xterm window.

This commit was SVN r20392.
2009-01-30 22:47:30 +00:00
Rolf vandeVaart
0704b98668 Add the ability to forward SIGTSTP (converted to SIGSTOP) and
SIGCONT to the a.outs.  By default, they are not forwarded and
the behavior remains as it has always been.  However, if one
runs with --mca orte_forward_job_control 1, then mpirun will
catch those two signals and forward them to the orteds which
will deliver them to the a.outs.  We have had requests for
this feature.

This commit was SVN r20391.
2009-01-30 18:50:10 +00:00
Ralph Castain
5e6d3ba289 Initial implementation of static ports. Provide an mca param to specify static port ranges to the OOB - can provide an
y combination of comma-separated values and ranges. Daemons will use the first port in the range, MPI procs will use the other ports in the range assuming that they know their node rank in time and enough ports were specified.

NOTE: this capability only works under specific conditions. I will outline more about this in a note to devel as the remainder of the implementation progresses. For now, the only environment where this works is slurm. The linear routed module has also been adjusted to work with static ports so that all messaging flows strictly through the topology, including the initial daemon callback - thus limiting the number of sockets opened by mpirun.

This commit was SVN r20390.
2009-01-30 18:31:43 +00:00
Jeff Squyres
35c5e28a8e Up to SVN r20383
This commit was SVN r20384.

The following SVN revision numbers were found above:
  r20383 --> open-mpi/ompi@e0638c84c8
2009-01-29 17:59:04 +00:00
Jeff Squyres
bb3d258562 Round up a few places where PATH_MAX was used instead of
OMPI_PATH_MAX.  Thanks to Andrea Iob for the bug report.

This commit was SVN r20360.
2009-01-27 22:57:50 +00:00
Ralph Castain
c92f906d7c Move the daemon collectives out of the ODLS and into the GRPCOMM framework. This removes the inherent assumption that the OOB topology is a tree, thus allowing different grpcomm/routed combinations to implement collectives appropriate to their topology.
This commit was SVN r20357.
2009-01-27 19:13:56 +00:00
Ralph Castain
0435108834 Improve the efficiency of the launch system by changing the outer loop to being over app_context, and adding a flag to the app_context so the daemon can record that "this app is on my node" when decoding the launch msg.
If the --wdir option is given, check to see if the user provided a relative path. If so, convert it to an absolute path. This is needed to maintain consistent behavior across environements. Some environments automatically chdir to your current working directory when launching the remote orted, while others (e.g., ssh) don't. This levels the playing field and reduces user surprise.

This commit was SVN r20342.
2009-01-25 12:39:24 +00:00
Ralph Castain
40b6ed4a40 Take another crack at fixing the -wdir problem. Move the context checking code down into just prior to launching each child app. This is necessary so that individual app context wdir options are respected. Also, ensure that we return to our "base" directory after each app is launched so that the relative positions of the wdir options for each app_context are with respect to our base directory, instead of the last wdir option.
Hopefully, this will pass the "BigRed test". :-)

This commit was SVN r20341.
2009-01-24 20:59:27 +00:00
Tim Mattox
c2d105a4d9 Refs trac:1763: Fix -wdir option
Reverted r20306 since the fix caused 100% failues on our !BigRed system.

See the comments on ticket #1763 for the details.

This commit was SVN r20339.

The following SVN revision numbers were found above:
  r20306 --> open-mpi/ompi@8c87e48721

The following Trac tickets were found above:
  Ticket 1763 --> https://svn.open-mpi.org/trac/ompi/ticket/1763
2009-01-24 15:04:47 +00:00
Ralph Castain
c6c5bc17a0 Add a new hierarchical collective grpcomm component that performs modex and barrier across the procs instead of the daemons. Modeled on the tuned collectives. Collective code is in grpcomm base for eventual use by the daemon-based components as well.
This commit was SVN r20337.
2009-01-23 21:57:51 +00:00
Ralph Castain
7154cbf2e0 Cleanup a couple of mis-labeled diagnostic outputs
This commit was SVN r20332.
2009-01-23 20:46:54 +00:00
Josh Hursey
04c69b8a82 Fixes for --preload-files and --preload-binary.
* Improved the error propagation from a backend orted
* Fixed a hang in orterun due to failed files transferred
* Fix the movement of files with relative path names
* Improved error messages when a file cannot be moved
* Move file checks to FileM instead of embedding then in the ODLS

This commit Refs trac:1770

This commit was SVN r20331.

The following Trac tickets were found above:
  Ticket 1770 --> https://svn.open-mpi.org/trac/ompi/ticket/1770
2009-01-23 15:32:24 +00:00
Josh Hursey
d066c67b53 We need to update both context->app and context->argv[0] with the new path when we use --preload-binary. This keeps orte from checking the wrong path later in the odls [orte_util_check_context_app() called from odls_base_default_setup_fork()].
Refs trac:1770

This commit was SVN r20321.

The following Trac tickets were found above:
  Ticket 1770 --> https://svn.open-mpi.org/trac/ompi/ticket/1770
2009-01-22 19:18:36 +00:00
Ralph Castain
47740d1e87 Get the inequality the correct way!
This commit was SVN r20319.
2009-01-22 16:33:07 +00:00
Ralph Castain
f6ba4f6f30 Per discussion with Jeff, an invalid local rank value should never occur - if it does, it could be indicative of deeper problems in the launch procedure. Thus, rather than allowing the launch to proceed, let's abort.
This commit was SVN r20312.
2009-01-22 00:52:46 +00:00
Ralph Castain
8c87e48721 Fix a user-reported bug whereby the -wdir option would only be applied from the last app_context.
This commit was SVN r20306.
2009-01-21 15:52:12 +00:00
Ralph Castain
5d9de3326c Check for valid local/node ranks before using the returned values
This commit was SVN r20304.
2009-01-21 00:54:50 +00:00
Ralph Castain
a6a7335694 Catch a potential bug spanning several ESS modules. The node_rank and local_rank types were changed to uint16_t, however the modules returned UINT8_MAX as an "invalid" value. To clean this up, define an INVALID value for these types, and change the various modules so they return this value to indicate an invalid response.
This commit was SVN r20303.
2009-01-21 00:19:37 +00:00
Ralph Castain
4da9f53fa4 Implement the xml formatted output of stdout/err/diag. Force -tag-output if -xml is set.
This commit was SVN r20302.
2009-01-20 16:58:31 +00:00
Ralph Castain
88a0af9726 Revise the way we output resolved hostnames to make life easier for the Eclipse folks. Store aliases for individual nodes (only when requested to show resolved hostnames) and then report them out as part of the display-map option.
This commit was SVN r20284.
2009-01-15 18:11:50 +00:00
Ralph Castain
253a54df12 Shutdown the socket before closing for cleaner termination.
This commit was SVN r20283.
2009-01-15 18:06:01 +00:00
Ralph Castain
a9af219ba7 Fix CID 723: a pointless whine about not checking a return code
This commit was SVN r20274.
2009-01-14 19:06:36 +00:00
Josh Hursey
a9da2dada1 Remove some unused variables.
This commit was SVN r20270.
2009-01-14 17:28:40 +00:00
Tim Mattox
5b70160626 For two error conditions in the ras_loadleveler_module, output
the error code reported by loadleveler.  Also, clean up a
few more internal error messages.

This commit was SVN r20255.
2009-01-13 15:44:26 +00:00
Brian Barrett
d3310a5ad1 fixes to get compiling on Red Storm again
This commit was SVN r20252.
2009-01-12 22:30:00 +00:00
Ralph Castain
694008e9bb Fix a reported bug whereby keyboard entry to a remote proc was being lost after the first iteration. In other words, if an application has a proc reading stdin from the keyboard, and that proc is not co-located with mpirun, then the system would hang.
The problem was eventually traced to two bugs in the code:

1. the orted wasn't resetting the write event flag, thus preventing itself from turning it on again.

2. the HNP needed to check if the stdin was attached to tty or not before adding the delay for fairness. If it is attached to a tty, there is no need for the delay. This prevents some strangely slow typing response.

This patch needs to move to 1.3

This commit was SVN r20246.
2009-01-12 20:12:58 +00:00
Josh Hursey
1420c32a5d Update SnapC Local Coordinator in reaction to structure changes in r20228. The list of local children became more globalized so I needed to update the loop invariants appropriately.
This commit was SVN r20245.

The following SVN revision numbers were found above:
  r20228 --> open-mpi/ompi@007d68becc
2009-01-12 19:45:48 +00:00
Ralph Castain
2778c13fac Continue to refine the timing instrumentation to identify where launch time is being spent
This commit was SVN r20244.
2009-01-12 19:12:58 +00:00
Jeff Squyres
d1c6f3f89a * Fix a truckload of Cisco copyrights to be the same as the rest of
the code base.
 * Fix a few misspellings in other copyrights.

This commit was SVN r20241.
2009-01-11 02:30:00 +00:00
Tim Mattox
820b209564 Oops, forgot to update the copyright date range...
This commit was SVN r20239.
2009-01-09 19:04:52 +00:00
Tim Mattox
af45569366 Clean up some debugging output in the loadleveler ras module.
Error output strings were changed to be unique per code site.
They are still pretty meaningless to the user, but at least now
developers might be able to find which unique place in the code
reported which error.

This commit was SVN r20238.
2009-01-09 19:03:52 +00:00
Ralph Castain
c009b51ad3 Silence warning about signed vs unsigned comparisons
This commit was SVN r20237.
2009-01-09 16:01:03 +00:00
George Bosilca
78d856e04c Release resources when a job is completed. This allows us to correctly
count and load balance MPI-2 dynamic type of applications.

This commit was SVN r20236.
2009-01-08 21:21:54 +00:00
Ralph Castain
25f578a7d2 Continue to improve timing instrumentation. Add ability to store timing data directly to a file instead of just to stdout.
This commit was SVN r20229.
2009-01-08 14:27:52 +00:00
Ralph Castain
007d68becc Make the data on local children and their jobs available globally on both daemons and the HNP. This simply shifts the data structures from the ODLS base to the orte globals area to support subsequent movement of the daemon collective operations from the odls to the grpcomm framework. As that will be a larger change, it will be implemented on a branch and rolled over separately.
This commit was SVN r20228.
2009-01-08 14:25:56 +00:00
Ralph Castain
80fb98ae32 Cleanup the modex-less operations for efficiency. Have the component default to normal modex operations if modex-less isn't specified.
This commit was SVN r20220.
2009-01-07 15:00:26 +00:00
Ralph Castain
7818779760 Expose the nidmap and pidmap as orte globals so that components in other frameworks can access and/or manipulate them without forcing API modifications - modify the individual ess components that were affected so they use the global variables. Add a list of attributes to the nids for storing node-related data (e.g., modex attrs), and define a new object for that purpose.
Consolidate the nid/pid lookup code with the rest of the nid/pid code so that changes are easier to track. Add the ability to send cluster profile info as part of the nidmap. Cleanup the setup and teardown of the new global nidmap and pidmap objects.

This commit was SVN r20219.
2009-01-07 14:58:38 +00:00
Ralph Castain
9dbcee9110 Increase efficiency for modex-less launch by storing byte objects in the profile file
This commit was SVN r20206.
2009-01-05 21:46:12 +00:00
Ralph Castain
5f5d8ad231 CID 1139-1141: remove outdated variable from the various routed components
This commit was SVN r20201.
2009-01-05 15:09:54 +00:00
Ralph Castain
1bc125c0a7 CID 1131: cleanup a minor memory leak
This commit was SVN r20200.
2009-01-05 15:05:05 +00:00
Jeff Squyres
6d0d8848ac Fix CID 1129: Remove variable that is set but never used.
This commit was SVN r20194.
2009-01-03 15:39:51 +00:00
Jeff Squyres
e52ac6da40 Fix CID 1130: remove variable that is set but never used.
This commit was SVN r20193.
2009-01-03 15:37:00 +00:00
Ralph Castain
7787f84540 Per the earlier RFC and some discussion at the Dec ORTE design meeting, add the ompi-top tool and all its supporting infrastructure. This includes a new OPAL pstat framework and data type, currently with rather weak support for Mac OSX and pretty complete support for Linux. The Sun team promised to add Solaris support as well.
Also, per chat with Jeff, modified the Makefile.am's of a few orte tools so that they were consistent in the way we generate the ompi-equivalent cmds.

This commit was SVN r20165.
2008-12-22 20:23:05 +00:00
Ralph Castain
caa5771908 Don't force tools to dump core files when they abort
This commit was SVN r20159.
2008-12-20 23:24:36 +00:00