Ralph Castain
5bb5b22573
When a user asks for cpus/rank > 1 and only has one slot, we need to ensure we always map at least one process when they don't tell us -np
...
cmr=v1.8.2:reviewer=rhc:subject=correct num_procs in corner case
This commit was SVN r32142.
2014-07-04 17:00:35 +00:00
Ralph Castain
9f97c74ba3
Silence warning
...
This commit was SVN r32136.
2014-07-03 17:29:04 +00:00
Ralph Castain
356e7ea904
Move all collective id's into the attributes and let the job pack/unpack take care of them instead of singling them out. Add the envars just prior to forking the children instead of into the launch message itself. Remove a few #if CR as the attributes functionality can handle this condition now.
...
This commit was SVN r32133.
2014-07-03 15:58:13 +00:00
Ralph Castain
0a4639308e
Remove a potential race condition - we'll cleanup the local children when we are all done
...
This commit was SVN r32132.
2014-07-03 14:13:43 +00:00
Ralph Castain
149810f02c
Per request from Jeff, slightly modify the show_help message as the precise name of the NUMA-containing packages differs based on OS and distro
...
cmr=v1.8.2:reviewer=jsquyres:subject=modify show_help message
This commit was SVN r32122.
2014-07-02 14:46:00 +00:00
Adrian Reber
cabf1d4e68
use the orte attributes in the FT code to fix compile errors
...
This commit was SVN r32093.
2014-06-26 03:19:17 +00:00
Adrian Reber
10c1a50705
"handle" removal of opal_db.remove() in the FT code
...
This commit was SVN r32092.
2014-06-26 03:11:37 +00:00
Ralph Castain
f3cb124e50
Revert r32082 and r32070 - the developer's conference has decided to go a different direction on the threaded progress effort. This will involve some degree of prototyping to understand the tradeoffs prior to making a final design decision, and so we'll hold off on the final change until that is completed.
...
This commit was SVN r32089.
The following SVN revision numbers were found above:
r32070 --> open-mpi/ompi@12d92d0c22
r32082 --> open-mpi/ompi@aa6438ef7a
2014-06-25 20:43:28 +00:00
Adrian Reber
9f73e79d91
also change the callback function prototype (to get the FT code to compile again)
...
This commit was SVN r32088.
2014-06-25 20:37:02 +00:00
Adrian Reber
4aca7095dc
fix a syntax error in the FT code
...
This commit was SVN r32087.
2014-06-25 20:35:50 +00:00
Adrian Reber
4b25e92194
get the FT code to compile again by adding/removing #includes
...
This commit was SVN r32086.
2014-06-25 18:42:17 +00:00
Ralph Castain
8fca77c3d3
Protect the binding policy setting so it builds when --without-hwloc
...
Refs trac:4742
This commit was SVN r32085.
The following Trac tickets were found above:
Ticket 4742 --> https://svn.open-mpi.org/trac/ompi/ticket/4742
2014-06-25 18:13:54 +00:00
Nathan Hjelm
563eaf0726
Fix support for Cray alps
...
The alps ras and plm components were broken by recent changes in ORTE. This
commit resolves those issues.
Changes:
- Define PMI2_SUCCESS if it isn't defined. This fixes a problem with Cray's
PMI implementation which does not define (for some reason) PMI2_SUCCESS. We
had previously just used PMI_SUCCESS.
- Add missing definition and a typo in pml_alps_module.
- launch_id is no longer available in the orte_node_t structure. Use the
attribute lookup to get the value.
- Do not use an O(n^2) sorting algorithm when putting alps nodes in order. Use
opal_list_sort instead (O(nlogn)).
This commit was SVN r32076.
2014-06-24 21:29:04 +00:00
Ralph Castain
5f6be06b54
Per request from Gilles and discussion at devel conference, have the --oversubscribe option automatically set both oversubscribe and overload-allowed properties as this is likely what the user intended.
...
cmr=v1.8.2:reviewer=rhc:subject=automatically set oversub/load
This commit was SVN r32072.
2014-06-24 18:11:39 +00:00
Ralph Castain
12d92d0c22
Per the OMPI developer conference, remove the last vestiges of OMPI_USE_PROGRESS_THREADS
...
This commit was SVN r32070.
2014-06-24 17:05:11 +00:00
Ralph Castain
34e5573988
Resolve the MTT timeout problem. This appears to have largely been caused by missing sigchld notifications, thus causing the daemons to believe that not all procs had exited. Let comm failure also serve as notification of process termination, and add appropriate flags/attributes to avoid multiple reporting of proc termination.
...
This won't transition cleanly to the 1.8 series, and may represent too much change, so we'll have to (a) evaluate whether or not to bring it over (once it demonstrates that it does indeed solve the problem), and (b) develop a custom patch for that purpose.
Refs trac:4717
This commit was SVN r32063.
The following Trac tickets were found above:
Ticket 4717 --> https://svn.open-mpi.org/trac/ompi/ticket/4717
2014-06-21 17:09:02 +00:00
Ralph Castain
9cfc408fd4
Little more debug - getting close to figuring this one out
...
Refs trac:4717
This commit was SVN r32060.
The following Trac tickets were found above:
Ticket 4717 --> https://svn.open-mpi.org/trac/ompi/ticket/4717
2014-06-20 16:24:06 +00:00
Ralph Castain
f9da295682
Add some additional debug
...
Refs trac:4717
This commit was SVN r32059.
The following Trac tickets were found above:
Ticket 4717 --> https://svn.open-mpi.org/trac/ompi/ticket/4717
2014-06-20 14:14:36 +00:00
Ralph Castain
645df5e823
Don't release the node_name field as it gets used in the slots parsing - will be released at newline detection
...
This commit was SVN r32058.
2014-06-20 13:18:46 +00:00
Ralph Castain
9a47e45a09
<laugh> ensure we really compare the things we want to compare
...
This commit was SVN r32055.
2014-06-19 20:54:25 +00:00
Ralph Castain
e65538e91b
Add some defensive programming, fix a typo
...
This commit was SVN r32054.
2014-06-19 20:52:13 +00:00
Ralph Castain
b43f760f93
If you don't specify all the rank-file mapping for all procs, then you'll segfault - which is probably a bad idea. I can't see an easy workaround, so just error out for now and let's see if anyone really cares.
...
cmr=v1.8.2:reviewer=jsquyres
This commit was SVN r32053.
2014-06-19 20:30:06 +00:00
Ralph Castain
b618b36a2f
Fix potential issue if opal_hwloc_topology is NULL
...
cmr=v1.8.2:reviewer=jsquyres
This commit was SVN r32050.
2014-06-19 18:52:41 +00:00
Ralph Castain
65275d6326
Add a little more info to the warning message - i.e., that the likely cause of the problem is missing libnumactl and/or libnumactl-devel
...
cmr=v1.8.2:reviewer=miked:subject=improve memory binding failure message
This commit was SVN r32030.
2014-06-18 19:20:28 +00:00
Ralph Castain
3f032d39e8
Mark the proc as alive so waitpid callback system doesn't immediately activate the callback
...
Refs trac:4717
This commit was SVN r32026.
The following Trac tickets were found above:
Ticket 4717 --> https://svn.open-mpi.org/trac/ompi/ticket/4717
2014-06-18 14:04:55 +00:00
Ralph Castain
8e7c0257f0
Cleanup some missed updates to orte_wait_cb as params have changed
...
Refs trac:4717
This commit was SVN r32025.
The following Trac tickets were found above:
Ticket 4717 --> https://svn.open-mpi.org/trac/ompi/ticket/4717
2014-06-17 23:40:31 +00:00
Ralph Castain
5dbf4a62c4
Cleanup: we were accidentally killing ourselves (bad idea)
...
Refs trac:4717
This commit was SVN r32022.
The following Trac tickets were found above:
Ticket 4717 --> https://svn.open-mpi.org/trac/ompi/ticket/4717
2014-06-17 20:38:42 +00:00
Ralph Castain
5216bd5558
Multiple sigchld reports can occur within a single event callback, so have to reap them until none remain. Also, need to ensure the daemon is flagged as alive prior to calling wait_cb
...
Refs trac:4717
This commit was SVN r32020.
The following Trac tickets were found above:
Ticket 4717 --> https://svn.open-mpi.org/trac/ompi/ticket/4717
2014-06-17 18:46:40 +00:00
Ralph Castain
42bf7466fc
This isn't as big a change as it appears - a change in one place caused a whole bunch of files to require updated #include's due to some arcane linkage. Rework the orte_wait code to reflect the introduction of the state machine. If we are in cleanup mode and just want to kill all our local children, then there is no reason to be polite about it as that introduces *very* long delays at scale. Just kill the procs and move on.
...
Refs trac:4717
This commit was SVN r32019.
The following Trac tickets were found above:
Ticket 4717 --> https://svn.open-mpi.org/trac/ompi/ticket/4717
2014-06-17 17:57:51 +00:00
Ralph Castain
ab52f16100
Attempt to cleanup the race condition Rolf keeps encountering in MTT by adding some protection to ensure orted's try to terminate once their local procs die. Also, fix a problem whereby a failure to comm_spawn would result in a hang of the parent process.
...
cmr=v1.8.2:reviewer=rhc:subject=cache termination cleanups
This commit was SVN r32008.
2014-06-16 20:46:35 +00:00
Ralph Castain
561983ae52
Fix static builds by renaming conflicting type
...
This commit was SVN r32006.
2014-06-14 17:39:28 +00:00
Ralph Castain
3f04d50cb0
Per the ticket, resolve our handling of overload conditions to provide a more consistent response. If we are overloaded (i.e., attempting to bind more processes to a location than the number of cpus under that location), then we consider the following conditions:
...
(a) default binding policy is in effect. In this case, we will emit a
warning and default to not binding unless the user provided the
"oversubscribe" or "overload" modifier to the "bind-to" option.
(b) user-specified binding policy is in effect. In this case, we will
error out unless the user provided the "oversubscribe" or "overload"
modifier to the "bind-to" option as we cannot meet the directive.
Either "bind-to" modifier (oversubscribe or overload) will be accepted for
now - in 1.9, we will deprecate the "overload" term in favor of
"oversubscribe".
Also added the ability to accept a --bind-to modifier without specifying the binding policy itself so a user can specify overload-allowed with the default policy.
Closes trac:4345
cmr=v1.8.2:reviewer=rhc:subject=resolve handling of overload conditions
This commit was SVN r32005.
The following Trac tickets were found above:
Ticket 4345 --> https://svn.open-mpi.org/trac/ompi/ticket/4345
2014-06-14 15:38:32 +00:00
Ralph Castain
56c3575c0e
Can't emit an error for an unrecognized mapping policy modifier as the ppr policy relies on not doing so.
...
This commit was SVN r31998.
2014-06-13 20:10:09 +00:00
Ralph Castain
3ed282bf44
Per patch from Tetsuya, correct the cpus-per-proc logic so we correctly detect when the user is attempting to bind too low for that option
...
Refs trac:4702
This commit was SVN r31988.
The following Trac tickets were found above:
Ticket 4702 --> https://svn.open-mpi.org/trac/ompi/ticket/4702
2014-06-13 16:32:52 +00:00
Ralph Castain
ba926d8635
The TCP component will have set the hash table entry to NULL, but that doesn't remove the key. So the hash_table retrieval function will return success, but with a NULL pointer - protect against that scenario
...
Patch provided by Gilles - reviewed by rhc.
RM-approved
cmr=v1.8.2:reviewer=ompi-gk1.8
This commit was SVN r31971.
2014-06-09 17:46:22 +00:00
Ralph Castain
5d5ae41ea5
Cleanup a memory leak in the daemons - thanks to Artem for spotting it
...
This commit was SVN r31970.
2014-06-09 17:14:02 +00:00
Ralph Castain
06dbfa3098
Make the cpus-per-proc equivalent a little more intuitive:
...
* allow users to specify just a modifier for map-by instead of requiring that they also specify a policy. Thus, we now accept --map-by :pe=3 as indicating that we should use the default mapping policy, but bind 3 cpus/proc.
* if users specify a pe's/proc but no policy, default to --map-by NUMA to ensure we have access to multiple cpus for the request. This won't guarantee we have access to enough to meet the request, but gives us a chance. In addition, we know that binding a proc to multiple cpus will work best if those cpus are all in the same NUMA, so this provides some degree of optimized behavior.
Per a request from Jeff, define "oversubscribe" for binding as a synonym for the "overload" modifier.
cmr=v1.8.2:reviewer=rhc
This commit was SVN r31967.
2014-06-08 20:26:59 +00:00
Ralph Castain
b7c08582ba
Add new tag to avoid conflicts
...
This commit was SVN r31960.
2014-06-06 17:23:35 +00:00
Ralph Castain
638c24f655
Correct the bind-in-place algorithm to better handle comm_spawn. If the location identified by the mapper is already occupied by procs from another job, then we need to shift either right or left until we find an unoccupied location where we can be bound. If nothing is available, then check for the overload flag (and bind us in the original location if provided), or see if this was the default binding policy instead of one specified by the user - if so, then just don't bind this process.
...
cmr=v1.8.2:reviewer=rhc
This commit was SVN r31959.
2014-06-06 12:36:14 +00:00
Ralph Castain
e21bfeadcd
Now that the BTLs are moving down to OPAL and becoming available to ORTE, there no longer is a need/desire to push performance in the OOB/TCP component. So we don't need multiple modules driving NICs in parallel, and can drop all the complicated distribution logic. Fall back to the simplified single module model, but retain the ability to run that module in its own progress thread if so directed.
...
This should eliminate the connectivity issues that have been reported, and will make maintenance of this component much easier.
cmr=v1.8.2:reviewer=jsquyres:subject=simplify the OOB/TCP component
This commit was SVN r31956.
2014-06-06 02:24:17 +00:00
Ralph Castain
b2413a6b88
Cannot update the proc state prior to activating the state machine as some callback functions need to compare the prior proc state against the new one.
...
cmr=v1.8.2:reviewer=jsquyres
This commit was SVN r31949.
2014-06-04 03:40:08 +00:00
Ralph Castain
c5384d44d7
Protect against NULL result in get_attr
...
This commit was SVN r31947.
2014-06-04 03:09:37 +00:00
Ralph Castain
8e768de317
Really should check our own node for oversubscription, not the HNP
...
cmr=v1.8.2:reviewer=jsquyres
This commit was SVN r31946.
2014-06-04 03:09:02 +00:00
Ralph Castain
5398158d5a
Move fclose inside bracket to protect against NULL fp
...
This commit was SVN r31945.
2014-06-04 03:08:18 +00:00
Ralph Castain
f1978fba7c
Cleanup a set of typos on the orte_get_attribute call
...
This commit was SVN r31942.
2014-06-03 20:36:38 +00:00
Ralph Castain
5668f085a3
Silence some useless warnings, and fix a missed updated in the tm plm
...
This commit was SVN r31930.
2014-06-02 17:57:56 +00:00
Ralph Castain
742c0d2284
Fix typo that would cause a segfault if orte_startup_timeout was set
...
This commit was SVN r31929.
2014-06-02 15:59:18 +00:00
Ralph Castain
7df500ecf5
Break the loop caused by retrying to send a message to a hop that is unknown by the TCP oob component. We attempt to provide a way for other components to try, but need to mark that the TCP component is not able to reach that process so the OOB base will know to give up.
...
This commit was SVN r31928.
2014-06-02 15:00:33 +00:00
Ralph Castain
03234f2a33
Revert r31926 and replace it with a more complete checking of availability and accessibility of the required freq control paths.
...
This commit was SVN r31927.
The following SVN revision numbers were found above:
r31926 --> open-mpi/ompi@9779084352
2014-06-02 14:34:00 +00:00
Gilles Gouaillardet
9779084352
orte_rtc_base_select: skip a RTC module if it has a zero priority
...
This commit was SVN r31926.
2014-06-02 07:16:41 +00:00