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

971 Коммитов

Автор SHA1 Сообщение Дата
Ralph Castain
e653da1d11 Where or where did that patch go??? Ah - there it went! ;-)
Fix singleton operations - allow multiple xcasts to be queued.

This commit was SVN r15097.
2007-06-15 13:45:29 +00:00
George Bosilca
35e824377e There seems to be a subtle race condition when we fail to spawn a
child. Marking the child as failed solve the issue.

This commit was SVN r15087.
2007-06-14 22:36:47 +00:00
George Bosilca
a4d99ddef6 More synchronizations for the Windows version. The problem came from
the multiple threads accessing the OOB/registry asynchronously via the
callbacks. The quickest solution (but definitively not the cleanest) is
to serialize these callbacks in such a way that at any given time
only one thread can execute a callbacks.

This commit was SVN r15086.
2007-06-14 22:35:38 +00:00
George Bosilca
fb9ff5cc75 Don't remove the tcp events from the list, they will remove themselves
in the destructor.

This commit was SVN r15085.
2007-06-14 22:33:09 +00:00
Josh Hursey
6cdfefad87 Fix portals BTL and cnos RML.
Both were failing due to interface changes that were never 
applied to them properly.

This commit was SVN r15082.
2007-06-14 18:49:41 +00:00
Ralph Castain
fde15ac97d Bring the TM launcher online
This commit was SVN r15076.
2007-06-14 12:33:34 +00:00
George Bosilca
95a607b945 A more Windows friendly version. As the socket event will be generated
through the win dll using multiple threads, we have to insure that
the oob callbacks happens only in a synchronous way or really bad
things happens with the current design (blocking messages from a receive
callback).

This commit was SVN r15069.
2007-06-14 04:38:06 +00:00
George Bosilca
8dfa06a617 Only output when the user request it.
This commit was SVN r15067.
2007-06-14 04:33:18 +00:00
George Bosilca
13a693faa0 Update the Windows process ODLS.
This commit was SVN r15066.
2007-06-14 04:32:19 +00:00
Pak Lui
de0f1eef89 No major changes here. Just updates to remove unused code and comments.
This commit was SVN r15051.
2007-06-13 17:23:03 +00:00
Pak Lui
03a93a38c5 Added an option for daemonizing orted. The existing behavior to --no-daemonize
for gridengine is not changed.

This commit was SVN r15050.
2007-06-13 17:11:37 +00:00
Ralph Castain
5adef03179 Clean up a diagnostic so it only outputs when requested
This commit was SVN r15048.
2007-06-13 15:53:10 +00:00
George Bosilca
18c2bb0ed6 Don't forget to set the name argument before spawning the daemon.
This commit was SVN r15047.
2007-06-13 15:45:34 +00:00
Pak Lui
8e7daea11f bring inline more changes with r15007.
This commit was SVN r15044.

The following SVN revision numbers were found above:
  r15007 --> open-mpi/ompi@85df3bd92f
2007-06-13 15:30:18 +00:00
Ralph Castain
425fed95ff Bring the SGE component online
This commit was SVN r15043.
2007-06-13 15:02:47 +00:00
Rainer Keller
7e0b400f3f - Small Fix.
This commit was SVN r15037.
2007-06-13 10:43:03 +00:00
George Bosilca
278ec7fd4f I wonder how this one compiled before ... or how do I manage to
miss it ...

This commit was SVN r15032.
2007-06-12 23:24:39 +00:00
George Bosilca
9d342ccb61 Shorter warning message.
This commit was SVN r15031.
2007-06-12 23:22:09 +00:00
George Bosilca
715f6012cf The DSS pack function can use the const attribute for the src field
as it is never modified by the pack functions directly. Enforce it
all over the code base.

This commit was SVN r15026.
2007-06-12 22:47:14 +00:00
George Bosilca
649ab84654 Don't do SIGPIPE handling on Windows.
This commit was SVN r15025.
2007-06-12 22:44:39 +00:00
George Bosilca
9e89abbd57 HAVE_SYS_TYPES_H require an ifdef.
This commit was SVN r15024.
2007-06-12 22:43:18 +00:00
George Bosilca
432185d617 Forget to remove the MCA parameter corresponding to the 2 unused
fields in the RSH PLS component.

This commit was SVN r15023.
2007-06-12 22:41:38 +00:00
George Bosilca
49e7bf3069 Be a little bit more clear when we fail to identify the shell.
This commit was SVN r15022.
2007-06-12 22:40:44 +00:00
George Bosilca
5b7796dfcd Remove 2 unused fields.
This commit was SVN r15021.
2007-06-12 22:39:57 +00:00
George Bosilca
16c38cabe1 Update the Windows ODLS component.
This commit was SVN r15020.
2007-06-12 22:37:04 +00:00
George Bosilca
bf6f30a42c Make the Windows PLS component match the current requirements for
a PLS module.

This commit was SVN r15019.
2007-06-12 22:34:56 +00:00
Ralph Castain
af64009368 Bring the CNOS component of the PLS back online
This commit was SVN r15018.
2007-06-12 22:17:05 +00:00
Jeff Squyres
54064f6fa1 Fix a warning that Tim P. found this morning.
The warning was indicative of overly-complex code anyway.  So I
removed the "first" bool and simply use a sentinel value in seq_min to
indicate that nothing has changed.  Note that this is "correct enough"
for the moment -- more fixes will come in this area with tickets #1049
and/or #1051.

This commit was SVN r15013.
2007-06-12 17:30:54 +00:00
Brian Barrett
84d1512fba Add the potential for doing some basic error checking on mutexes during
single threaded builds.  In its default configuration, all this does
is ensure that there's at least a good chance of threads building
based on non-threaded development (since the variable names will be
checked).  There is also code to make sure that a "mutex" is never
"double locked" when using the conditional macro mutex operations.
This is off by default because there are a number of places in both
ORTE and OMPI where this alarm spews mega bytes of errors on a
simple test.  So we have some work to do on our path towards
thread support.

Also removed the macro versions of the non-conditional thread locks,
as the only places they were used, the author of the code intended
to use the conditional thread locks.  So now you have upper-case
macros for conditional thread locks and lowercase functions for
non-conditional locks.  Simple, right? :).

This commit was SVN r15011.
2007-06-12 16:25:26 +00:00
Ralph Castain
4e8081ed1e Cleanup a now unnecessary variable
This commit was SVN r15010.
2007-06-12 14:23:33 +00:00
Tim Prins
1467558157 Cleanup a couple warnings.
Update svn:ignore

This commit was SVN r15009.
2007-06-12 14:11:06 +00:00
Ralph Castain
85df3bd92f Bring in the generalized xcast communication system along with the correspondingly revised orted launch. I will send a message out to developers explaining the basic changes. In brief:
1. generalize orte_rml.xcast to become a general broadcast-like messaging system. Messages can now be sent to any tag on the daemons or processes. Note that any message sent via xcast will be delivered to ALL processes in the specified job - you don't get to pick and choose. At a later date, we will introduce an augmented capability that will use the daemons as relays, but will allow you to send to a specified array of process names.

2. extended orte_rml.xcast so it supports more scalable message routing methodologies. At the moment, we support three: (a) direct, which sends the message directly to all recipients; (b) linear, which sends the message to the local daemon on each node, which then relays it to its own local procs; and (b) binomial, which sends the message via a binomial algo across all the daemons, each of which then relays to its own local procs. The crossover points between the algos are adjustable via MCA param, or you can simply demand that a specific algo be used.

3. orteds no longer exhibit two types of behavior: bootproxy or VM. Orteds now always behave like they are part of a virtual machine - they simply launch a job if mpirun tells them to do so. This is another step towards creating an "orteboot" functionality, but also provided a clean system for supporting message relaying.

Note one major impact of this commit: multiple daemons on a node cannot be supported any longer! Only a single daemon/node is now allowed.

This commit is known to break support for the following environments: POE, Xgrid, Xcpu, Windows. It has been tested on rsh, SLURM, and Bproc. Modifications for TM support have been made but could not be verified due to machine problems at LANL. Modifications for SGE have been made but could not be verified. The developers for the non-verified environments will be separately notified along with suggestions on how to fix the problems.

This commit was SVN r15007.
2007-06-12 13:28:54 +00:00
Brian Barrett
27ad954265 Fix a couple of problems with the way we were using orte_process_name_t
structures in the system.  Instead of using memcmp, use the ns function.
This won't cause a problem as long as all three elements of the name are
ints, but if they have different sizes, alignment and padding rules
can cause memcmp() to compare padding space, which rarely holds a sane
value.

This commit was SVN r14998.
2007-06-11 19:12:11 +00:00
Shiqing Fan
d9fa58dc33 Add two more arguments to call. The definition of the function has been modified with 2 additional arguments.
This commit was SVN r14990.
2007-06-11 14:27:36 +00:00
Jeff Squyres
b704ff9f4e Fix typo that accidentally always resulted in a "true" result.
This commit was SVN r14984.
2007-06-11 12:52:56 +00:00
Jeff Squyres
1ed906a78b * Forgot to update the iof null component when we revamped the IOF
framework.  Updated pointers to match current definitions.
 * Trimmed some dead wood while I was at it:
   * No need for component close function that does nothing
   * Use BEGIN/END_C_DECLS
   * Use recent MCA param register function
   * Ditch MCA param orte_iof_debug (it wasn't used anywhere)
   * Use MCA param orte_iof_override properly in the code (i.e., look
     up the value once and use the cached value later)

This commit was SVN r14981.
2007-06-11 00:58:21 +00:00
Jeff Squyres
9fb2e807a9 Remove some unnecessary code, probably dating back to before we had
generalized component include/exclude infrastructure.  This commit
removes the oob_base_include and oob_base_exclude MCA params because
they have long-since been handled by the "oob" MCA parameter in the
MCA base.

This commit was SVN r14979.
2007-06-10 14:16:05 +00:00
Jeff Squyres
4f3a11b4db Fixes trac:967.
A bunch of fixes from the /tmp/iof-fixes branch that fix up ''some''
(but not ''all'') of the problems that we have seen with iof:

 * Reading very large files via stdin redirected to orteun (Sun saw
   this)
 * Reading a little bit of a large file redirected to orterun's stdin
   and then either closing stdin or exiting the process

The Big Change was to make the proxy iof (the one running in non-HNP
orteds) send back a "I'm closing the stream" ACK back to the service
iof.  This tells the HNP that there will be nothing more coming from
that peer, and therefore the iof forward should be removed.

Many other minor cleanups/fixes, terminology changes, and
documentation additions are included in this commit as well.  However,
there are still some pretty big outstanding issues with IOF that are
not addressed either by #967 or this commit.  A few examples:

 * IOF was designed to allow multiple subscribers to a single stream.
   We're not entirely sure that this works (for one thing, there is
   nothing in the ORTE/OMPI code base that uses this functionality).
 * There are also resources leaked when processes/jobs exit (per
   Ralph's first comment on this ticket).  
 * There is no feedback to close orterun's stdin when all subscribers
   to the corresponding stream have closed stdin.

This commit was SVN r14967.

The following Trac tickets were found above:
  Ticket 967 --> https://svn.open-mpi.org/trac/ompi/ticket/967
2007-06-08 22:59:31 +00:00
Tim Prins
31a3430c85 Fix threaded builds broken by r14914
This commit was SVN r14933.

The following SVN revision numbers were found above:
  r14914 --> open-mpi/ompi@983fd3432a
2007-06-06 22:30:34 +00:00
Ralph Castain
e0e4163f53 Remove pithy comment
This commit was SVN r14930.
2007-06-06 20:26:52 +00:00
George Bosilca
3b7f3e5565 Keep the unknown shell string.
This commit was SVN r14929.
2007-06-06 20:24:42 +00:00
George Bosilca
fbb46f0ee7 A faster search without the bitmap. Remove all references to the orte_bitmap.
This commit was SVN r14926.
2007-06-06 20:23:14 +00:00
George Bosilca
24eae5c1ec We have a goto label for cleanup so make sure we always use it. This way we insure
that the lock are correctly released in all cases.

This commit was SVN r14925.
2007-06-06 20:20:52 +00:00
George Bosilca
28c9d0758b These functions are supposed to be static so there is no reason to have them declared in the header file.
This commit was SVN r14924.
2007-06-06 20:18:37 +00:00
George Bosilca
b047ed75d7 Don't forget to free the temporary buffer.
This commit was SVN r14923.
2007-06-06 20:17:27 +00:00
Ralph Castain
ea0c03fd7a Revert out r14910. Turns out that the GPR *has* to be able to deal with NULL data values. We fixed this a long time ago on the "put" side, but never dealt with it for "get" - hence, we could "put" ORTE_UNDEF'd attributes in a mapping policy, but couldn't retrieve them. This is why you only encountered the error on comm_spawn and not during the original launch of a job.
This correctly repairs the problem by enabling the GPR's "get" function to correctly handle NULL data values.

This commit was SVN r14916.

The following SVN revision numbers were found above:
  r14910 --> open-mpi/ompi@0757467d77
2007-06-06 18:34:54 +00:00
Ralph Castain
983fd3432a Fix singleton comm_spawn. Ensure that singleton's start the RML receive function so they can receive RML updates during xconnect procedures once any comm_spawn'd children start. Since singleton's only use the RMGR/URM component, update that component to also hold us until xconnect is completed (if it is invoked) before returning to the caller.
This commit was SVN r14914.
2007-06-06 17:39:23 +00:00
Ralph Castain
bbb60e37c0 Remove stale define
This commit was SVN r14913.
2007-06-06 17:19:43 +00:00
Ralph Castain
0757467d77 Fix comm_spawn. The problem stems from our use of the existence of an attribute as equivalent to a boolean "true" - in other words, we only confirm the existence of an attribute on a list to indicate something as opposed to looking at its specific value. Hence, we create the attribute with a type of ORTE_UNDEF - which is fine...until we then attempt to store/retrieve that attribute from the registry. In that case, the DSS barks because it treats ORTE_UNDEF as an error.
The only place where we attempt to store/retrieve attributes is in the RMAPS framework in support of comm_spawn. So this is where things broke down. The fix was simply to say "if the attribute data type is ORTE_UNDEF, then treat it like a boolean with value true". Trivial fix - solves problem.

This commit was SVN r14910.
2007-06-06 15:16:22 +00:00
Brian Barrett
508da4e959 OS X apparently really doesn't like shared libraries with unresolvable
symbols in them and environ is defined only in the final application
(probably in crt1.o).  Apple provides a function for getting at the
environment, so use that instead if it's available.

This commit was SVN r14857.
2007-06-05 03:03:59 +00:00