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
Ralph Castain
65a35d92ef
Cleanup compile issues - missing updates to some plm components and the slurm ras component
...
This commit was SVN r31921.
2014-06-01 17:59:06 +00:00
Ralph Castain
8736a1c138
Per RFC:
...
http://www.open-mpi.org/community/lists/devel/2014/05/14822.php
Revamp the ORTE global data structures to reduce memory footprint and add new features. Add ability to control/set cpu frequency, though this can only be done if the sys admin has setup the system to support it (or you run as root).
This commit was SVN r31916.
2014-06-01 16:14:10 +00:00
Ralph Castain
cf2c7381d0
Replace the PML barrier with an RTE barrier for now until we can come up with a better solution for connectionless BTLs.
...
Refs trac:4643
This commit was SVN r31915.
The following Trac tickets were found above:
Ticket 4643 --> https://svn.open-mpi.org/trac/ompi/ticket/4643
2014-06-01 16:08:56 +00:00
Ralph Castain
1107f9099e
Per the RFC issued here:
...
http://www.open-mpi.org/community/lists/devel/2014/05/14827.php
Refactor PMI support
This commit was SVN r31907.
2014-06-01 04:28:17 +00:00
Nathan Hjelm
041b72b0cc
plm/alps: better workaround for the noisy cray pmi implementation
...
This commit is a slightly better workaround to prevent mesages of
the form:
[unset]:_pmi_alps_get_apid:alps_app_lli_put_request failed
[unset]:_pmi_alps_get_appLayout:pmi_alps_get_apid returned with error: Bad file descriptor
It works by completely disabling PMI in the application process when using
mpirun. This should not be an issue for any apps.
cmr=v1.8.2:reviewer=rhc
This commit was SVN r31882.
2014-05-22 16:04:36 +00:00
Nathan Hjelm
59d09ad9de
orte: fix several small memory leaks
...
grpcomm: fix memory leaks
We were leaking the caddy object used to pass data to the callback
function. This commit fixes these leaks.
oob,rml: fix memory leaks
This commit fixes several leaks:
- Both the oob/base and oob/tcp were leaking objects on their peer
hash tables. Iterate on the hash tables and free any objects.
- Leaked sent messages because of missing OBJ_RELEASE. I placed the
release in ORTE_RML_SEND_COMPLETE to catch all the possible
paths.
ess/base: close the state framework
cmr=v1.8.2:reviewer=rhc
This commit was SVN r31776.
2014-05-15 15:06:27 +00:00
Ralph Castain
ad0e8f841d
Just pick a module to handle the incoming connection if no direct interface is identified. Siegmar hit it because his IP/netmask is disjoint, but a router was able to make the connection.
...
Refs trac:4627
This commit was SVN r31763.
The following Trac tickets were found above:
Ticket 4627 --> https://svn.open-mpi.org/trac/ompi/ticket/4627
2014-05-14 19:23:02 +00:00
Ralph Castain
e605e73379
Close the incoming socket if we aren't going to accept it
...
cmr=v1.8.2:reviewer=rhc
This commit was SVN r31759.
2014-05-14 16:51:59 +00:00
Ralph Castain
3a1c2fff3e
Correct a misplaced bracket - daemons shouldn't be doing app-related operations
...
This may need a patch for 1.8.2, but we can try to directly apply it
cmr=v1.8.2:reviewer=hjelmn
This commit was SVN r31754.
2014-05-14 15:23:30 +00:00
Nathan Hjelm
2a57e71a47
plm/alps: fix typo introduced in r31589
...
This commit was SVN r31747.
The following SVN revision numbers were found above:
r31589 --> open-mpi/ompi@445b552d3a
2014-05-13 22:36:54 +00:00
Ralph Castain
f55c587a74
Per patch from Tetsuya Mishima, ensure the rank_file mapper accurately tracks number of nodes in the map
...
Refs trac:4594
This commit was SVN r31725.
The following Trac tickets were found above:
Ticket 4594 --> https://svn.open-mpi.org/trac/ompi/ticket/4594
2014-05-13 14:36:25 +00:00
Ralph Castain
5602156a1c
Use the correct abstraction layer name for the data dirs
...
This commit was SVN r31684.
2014-05-08 14:32:24 +00:00
Ralph Castain
11faab1091
The final step of the RFC: convert the <foo>libdir and friends to fit their respective code areas, and equate them all at the top. Note that we can't entirely separate things as the opal_install_dirs framework can't handle separated locations for the various trees.
...
This commit was SVN r31679.
2014-05-08 02:01:35 +00:00
Ralph Castain
a8e2d6c3a6
The bulk of the remaining renaming changes, in one final glorious "blob". Thanks to Jeff for some help chasing down a few spots. Per chat with Jeff, we decided to cleanup a few things that were historical in nature:
...
top_ompi_srcdir -> OMPI_TOP_SRCDIR
top_ompi_builddir -> OMPI_TOP_BUILDDIR
We also split the srcdir/builddir flags according to their local tree (e.g., OPAL_TOP_SRCDIR), and tied them all together in configure.ac. Renamed ompi_ignore and ompi_unignore to be opal_<foo> as these are agnostic markers.
Only thing left is ompilibdir being treated similar to what we dif for srcdir/builddir. Coming soon.
This commit was SVN r31678.
2014-05-07 21:48:53 +00:00
Ralph Castain
87d809eefe
Add a new "run-time controls" framework for setting controls on processes. Initially, just move the process binding code there under a new "hwloc" component. Additional components to support cgroups, power settings, etc. to follow
...
This commit was SVN r31633.
2014-05-05 19:22:06 +00:00
Ralph Castain
fae39a658d
Add third flag for open when using O_CREAT. Thanks to "robi" for reporting it and providing a patch.
...
Fixes trac:4596
Reviewed by rhc, RM-approved
cmr=v1.8.2:reviewer=ompi-gk1.8
This commit was SVN r31626.
The following Trac tickets were found above:
Ticket 4596 --> https://svn.open-mpi.org/trac/ompi/ticket/4596
2014-05-02 21:58:38 +00:00
Ralph Castain
ccd33a17b8
Since we cannot block when calling abort, and we want to ensure any "show_help" message at least has a chance to get out before we exit, introduce a slight delay into the abort procedure.
...
Refs trac:4576
This commit was SVN r31601.
The following Trac tickets were found above:
Ticket 4576 --> https://svn.open-mpi.org/trac/ompi/ticket/4576
2014-05-02 10:46:25 +00:00
Ralph Castain
c1383ca1f3
Protect against NULL cpuset when not bound
...
This commit was SVN r31600.
2014-05-02 10:45:11 +00:00
Ralph Castain
6545e6e9a8
Add one more check for failed mapping that rarely occurs, but results in a hang when it does
...
cmr=v1.8.2:reviewer=rhc
This commit was SVN r31598.
2014-05-02 10:35:14 +00:00
Ralph Castain
445b552d3a
Try again to get an error message printed when a daemon fails to successfully report back to mpirun. In this case, there is no guaranteed way for the daemon to output the error report itself - we don't have a connection back to the HNP, and we have tied stderr off to /dev/null (for good reasons). So the HNP has to detect the failure itself and report it.
...
The HNP can't know the precise reason, of course - all it knows is that the daemon failed. So output a generic error message that provides guidance on probable causes.
Refs trac:4571
This commit was SVN r31589.
The following Trac tickets were found above:
Ticket 4571 --> https://svn.open-mpi.org/trac/ompi/ticket/4571
2014-05-01 19:48:21 +00:00
Ralph Castain
567ed25938
As per the earlier RFC, move the DB framework to orcm, thus removing it from the OMPI code repo
...
This commit was SVN r31586.
2014-05-01 15:43:32 +00:00
Ralph Castain
3b64c603b4
First stage of RFC to rename OMPI_foo build system support: change OMPI_CHECK_PACKAGE -> OPAL_CHECK_PACKAGE
...
This commit was SVN r31582.
2014-05-01 14:24:56 +00:00
Ralph Castain
238ecea311
When we comm_spawn, we really want to respect the original -host directives and not expand the daemon virtual machine unless directed to do so in the comm_spawn command. Otherwise, we will automatically launch daemons on every node in the allocation.
...
cmr=v1.8.2:reviewer=rhc:subject=respect vm boundaries during comm_spawn
This commit was SVN r31578.
2014-04-30 22:26:18 +00:00
Ralph Castain
d04a102ab8
Silence warnings
...
This commit was SVN r31573.
2014-04-30 20:55:46 +00:00
Ralph Castain
34988ba2a2
Cleanup the MPI_Abort detection
...
Refs trac:4576
This commit was SVN r31561.
The following Trac tickets were found above:
Ticket 4576 --> https://svn.open-mpi.org/trac/ompi/ticket/4576
2014-04-30 00:51:59 +00:00
Ralph Castain
3c9d877c1b
Remove debug
...
This commit was SVN r31560.
2014-04-30 00:08:43 +00:00
Ralph Castain
9402380e1f
Fix some errors in transition
...
This commit was SVN r31559.
2014-04-30 00:07:53 +00:00
Ralph Castain
c4c9bc1573
As per the RFC:
...
http://www.open-mpi.org/community/lists/devel/2014/04/14496.php
Revamp the opal database framework, including renaming it to "dstore" to reflect that it isn't a "database". Move the "db" framework to ORTE for now, soon to move to ORCM
This commit was SVN r31557.
2014-04-29 21:49:23 +00:00
Ralph Castain
1f0efe62a4
Minor cleanup - remove unused RML tag
...
Refs trac:4576
This commit was SVN r31545.
The following Trac tickets were found above:
Ticket 4576 --> https://svn.open-mpi.org/trac/ompi/ticket/4576
2014-04-29 17:34:17 +00:00
Ralph Castain
e05b88fd18
Take another stab at resolving the "called-abort" requirement without getting stuck. Return to "drop a turd" mode, perhaps with a little more intelligence behind it. Don't worry about catching it if session dirs weren't created
...
cmr=v1.8.2:reviewer=jsquyres:subject=cleanup MPI_Abort hangs
This commit was SVN r31543.
2014-04-29 17:29:46 +00:00
Ralph Castain
3723b39f30
Ensure we don't silently fail when unable to make a connection - bark pleasantly first.
...
Refs trac:4571
This commit was SVN r31537.
The following Trac tickets were found above:
Ticket 4571 --> https://svn.open-mpi.org/trac/ompi/ticket/4571
2014-04-28 19:16:32 +00:00
Ralph Castain
d642babff6
Derived from patch provided by Artem, cleanup the "abnormal" code path for selecting TCP OOB modules to connect to a remote process. If we can't find a direct interface-to-address match, then assign all the provided addresses to the first available TCP module and let the normal failure process determine if the remote proc is truly reachable.
...
cmr=v1.8.2:reviewer=artpol:subject=fix abnormal code connection path in tcp oob
This commit was SVN r31536.
2014-04-28 19:05:14 +00:00