1
1

654 Коммитов

Автор SHA1 Сообщение Дата
Brian Barrett
16186978bb - Fix some compile issues in r11109
- indent / whitespace cleanup
- don't set --daemon-debug when pls debug is given, as it seems to make
  the daemons abort.

This commit was SVN r11113.

The following SVN revision numbers were found above:
  r11109 --> open-mpi/ompi@da7df6d257
2006-08-03 18:51:42 +00:00
Galen Shipman
da7df6d257 monitor bproc node state and terminate the job if a node in our job goes
down.. 

This commit was SVN r11109.
2006-08-03 05:29:49 +00:00
Ralph Castain
e0cd034e13 Remove unused variable
This commit was SVN r11084.
2006-08-02 12:26:41 +00:00
Ralph Castain
bd7e8febb1 Bring over the ORTE 2.0 DSS. This introduces a few changes, almost all of which are transparent to the user:
1. Introduces a flag for the type of buffer that now allows a user to either have a fully described or a completely non-described buffer. In the latter case, no data type descriptions are included in the buffer. This obviously limits what we can do for debugging purposes, but the intent here was to provide an optimized communications capability for those wanting it.

Note that individual buffers can be designated for either type using the orte_dss.set_buffer_type command. In other words, the buffer type can be set dynamically - it isn't a configuration setting at all. The type will default to fully described. A buffer MUST be empty to set its type - this is checked by the set_buffer_type command, and you will receive an error if you violate that rule.

IMPORTANT NOTE: ORTE 1.x actually will NOT work with non-described buffers. This capability should therefore NOT be used until we tell you it is okay. For now, it is here simply so we can begin bringing over parts of ORTE 2.0. The problem is that ORTE 1.x depends upon the transmission of non-hard-cast data types such as size_t. These "soft" types currently utilize a "peek" function to see their actual type in the buffer - obviously, without description, the system has no idea how to unpack these "soft" types. We will deal with this later - for now, please don't use the non-described buffer option.

2. Introduces the orte_std_cntr_t type. This will become the replacement for the size_t's used throughout ORTE 1.x. At the moment, it is actually typedef'd to size_t for backward compatibility.

3. Introduces the orte_dss.arith API that supports arbitrary arithmetic functions on numeric data types. Calling the function with any other data type will generate an error.

This commit was SVN r11075.
2006-08-01 18:42:25 +00:00
Josh Hursey
d1e1a68645 This commit contains the necessary changes to get "mpirun a.out" working
correctly with MPI_Comm_spawn.

The problem wiht MPI_Comm_spawn was that the 'parent' process was 
rmgr.create'ing and then rmgr.launch'ing the children via the rmgr proxy
component. The HNP saw these commands and processed them normally, but
since we never went through the HNP's rmgr (urm component) spawn() 
logic the triggers and key/value pairs were never created. So the
children were launched correctly, but since the HNP did not
have any triggers setup, never triggered the xcast for the
children to finish orte_init().

This fix puts the trigger and key/value pair initialization in 
rmgr_urm_spawn() for the 'mpirun a.out' case, *and* in the 
rmgr_base_unpack routine that deals with the creation of the
job for the child as requested by the proxy component. This
will allow the triggers to be registered for the proxy's request
which only happens during MPI_Comm_spawn*

Small change for a lot of debugging. Notice that his reverts r11037
to its previous version, and adds a newline to handle the spawn
cases.

This commit was SVN r11046.

The following SVN revision numbers were found above:
  r11037 --> open-mpi/ompi@5813fb7d2a
2006-07-28 17:17:31 +00:00
Josh Hursey
5813fb7d2a It seems that MPI_Comm_spawn{_multiple} has been broken since r10708
By reverting this file (changeset from commit r10708) to its previous
version fixes the problem.

This should be moved to the v1.1 branch where it is also broken.

This commit was SVN r11037.

The following SVN revision numbers were found above:
  r10708 --> open-mpi/ompi@febc143d8c
2006-07-27 21:21:10 +00:00
Brian Barrett
c744f650ba * really didn't mean for this patch (the threaded accept() code) to come in with
r10841, so revert it (and it's fixes) out.  Will bring back once cleaned up from
  the code used in the tbird experiment

This commit was SVN r10991.

The following SVN revision numbers were found above:
  r10841 --> open-mpi/ompi@dfa1221c3b
2006-07-25 22:32:01 +00:00
Jeff Squyres
c2d4dfce78 Remove unused variable
This commit was SVN r10985.
2006-07-25 21:43:21 +00:00
Jeff Squyres
bdab8d744c Send a pointer to the data, not the data itself. Otherwise, we could
get a segv in some cases.

This commit was SVN r10984.
2006-07-25 21:42:44 +00:00
Ralph Castain
65acc9325a Fix a bug that crept in during the last change to support "mpirun a.out" operations. Since we now reserve a range of vpids for each app_context, we no longer need to track the rank and offset the starting vpid each time through the mapper - the name service automatically accounts for the offset when allocating the next starting vpid for the job.
This should be shifted to v1.1.

This commit was SVN r10916.
2006-07-20 21:06:15 +00:00
Ralph Castain
8bec270f90 Fix a bug noted by Jeff - we were no longer accurately recording in the registry that a process had been terminated when the user initiated the "kill" process (via cntrl-c).
Added another system-level test function for ORTE that just spins until terminated by a ctrl-c signal.

Modified orterun - added a couple of newlines to the output when abnormally terminating so the prompt always is on a new line.

This commit was SVN r10866.
2006-07-18 14:42:27 +00:00
Gleb Natapov
f15fc4ef2f include signal.h for SIGPIPE definition
This commit was SVN r10863.
2006-07-18 09:07:53 +00:00
Brian Barrett
2185c059e8 * use opal_free_list_item_t as the type of items stored in an opal_free_list_t,
rather than assuing it's an opal_list_item_t.

This commit was SVN r10860.
2006-07-17 21:51:50 +00:00
Jeff Squyres
82161d20ca Catch a SIGPIPE and allow it to be harmless. Register a no-op SIGPIPE
handler before the write() and de-register it afterwards.  Determine
if the write() succeeded or failed by the return of write().

This commit was SVN r10858.
2006-07-17 21:15:56 +00:00
Jeff Squyres
416e9de22d Fix some minor problems when handling the error cases
This commit was SVN r10854.
2006-07-17 19:21:10 +00:00
George Bosilca
33a7634009 Silence the compiler.
This commit was SVN r10851.
2006-07-17 17:13:28 +00:00
Ralph Castain
404acc9f65 It's okay to call index prior to anything being put in the registry...
This commit was SVN r10848.
2006-07-17 14:31:42 +00:00
Ralph Castain
574a6f7896 Fix a bug that caused the system to crash when asked for an index of the segment names. Such a request required passing a NULL value for the segment name, but the find_seg function didn't protect itself from that value.
Thanks to James Kennedy (UCC-Ireland) for finding it.

This commit was SVN r10847.
2006-07-17 13:51:07 +00:00
Brian Barrett
dfa1221c3b * AC_CONFIG_LINKS has a minor problem in that it always uses ln -s, rather
than $(LN_S).  This causes problems with with Windows and probably
  elsewhere (re: #200).  So use a slightly different trick to get the
  right header selected for the MEMCPY and TIMER components.

* Using the same trick used to solve the AC_CONFIG_LINKS problem, 
  stop using a separate header file for direct calling in the
  PML and MTL.  This lets me remove some icky code in ompi_mca.m4
  that was more fragile than I really liked.

This commit was SVN r10841.
2006-07-16 04:23:52 +00:00
Jeff Squyres
ffddfc5629 Turns out that it's a really Bad Idea(tm) to tm_spawn() and then not
keep the resulting tm_event_t that is generated because the back-end
TM library actually caches a bunch of stuff on it for internal
processing, and doesn't let go of it until tm_poll().

tm_event_t's are similar to (but slightly different than)
MPI_Requests: you can't do a million MPI_Isend()'s on a single
MPI_Request -- a) you need an array of MPI_Request's to fill and b)
you need to keep them around until all the requests have completed.

This commit was SVN r10820.
2006-07-14 22:04:41 +00:00
Rainer Keller
50b5791969 - Release best_item
- Reformat

This commit was SVN r10814.
2006-07-14 19:55:14 +00:00
Ralph Castain
c22b0d516e Some edits to the man page for Jeff to review
This commit was SVN r10803.
2006-07-14 14:47:06 +00:00
Ralph Castain
7b3ced80e8 Fix a bug that has been causing inconsistent behavior on a number of platforms. Will explain more on the core-devel list.
Jeff: this needs to be back-patched to our supported prior releases. I'll try to verify how far back we need to go - my initial guess is probably all of them

This commit was SVN r10801.
2006-07-14 14:16:20 +00:00
Jeff Squyres
e6c9c699fe Minor changes:
- change -no_oversubscribe to -nooversubscribe (to be similar to
  -nolocal)
- Added text to orterun.1 describing slots and -nooversubscribe
Still need to add text about "mpirun a.out" functionality, and RHC
wants to make some minor edits, so committing for synchronization.

This commit was SVN r10800.
2006-07-14 14:15:03 +00:00
Ralph Castain
cef1ce19d6 Restore the "sleep" delay during startup.
Since Jeff and I are going to a branch for T-bird, we have restored the trunk to its prior state to avoid any possibility of disturbing it.

This commit was SVN r10774.
2006-07-12 22:18:53 +00:00
Jeff Squyres
ef8433a60b After more discussion on the phone, it seems easier to not muck around
in special components but rather go down to a /tmp branch.  So
removing these components and I'll branch next.

This commit was SVN r10771.
2006-07-12 22:12:29 +00:00
Jeff Squyres
62c189ea1c Fix a few blanket search/replaces
This commit was SVN r10768.
2006-07-12 21:54:05 +00:00
Ralph Castain
badd3f4acb Clean up a few lingering references to "urm".
This commit was SVN r10765.
2006-07-12 21:01:21 +00:00
Jeff Squyres
36ca7497d1 Update m4 and configure files
This commit was SVN r10764.
2006-07-12 20:55:39 +00:00
Ralph Castain
9102b5af3b Remove the "sleep" delay in the oob connection procedure. This shouldn't cause any problems, especially for launches of less than 1000 processes.
Please report any abnormal behavior during launch, though, as we would like to understand what (if any) impact is seen. I couldn't see any on small jobs (the modulo functions render this number down pretty low).

This commit was SVN r10763.
2006-07-12 20:31:30 +00:00
Ralph Castain
a84898316c Create new components to support Thunderbird scalability development
This commit was SVN r10762.
2006-07-12 20:28:23 +00:00
Jeff Squyres
f7a71772a7 Remove long-defunct "openmpi" tool from orte. It was apparently an
early generation of the orted, and is now long-dead.

This commit was SVN r10754.
2006-07-12 03:52:17 +00:00
Brian Barrett
4b70bb92db * Per ticket #112, localhost checks should check against 127.0.0.1/8, rather
than just 127.0.0.1.

This commit was SVN r10750.
2006-07-11 20:54:49 +00:00
Josh Hursey
682a6a123e - os_dirpath.c : reset the is_dir var each time through the loop.
- orte-clean.c : check to see if the base session directory is empty 
                 and delete it if it is.

- orte_universe_exists.c : Fix a down stread problem resulting from 
      George's r10718 commit. Don't use the 'fulldirpath' since
      that is no longer guarenteed to be the absolute path
      to the session directory. Construct this value outside of that
      function from the prefix and frontend vars.

This commit was SVN r10741.

The following SVN revision numbers were found above:
  r10718 --> open-mpi/ompi@47eef2e002
2006-07-11 17:31:05 +00:00
Josh Hursey
5a812c8211 Fix orte-ps which George broke in r10718 by extending the orte_session_dir_get_name()
so that it does not return an error when no universe is passed to it.

Also put back in the 'Slots In Use' column as it is now working properly
per Ralphs recent ras commits. Still not sure what 'Slots Alloc' is meant
to represent, so left that as #if 0'd out for the moment.

This commit was SVN r10739.

The following SVN revision numbers were found above:
  r10718 --> open-mpi/ompi@47eef2e002
2006-07-11 16:54:07 +00:00
Ralph Castain
11125dd67a George has a retarded compiler - but that's okay. This will quiet it's warning system.
This commit was SVN r10736.
2006-07-11 15:27:02 +00:00
George Bosilca
3daa063772 Make the format and the arguments matchs.
This commit was SVN r10734.
2006-07-11 15:10:44 +00:00
Josh Hursey
9a31060b6d Fix r10725 so that the trunk builds again.
This commit was SVN r10733.

The following SVN revision numbers were found above:
  r10725 --> open-mpi/ompi@ae222cca5b
2006-07-11 14:48:31 +00:00
Josh Hursey
2e506591c3 more pedantic cleanup. Hopefully this will make happy.
This commit was SVN r10730.
2006-07-11 13:48:28 +00:00
Josh Hursey
6309047e63 pedantic cleanup
This commit was SVN r10728.
2006-07-11 13:43:50 +00:00
Ralph Castain
ae222cca5b Include the help file so it can be accessed
This commit was SVN r10725.
2006-07-11 12:15:25 +00:00
George Bosilca
b3e5c658d2 Add the correct include file.
This commit was SVN r10721.
2006-07-11 05:50:15 +00:00
George Bosilca
47eef2e002 Use Windows specific functions to parse the list of files in a
directory.

This commit was SVN r10718.
2006-07-11 05:28:31 +00:00
George Bosilca
a8a2a60cc5 Nothing releavant, only indentation.
This commit was SVN r10717.
2006-07-11 05:27:17 +00:00
George Bosilca
523b6dcbe8 Protect the header files. Remove the directory using the OPAL
function.

This commit was SVN r10716.
2006-07-11 05:25:41 +00:00
George Bosilca
94f6cb3765 There is no SIG_USR1 and SIG_USR2 on windows.
This commit was SVN r10715.
2006-07-11 05:24:08 +00:00
Ralph Castain
6129a5a887 Enable -host support for "mpirun a.out". You can now execute on all slots on specified nodes within your overall allocation.
This commit was SVN r10713.
2006-07-11 02:59:23 +00:00
George Bosilca
a9df5035f9 Remove unused variable.
This commit was SVN r10712.
2006-07-11 00:30:51 +00:00
Ralph Castain
febc143d8c Per LANL's stated need, add functionality that runs a.out across ALL available process slots if no num_proc is specified on the command line. However, please note the following limitation: we ONLY allow ONE application to be specified on the command line when this feature is invoked. If multiple apps are specified, the user MUST also specify the number to be launched for each and every one of them.
Update the help text to report errors when not following that rule.

Also updated the RMAPS help text to reflect the reorganization of some of the round-robin code into the base.

The new functionality has been tested under Mac OS-X and on Odin using an MPI program. Both byslot and bynode mapping have been checked and verified. Operational support for other systems needs to be verified - I respectfully request people's help in doing so.

This commit was SVN r10708.
2006-07-10 21:25:33 +00:00
Ralph Castain
3d220cbd48 This patch fixes several issues relating to comm_spawn and N1GE. In particular, it does the following:
1. Modifies the RAS framework so it correctly stores and retrieves the actual slots in use, not just those that were allocated. Although the RAS node structure had storage for the number of slots in use, it turned out that the base function for storing and retrieving that information ignored what was in the field and simply set it equal to the number of slots allocated. This has now been fixed.

2. Modified the RMAPS framework so it updates the registry with the actual number of slots used by the mapping. Note that daemons are still NOT counted in this process as daemons are NOT mapped at this time. This will be fixed in 2.0, but will not be addressed in 1.x.

3. Added a new MCA parameter "rmaps_base_no_oversubscribe" that tells the system not to oversubscribe nodes even if the underlying environment permits it. The default is to oversubscribe if needed and the underlying environment permits it. I'm sure someone may argue "why would a user do that?", but it turns out that (looking ahead to dynamic resource reservations) sometimes users won't know how many nodes or slots they've been given in advance - this just allows them to say "hey, I'd rather not run if I didn't get enough".

4. Reorganizes the RMAPS framework to more easily support multiple components. A lot of the logic in the round_robin mapper was very valuable to any component - this has been moved to the base so others can take advantage of it.

5. Added a new test program "hello_nodename" - just does "hello_world" but also prints out the name of the node it is on.

6. Made the orte_ras_node_t object a full ORTE data type so it can more easily be copied, packed, etc. This proved helpful for the RMAPS code reorganization and might be of use elsewhere too.

This commit was SVN r10697.
2006-07-10 14:10:21 +00:00