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

11231 Коммитов

Автор SHA1 Сообщение Дата
Ralph Castain
6166278e18 Improve the scalability of the modex operation and fix a bug reported by Tim P
The bug was a race condition in the barrier operation that caused the barrier in MPI_Finalize to fail on very short programs.

Scalaiblity was improved by using the daemons to aggregate modex and barrier messages before sending them to the rank=0 proc. Improvement is proportional to ppn, of course, but there really wasn't a scaling problem at low ppn anyway. This modification also paves the way for better allgather operations since now all the data for each node is sitting at the daemon level, and the daemons are now aware that a collective operation on the OOB is underway (so they -can- participate in a collective of their own to support it).

Also added better diagnostics to map out the timing associated with MPI_Init - turned on by -mca orte_timing 1.

This commit was SVN r17988.
2008-03-27 15:17:53 +00:00
Gleb Natapov
cf40674369 Decide if sends should be throttled at the receiver and pass this to the sender
in an ACK message. The decision can't be done reliably at the sender.

This commit was SVN r17987.
2008-03-27 08:56:43 +00:00
Rich Graham
e2ad9c4be2 adjust to change in orte_process_info.
This commit was SVN r17986.
2008-03-27 01:25:28 +00:00
Rich Graham
441fb9fb9e checkpoint.
This commit was SVN r17985.
2008-03-27 01:16:32 +00:00
Ralph Castain
8e6da2ee76 Maintain the mapping bookmark across multiple comm_spawns
This commit was SVN r17984.
2008-03-27 00:19:13 +00:00
George Bosilca
8e8b8950ef Add support for Interix.
This commit was SVN r17983.
2008-03-26 23:20:33 +00:00
Ralph Castain
abfb3577c1 Ensure that the bookmark of the parent job is applied to the child in a comm_spawn so we start mapping from the right place
This commit was SVN r17982.
2008-03-26 21:18:16 +00:00
Jeff Squyres
a2795fe43d Very minor modification against r17980: check the whole string against
"all", not just the first 3 chars (i.e., if someone sets the value
"allfoo", we should still error).

This commit was SVN r17981.

The following SVN revision numbers were found above:
  r17980 --> open-mpi/ompi@b3ef774d46
2008-03-26 19:10:02 +00:00
Josh Hursey
b3ef774d46 A fix for r17956.
r17956 broke the ability for the user to override the 'opal_event_include'
parameter. This commit checks to see if the user specified a value before
forcing the "all" value on the event engine.

This commit fixes Checkpoint/Restart support in the trunk which requires
this feature.

This commit was SVN r17980.

The following SVN revision numbers were found above:
  r17956 --> open-mpi/ompi@763218e754
2008-03-26 14:54:09 +00:00
Sharon Melamed
afa98f92e8 Changed the for loop to a while loop so I could
release the edge without conflicting with get next.

This commit was SVN r17979.
2008-03-26 14:45:45 +00:00
Josh Hursey
55044c3c4f A fix from resulting from r17944. Need to make sure we go through
orte_proc_info_finalize properly so the 'init' flag is set on restart.

This is a bit cleaner anyway, esp since the GPR is gone.

This commit was SVN r17978.

The following SVN revision numbers were found above:
  r17944 --> open-mpi/ompi@ec76fe4fe4
2008-03-26 14:13:33 +00:00
Ralph Castain
7ad6db207c Cover some timing-related output
This commit was SVN r17977.
2008-03-26 12:54:50 +00:00
Rainer Keller
ce8154eb3e - Coverity issues CID 945:
Event uninit_use: Using uninitialized value "rc"
   Instead of initializing rc in the beginning, rather use return value
   of opal_hash_table_set_value_uint32.

This commit was SVN r17976.
2008-03-26 11:39:25 +00:00
Jeff Squyres
33c09b30c2 Patch from George: ensure that we don't overwrite timer_linux_happy
improperly when checking the host type.

This commit was SVN r17975.
2008-03-26 11:22:57 +00:00
Rainer Keller
b7efc2b18e - Coverity issues CID 42:
Event var_deref_model: Variable "array_of_integers" tracked as NULL was
   passed to a function that dereferences it. [model]
   The arrays passed down type_get_contents may be NULL, only iff max_* is 0...
   If the max_* parameter does not fit, an error is returned, anyhow.
   One could improve the checks of MPI_PARAM_CHECK, but to be on the
   safe side, fix in dt_args.c.

This commit was SVN r17974.
2008-03-26 09:07:06 +00:00
Rainer Keller
334b64e760 - Coverity issue CID 35:
Event var_deref_op: Variable "requests" tracked as NULL was
   dereferenced.
   Only check requests[i] for NULL, if requests is != NULL itself.

This commit was SVN r17973.
2008-03-26 08:19:55 +00:00
Rainer Keller
56f3d59f2a - Coverity issues 939, 940, 941:
Event uninit_use_in_call: Using uninitialized value "tag" in call to
   function "(ompi_dpm).connect_accept" and others
   The tag is set and used in get_rport only on root...

This commit was SVN r17972.
2008-03-26 08:09:11 +00:00
George Bosilca
4a5431ef11 Remove the event-config.h file, it is never used.
Correct the include logic that protect the headers. It's amazing
that this didn't bite us yet ...

This commit was SVN r17971.
2008-03-26 03:33:43 +00:00
Brad Benton
0b84dfd2a6 POE is not currently working or supported, so removing from the trunk.
This commit was SVN r17970.
2008-03-26 02:06:40 +00:00
Ralph Castain
60d931217f Modify the routed framework to allow greater control/flexibility over response to lost routes and initial wireup of jobs as required by several soon-to-come new modules.
Specifically, add two new APIs:

1. lost_route: allows the OOB to report that a connection has failed, thereby giving the routed module an opportunity to respond appropriately to its topology. Creating the API also allows each routed component to hold its own definition of "lifeline" - in some cases, this may be a single connection, but in others it may be multiple connections. Some modules may choose to re-route messaging if the lifeline or any other connection is lost, while others may choose to abort the job.

Both the tree and unity modules retain the current behavior and abort the job if the lifeline connection is lost, while ignoring other lost connections.

2. get_wireup_info: returns (in a provided buffer) info required to wireup connections for the specified job. Some routed modules do not need to return any info as they can wireup via alternative means, while some need to xchg data with their peers. If info is inserted into the buffer, the plm_base_launch_apps function will xcast the contents to the specified job.

The commit also removes the "lifeline" entry from the orte_process_info struct (and the associated ORTE_PROC_MY_LIFELINE definition) as the lifeline info is now contained within the respective routed module.

This commit was SVN r17969.
2008-03-26 01:00:24 +00:00
George Bosilca
64bc580c78 Use evutil_timercmp instead of timercmp to take advantage of the
fallback installed in evutil.h.

This commit was SVN r17968.
2008-03-25 23:54:30 +00:00
George Bosilca
a01f3f762c Check if extra is NULL or not ...
This commit was SVN r17967.
2008-03-25 22:43:46 +00:00
George Bosilca
bea5c0f734 Don't allocate anything if we don't really need it, and avoid leaking memory.
This commit was SVN r17966.
2008-03-25 22:43:11 +00:00
George Bosilca
2ed6ed37bd Don't forget to cleanup once we're done.
This commit was SVN r17965.
2008-03-25 22:42:24 +00:00
George Bosilca
ac6121bd1c Remove unused variable.
This commit was SVN r17964.
2008-03-25 22:41:50 +00:00
George Bosilca
fe2636cb4a Coverty fix: use snprintf instead of sprintf.
This commit was SVN r17963.
2008-03-25 22:41:25 +00:00
George Bosilca
2e46a53b0a Avoid strcpy if its not really required.
This commit was SVN r17962.
2008-03-25 22:40:20 +00:00
George Bosilca
028c7391d3 Coverty fix: Replace strcpy by strncpy.
This commit was SVN r17961.
2008-03-25 22:39:24 +00:00
Jeff Squyres
183fcdf51b Remove duplicate free(), fixing CID 973.
This commit was SVN r17959.
2008-03-25 20:30:56 +00:00
George Bosilca
6717b2dc75 Add the Solaris evport to the list of available event subsystems.
This commit was SVN r17958.
2008-03-25 18:00:40 +00:00
Jeff Squyres
763218e754 Fix #1253: default libevent to use select/poll and only use the other
mechanisms (such as epoll) if someone (ompi_mpi_init()) requests
otherwise.  See big comment in opal/event/event.c for a full
explanation.

This commit was SVN r17956.
2008-03-25 17:18:17 +00:00
George Bosilca
03c10e2a85 Add the Solaris evport support.
This commit was SVN r17954.
2008-03-25 16:44:27 +00:00
Ralph Castain
d6eeb67086 Update the RR platform files
This commit was SVN r17953.
2008-03-25 15:04:04 +00:00
Ralph Castain
90107f3c14 Fix an issue with comm_spawn over who sent/recv first in the modex. The modex assumes that the first name on the list is the "root" that will serve as the allgather collector/distributor. The dpm was putting that entity last, which forced us to pre-inform the parent procs of the child proc's contact info since the parent was trying to send to the child.
Clarify the setting of send_first in the mpi bindings (trivial, i know, but helpful)

Remove the extra xcast of child contact info to the parent job.

This commit was SVN r17952.
2008-03-25 14:57:34 +00:00
Galen Shipman
f1e3045296 need orted_LDFLAGS as a placeholder
you will need to re autogen.sh 

This commit was SVN r17951.
2008-03-25 13:41:09 +00:00
Ralph Castain
cca449e379 Move an OMPI RML tag to the OMPI layer
This commit was SVN r17950.
2008-03-25 13:30:48 +00:00
Jeff Squyres
f97130c3aa Sanity check: don't allow --disable-binaries with --enable-dist.
This commit was SVN r17946.
2008-03-25 12:01:36 +00:00
Jeff Squyres
5320c91ab3 Oops -- fix the constructor to also use opal_object_t instead of
opal_list_item_t.

This commit was SVN r17945.
2008-03-25 11:59:50 +00:00
Ralph Castain
ec76fe4fe4 Fix singletons - only go through orte_proc_info_init once! Session dir is calling it be sure it is filled in, which was causing us to reset the fields.
This commit was SVN r17944.
2008-03-25 02:10:42 +00:00
Galen Shipman
0116041133 BTL shouldn't own the passive side's descriptor in the PML get protocol. The BTL
doesn't know when to free it on the passive side. 

This commit was SVN r17943.
2008-03-25 01:43:41 +00:00
Ralph Castain
ebea4d04e4 Remove defunct error constant - we no longer have a GPR that can hold corrupt data!
This commit was SVN r17942.
2008-03-24 21:05:14 +00:00
Ralph Castain
4efddc7b0a Fix the allgather and allgather_list functions to avoid deadlocks at large node/proc counts. Violated the RML rules here - we received the allgather buffer and then did an xcast, which causes a send to go out, and is then subsequently received by the sender. This fix breaks that pattern by forcing the recv to complete outside of the function itself - thus, the allgather and allgather_list always complete their recvs before returning or sending.
Reogranize the grpcomm code a little to provide support for soon-to-come new grpcomm components. The revised organization puts what will be common code elements in the base to avoid duplication, while allowing components that don't need those functions to ignore them.

This commit was SVN r17941.
2008-03-24 20:50:31 +00:00
Jeff Squyres
ebfdd133f5 AFACT, we never put endpoints on a list.
This commit was SVN r17940.
2008-03-24 18:32:55 +00:00
Ralph Castain
58d51f2689 Revert that! Need to complete the rest of the change so the orted knows the correct nodeid...
Sorry

This commit was SVN r17939.
2008-03-24 18:17:26 +00:00
Ralph Castain
dae4518878 Use the correct nodeid!
This commit was SVN r17938.
2008-03-24 18:15:08 +00:00
Jeff Squyres
004c3a5b09 Ensure to cover all cases when either ORTE or OMPI is not yet
initialized.  For example, there is a period of time during
ompi_mpi_init when orte_initialized==true, but
ompi_mpi_initialized==false (and therefore communicators are not setup
yet, etc.).

This commit was SVN r17937.
2008-03-24 16:25:14 +00:00
Ralph Castain
dc7f45dafd Remove the obsolete and largely unused orte_system_info structure. The only fields that were used in that struct were nodeid and nodename - these have been transferred to the orte_process_info structure.
Only one place used the user name field - session_dir, when formulating the name of the top-level directory. Accordingly, the code for getting the user's id has been moved to the session_dir code.

This commit was SVN r17926.
2008-03-23 23:10:15 +00:00
George Bosilca
9222ea0d0a Cast the uintptr_t to int when playing with fds.
This commit was SVN r17925.
2008-03-23 18:16:29 +00:00
Jeff Squyres
8239e40607 Add header for OS X.
This commit was SVN r17924.
2008-03-23 12:57:57 +00:00
Jeff Squyres
314ab2c6e7 Update internal libevent to upstream (v1.4.2-rc + OMPI changes).
Greatly reduce the number of "foo" -> "opal_foo" symbol renames in the
libevent source, and instead greatly expand the event_rename.h file
that uses preprocessor macros to make all public symbols be
"opal_foo".

This commit was SVN r17923.
2008-03-23 12:33:04 +00:00