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

2245 Коммитов

Автор SHA1 Сообщение Дата
Rainer Keller
b98a095d22 - Similar to r21229, check for return code from
orte_rml_base_update_contact_info

This commit was SVN r21233.

The following SVN revision numbers were found above:
  r21229 --> open-mpi/ompi@9ad9b20847
2009-05-14 00:36:51 +00:00
Rainer Keller
9b7c4c2354 - Update comment
This commit was SVN r21232.
2009-05-14 00:32:43 +00:00
Rainer Keller
7950e37eed - Fix Coverity CID 890;
Use snprintf instead sprintf

This commit was SVN r21231.
2009-05-14 00:30:32 +00:00
Rainer Keller
b3daf7184a - Fix Coverity CID 1272:
Need to release src in case of error

 - Fix Coverity CID 1271:
   basename is allocated by opal_basename and later overwritten

This commit was SVN r21230.
2009-05-14 00:28:35 +00:00
Rainer Keller
9ad9b20847 - Fix Coverity CID #15.
This commit was SVN r21229.
2009-05-14 00:25:02 +00:00
Rainer Keller
73fd329cbd - Add the proper __opal_attribute_format__(__printf__...) to
declarations.

This commit was SVN r21226.
2009-05-14 00:10:59 +00:00
Ralph Castain
fd5dd9c4cb Ensure we correctly cycle through map_by_slot when mapping leftover procs in rankfile mapper
This commit was SVN r21219.
2009-05-12 15:41:55 +00:00
Josh Hursey
76ecb7d2fe Make sure to initialize orte_process_info.proc_type properly on restart. Otherwise the application will have type 'NONE' instead of 'APP'.
This commit was SVN r21217.
2009-05-12 14:14:05 +00:00
Shiqing Fan
9f624cd9a2 A small fix, the right one to use in orte.
This commit was SVN r21213.
2009-05-12 09:53:34 +00:00
Shiqing Fan
56866e68e9 A few typecasts.
This commit was SVN r21212.
2009-05-12 09:46:52 +00:00
Ralph Castain
d396f0a6fc Per the discussion on the devel list, move the binding of processes to processors from MPI_Init to process start. This involves:
1. replacing mpi_paffinity_alone with opal_paffinity_alone - for back-compatibility, I have aliased mpi_paffinity_alone to the new param name. This caus
es a mild abstraction break in the opal/mca/paffinity framework - per the devel discussion...live with it. :-) I also moved the ompi_xxx global variable
 that tracked maffinity setup so it could be properly closed in MPI_Finalize to the opal/mca/maffinity framework to avoid an abstraction break.

2. Added code to the odls/default module to perform paffinity binding and maffinity init between process fork and exec. This has been tested on IU's odi
n cluster and works for both MPI and non-MPI apps.

3. Revise MPI_Init to detect if affinity has already been set, and to attempt to set it if not already done. I have *not* tested this as I haven't yet f
igured out a way to do so - I couldn't get slurm to perform cpu bindings, even though it supposedly does do so.

This has only been lightly tested and would definitely benefit from a wider range of evaluation...

This commit was SVN r21209.
2009-05-12 02:18:35 +00:00
Ralph Castain
fa839f4a30 Fix a bug in the rankfile mapper when nooversubscribe is set
This commit was SVN r21208.
2009-05-11 23:44:59 +00:00
Ralph Castain
388292aed5 Fix my old "friend" singleton comm_spawn
This commit was SVN r21207.
2009-05-11 14:53:02 +00:00
Ralph Castain
c45ff0d59f Take the next step towards fully utilizing static ports for the daemons to eliminate the initial "phone home" to mpirun by modifying the orted termination procedure to eliminate the need for a full barrier-like operation. Instead, we add a "onesided" barrier to the grpcomm framework API that releases the orted once it has completed its own contribution to the barrier - i.e., the orteds now exit as the "ack" message rolls up towards mpirun instead of sending the "ack" directly to mpirun.
This causes the orteds in the routing tree to remain alive until all termination "acks" from orteds below them have passed through. Thus, if we use static ports, we no longer require a direct orted-to-mpirun connection.

Also modify the binomial routed module so it conforms to what all the other routed modules do and have all messages pass along the routing tree instead of short-circuiting between orteds. This further reduces the number of ports being opened on backend nodes.

This commit was SVN r21203.
2009-05-11 14:11:44 +00:00
Ralph Castain
c6f0499720 Some cleanups required from last night's commits to resolve some race conditions and ensure we cleanup properly. Also, remove some debug output that was unintentionally left "on" by default.
This commit was SVN r21202.
2009-05-11 14:03:07 +00:00
Ralph Castain
10a694ea43 The current errmgr.register_callback API takes a jobid as one of its argument. The intent was to have the errmgr check the jobid of the job being reported to it and, if it matches the jobid that was registered, call the specified callback function.
Unfortunately, we assign the jobid during the plm.spawn procedure - which means it happens -after- control of the job has passed out of the range of mpirun (or whatever program is spawning the job), so it is too late for that main program to register a callback function. If the main program registers tha callback -after- we return from plm.spawn, then it (a) cannot get a callback for failed-to-start, and (b) will miss the callback if a proc aborts in the time between job launch and the call to errmgr.register_callback.

This commit fixes the problem by adding callback-related fields to the orte_job_t object. Thus, the main program can specify what job states should initiate a callback, what function is to be called, and what data is to be passed back by simply filling in the orte_job_t fields prior to calling plm.spawn.

Also, fully implement the "copy" function for the orte_job_t object.

NOTE: as a result of this change, the errmgr.register_callback API may no longer be of any value.

This commit was SVN r21200.
2009-05-11 03:38:15 +00:00
Ralph Castain
69cd4e9d8a Continue cleanup of opal_pointer_array references to replace direct addressing with opal_pointer_array_get_item.
Also, be much more careful and complete in recovering resources of terminated jobs.

This commit was SVN r21199.
2009-05-11 03:27:57 +00:00
Ralph Castain
08e2f8ec2d Continue some more cleanup of how we handle opal_pointer_arrays - replace direct references with opal_pointer_array_get_item
This commit was SVN r21198.
2009-05-11 03:24:49 +00:00
Josh Hursey
d920a302f3 Some more C/R related commits that have been sitting off-trunk for a while.
* Pass the sequence number of the checkpoint along with reference from the global to the local coordinator.
 * 'orte-restart --apponly' now just generates the app context file, and does not run with it. This provides the user the ability to edit the file before launching. 
 * Add a OPAL_CRS_NONE state
 * Split the INC into three distinct parts.
 * Implement a restart mechanism for the 'none' component. If given a context it simply execvp()'s it.

This commit was SVN r21195.
2009-05-08 20:51:13 +00:00
Josh Hursey
5d0607395d A couple of C/R related commits that have been sitting off-trunk for a while.
* Add 'orte-checkpoint -l' option that lists all checkpoints currently available on the system.
 * Add 'orte-restart -i' which prints information regarding the checkpoint targeted for restart.
 * Add ability to extract the timing metadata.
 * Fix show_help() in the orte-checkpoint and orte-restart tools. They should be using the opal versions instead of the orte versions (otherwise nothing is printed).

This commit was SVN r21194.
2009-05-08 19:41:11 +00:00
Shiqing Fan
537b8cd8b1 Get rid of improper use of SET_SOURCE_FILES_PROPERTIES. When using the latest CMake (2.6 patch 4), we get many errors, which didn't show in previous version.
This commit was SVN r21188.
2009-05-07 17:41:05 +00:00
Rainer Keller
b0754071b7 - For compilation with BLCR and --with-ft=cr, #include <string.h>
This commit was SVN r21185.
2009-05-07 16:14:59 +00:00
Greg Koenig
60485ff95f This is a very large change to rename several #define values from
OMPI_* to OPAL_*.  This allows opal layer to be used more independent
from the whole of ompi.

NOTE: 9 "svn mv" operations immediately follow this commit.

This commit was SVN r21180.
2009-05-06 20:11:28 +00:00
Shiqing Fan
cd565923d3 Completely remove ltdl support for Windows build.
This commit was SVN r21170.
2009-05-05 18:59:13 +00:00
Josh Hursey
8b8bee04d6 It seems that some of the patches were missed in r21131. :(
This patch contains the following items:
 * Fix the flag passed to open() for the read side of the named pipe between the local and app coordinator. There is a race condition when using O_RDWR on a named pipe (not sure how that bug got in there in the first place).
 * Adjust control in the C/R thread timing
 * Clarify return code in BLCR component
 * Allow the user to adjust the max wait time for the named pipes in the FileM local coordinator by using the MCA parameter "snapc_full_max_wait_time" (Default: 20 seconds)
 * If the application terminates while there are active FileM operations, force mpirun to wait on these operations to complete.
 * Allow the user to set the local copy command (Default: cp) via MCA parameter "filem_rsh_cp"
 * Implement the ability to throttle the number of outgoing connections in FileM. At larger scales this type of explicit throttling helps prevent overwhelming the HNP machine. Default: 10, set via MCA parameter: {{{filem_rsh_max_outgoing}}}

This commit was SVN r21167.

The following SVN revision numbers were found above:
  r21131 --> open-mpi/ompi@0deb009225
2009-05-05 16:45:49 +00:00
Ralph Castain
e615af8b80 Silence coverity...
This commit was SVN r21149.
2009-05-04 22:22:47 +00:00
Ralph Castain
fa531a842d Send all xml output over stdout
This commit was SVN r21147.
2009-05-04 18:51:22 +00:00
Ralph Castain
eac027e6bc In reviewing last night's MTT of trunk, discovered that IU was still testing the old plm slurmd module. This was created solely for debugging proposed changes to the slurm module which have long since been integrated across - and thus, the slurmd module hasn't been maintained for quite some time.
Which explains why the tests using that module all failed...sigh.

My bad for not cleaning it out a long time ago.

This commit was SVN r21145.
2009-05-04 11:25:32 +00:00
Ralph Castain
4be24521aa Modify the orte_process_info structure to handle a broader range of process types by replacing the individual booleans with a 32-bit bitmap. Use a set of #define's to define the individual bits, and a set of matching macros to test for them. Update the orte code base to use the macros instead of the booleans.
Minor mod to the ompi layer to use the new #define's - just one-line name replacements.

This commit was SVN r21144.
2009-05-04 11:07:40 +00:00
Rainer Keller
c32516c9a3 - Include errno.h, to get MTT for sun to run through
This commit was SVN r21143.
2009-05-04 09:13:16 +00:00
Ralph Castain
7b420e32b6 Add some missing tests
This commit was SVN r21140.
2009-05-01 18:35:22 +00:00
Ralph Castain
0b9116b1e3 Don't really need all those if statements...duh. Cleanup the code a bit.
This commit was SVN r21139.
2009-05-01 17:11:44 +00:00
Ralph Castain
d98fc311e9 Restore the ability to specify a range of dynamic ports for use by the TCP OOB module. The range can now be specified as any combination of ranges (e.g., 1-5,8,10,21-30). The system will error out if you attempt to specify both static and dynamic ports.
This commit was SVN r21138.
2009-05-01 15:57:36 +00:00
Ralph Castain
dca0246e57 Add some logic so we don't try to kill procs that are already dead, check for file existence before trying to remove, etc.
Just eliminates some harmless (but disturbing to users) warning messages

This commit was SVN r21135.
2009-05-01 14:00:59 +00:00
Ralph Castain
dfb2146430 Perform the ziatest as a C program instead of a script - less trouble that way.
This commit was SVN r21132.
2009-04-30 18:43:26 +00:00
Josh Hursey
0deb009225 A bunch of improvements focused on Snapshot Coordination (SnapC) and File Management (FileM).
* Improved timing in SnapC Full Global Coordinator
 * Improved scalability of the SnapC Full protocol
 * Minor improvements to the error reporting mechanisms in SnapC and FileM
 * Improved the memory usage of the metadata routines - now the owner of the data is more explicit.
 * Added a FileM hint to indicate when files stored locally can be moved to/from a globally mounted file system using just the 'cp' command instead of the 'rcp/scp' command. Slightly improves performance, but not too drastically. Can be set using the following SnapC MCA parameter: {{{snapc_base_global_shared=1}}}
 * Implement the ability to throttle the number of outgoing connections in FileM. At larger scales this type of explicit throttling helps prevent overwhelming the HNP machine. Default: 10, set via MCA parameter: {{{filem_rsh_max_outgoing}}}
 * Add a few diagnostic/debugging features to SnapC and FileM.

This commit was SVN r21131.
2009-04-30 16:55:39 +00:00
Ralph Castain
a74b74a68c Now that we understand why it failed before (thanks George!), go back to relaying cmds before processing them on the orteds so we pickup some speed by executing cmds in parallel. Modify the termination system accordingly.
Cleanup the termination in orterun when abnormally commanded via ctrl-c. We can just directly terminate_orteds as the orteds always kill any lingering local procs before exiting - no need to do the two-step cha-cha.

This commit was SVN r21123.
2009-04-30 15:08:02 +00:00
Shiqing Fan
5b76f583e4 No RSH support on Windows.
This commit was SVN r21120.
2009-04-30 09:01:20 +00:00
Ralph Castain
21a66c0eff Fix a couple of minor errors in slave launch support
This commit was SVN r21118.
2009-04-30 02:54:25 +00:00
Ralph Castain
ce206df568 Fix the danged ziatest - thx to Jeff, the mighty perl guru!
This commit was SVN r21116.
2009-04-29 17:58:35 +00:00
Rainer Keller
1c7dd5a4aa - Fix ‘ret’ may be used uninitialized in this function
As orte_util_nidmap_finalize does not return an error, initialize
    ret=ORTE_SUCCESS

This commit was SVN r21115.
2009-04-29 15:29:35 +00:00
Ralph Castain
1fb92e2766 Cleanup the slave launch - completed debugging. w00t!
This commit was SVN r21113.
2009-04-29 14:37:33 +00:00
Ralph Castain
7194f1636f Complete the rewrite of rankfile mapper - ensure that all non-specified ranks are properly mapped when dealing with multiple app_contexts
This commit was SVN r21111.
2009-04-29 14:06:53 +00:00
Ralph Castain
e003e0447a Ensure we terminate cleanly when we do not launch
This commit was SVN r21110.
2009-04-29 14:06:12 +00:00
Ralph Castain
36671eb962 Replace missing header
This commit was SVN r21109.
2009-04-29 13:50:11 +00:00
Ralph Castain
adc73b0fe0 Continue replacing missing headers
This commit was SVN r21108.
2009-04-29 13:34:41 +00:00
Rainer Keller
71052deebb - Get rid of incompatible implicit declaration
Need #include string.h

This commit was SVN r21104.
2009-04-29 08:11:37 +00:00
Rainer Keller
be008f2215 - In case of OPAL_ENABLE_FT == 1, we need to
#include "opal/runtime/opal_cr.h"

   Thanks to Caciano Machado for reporting.

This commit was SVN r21101.
2009-04-29 06:57:49 +00:00
Rainer Keller
4ffec30e94 - Guys, we don't have a configure-test for errno.h (should we?)
Anyway, keeps us from compiling on Jaguar.

This commit was SVN r21100.
2009-04-29 03:18:51 +00:00
Ralph Castain
5fa3b38d3c Revert r21097 as this results in multiple instantiations of global variables. Instead, fix the problem by including orte_globals.h in the orte_init.c.
Since I already had some changes in there, add in the rmaps rank_file changes - should work okay, but not fully tested.

This commit was SVN r21099.

The following SVN revision numbers were found above:
  r21097 --> open-mpi/ompi@88ae934c26
2009-04-29 02:13:14 +00:00