1
1
openmpi/orte/mca/odls
Ralph Castain 3daf8b341b Fix the sched_yield problem for generic environments. We now determine and set sched_yield during mpi_init based on the following logical sequence:
1. if the user has specified sched_yield, we simply do what we are told

2. if they didn't specify anything, try to get the number of processors on this node. Note that we already now get the number of local procs in our job that are sharing this node - that now comes in through the proc callback and is stored in the ompi_proc_t structures.

3. if we can get the number of processors, compare that to the number of local procs from my job that are sharing my node. If the number of local procs exceeds the number of processors, then set sched_yield to true. If not, then be a hog and set sched_yield to false

4. if we can't get the number of processors, default to conservative behavior and set sched_yield to true.

Note that I have not yet dealt with the need to dynamically adjust this setting as more processes are added via comm_spawn. So far, we are *only* looking within our own job. Given that we have now moved this logic to mpi_init (and away from the orteds), it isn't yet clear to me how a process will be informed about the number of procs in *other* jobs that are also sharing this node.

Something to continue to ponder.

This commit was SVN r13430.
2007-02-01 19:31:44 +00:00
..
base set orte_odls_base.components_available to false if no odls components are 2007-01-27 15:37:13 +00:00
bproc Clean up a compiler warning under bproc 2007-01-18 20:07:06 +00:00
default Fix the sched_yield problem for generic environments. We now determine and set sched_yield during mpi_init based on the following logical sequence: 2007-02-01 19:31:44 +00:00
process Add a debug flag for the ODLS process. 2007-01-11 00:17:34 +00:00
Makefile.am Here is the major MAD-cure commit. I have written plenty about it, so I refer you here to those messages for a description of everything that was done. 2006-09-14 21:29:51 +00:00
odls_types.h Bring ortehalt to a preliminary capability. It will corectly order a persistent daemon to exit cleanly. Need to now interface it to orterun, clean up a few things here and there 2006-11-18 04:47:51 +00:00
odls.h Add the C++ doo-hicky stuff around the odls framework definitions just in case somebody, somewhere, on some remote planet where only goats can feed needs it. 2006-12-06 13:58:04 +00:00