Teach the routed modules that local slave processes are direct routes to/from their master daemon.
This commit was SVN r20467.
Этот коммит содержится в:
родитель
13749673ed
Коммит
0750103d6c
@ -228,6 +228,13 @@ static int update_route(orte_process_name_t *target,
|
||||
return ORTE_SUCCESS;
|
||||
}
|
||||
|
||||
/* if the job family is zero, then this is going to a local slave,
|
||||
* so the path is direct and there is nothing to do here
|
||||
*/
|
||||
if (0 == ORTE_JOB_FAMILY(target->jobid)) {
|
||||
return ORTE_SUCCESS;
|
||||
}
|
||||
|
||||
OPAL_OUTPUT_VERBOSE((1, orte_routed_base_output,
|
||||
"%s routed_binomial_update: %s --> %s",
|
||||
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
|
||||
@ -318,6 +325,14 @@ static orte_process_name_t get_route(orte_process_name_t *target)
|
||||
|
||||
/****** HNP AND DAEMONS ONLY ******/
|
||||
|
||||
/* if the job family is zero, then this is going to a local slave,
|
||||
* so the path is direct
|
||||
*/
|
||||
if (0 == ORTE_JOB_FAMILY(target->jobid)) {
|
||||
ret = target;
|
||||
goto found;
|
||||
}
|
||||
|
||||
/* IF THIS IS FOR A DIFFERENT JOB FAMILY... */
|
||||
if (ORTE_JOB_FAMILY(target->jobid) != ORTE_JOB_FAMILY(ORTE_PROC_MY_NAME->jobid)) {
|
||||
/* if I am a daemon, route this via the HNP */
|
||||
@ -601,6 +616,15 @@ static int init_routes(orte_jobid_t job, opal_buffer_t *ndat)
|
||||
"%s routed_binomial: init routes w/non-NULL data",
|
||||
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
|
||||
|
||||
/* if this is for a job family of zero, then we know that the enclosed
|
||||
* procs are local slaves to our daemon. In that case, we can just ignore this
|
||||
* as our daemon - given that it had to spawn the local slave - already
|
||||
* knows how to talk to them
|
||||
*/
|
||||
if (0 == ORTE_JOB_FAMILY(job)) {
|
||||
return ORTE_SUCCESS;
|
||||
}
|
||||
|
||||
if (ORTE_JOB_FAMILY(ORTE_PROC_MY_NAME->jobid) != ORTE_JOB_FAMILY(job)) {
|
||||
/* if this is for a different job family, then we route via our HNP
|
||||
* to minimize connection counts to entities such as ompi-server, so
|
||||
|
@ -211,6 +211,13 @@ static int update_route(orte_process_name_t *target,
|
||||
return ORTE_SUCCESS;
|
||||
}
|
||||
|
||||
/* if the job family is zero, then this is going to a local slave,
|
||||
* so the path is direct and there is nothing to do here
|
||||
*/
|
||||
if (0 == ORTE_JOB_FAMILY(target->jobid)) {
|
||||
return ORTE_SUCCESS;
|
||||
}
|
||||
|
||||
OPAL_OUTPUT_VERBOSE((1, orte_routed_base_output,
|
||||
"%s routed_linear_update: %s --> %s",
|
||||
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
|
||||
@ -295,6 +302,14 @@ static orte_process_name_t get_route(orte_process_name_t *target)
|
||||
|
||||
/****** HNP AND DAEMONS ONLY ******/
|
||||
|
||||
/* if the job family is zero, then this is going to a local slave,
|
||||
* so the path is direct
|
||||
*/
|
||||
if (0 == ORTE_JOB_FAMILY(target->jobid)) {
|
||||
ret = target;
|
||||
goto found;
|
||||
}
|
||||
|
||||
/* IF THIS IS FOR A DIFFERENT JOB FAMILY... */
|
||||
if (ORTE_JOB_FAMILY(target->jobid) != ORTE_JOB_FAMILY(ORTE_PROC_MY_NAME->jobid)) {
|
||||
/* if I am a daemon, route this via the HNP */
|
||||
@ -595,6 +610,15 @@ static int init_routes(orte_jobid_t job, opal_buffer_t *ndat)
|
||||
"%s routed_linear: init routes w/non-NULL data",
|
||||
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
|
||||
|
||||
/* if this is for a job family of zero, then we know that the enclosed
|
||||
* procs are local slaves to our daemon. In that case, we can just ignore this
|
||||
* as our daemon - given that it had to spawn the local slave - already
|
||||
* knows how to talk to them
|
||||
*/
|
||||
if (0 == ORTE_JOB_FAMILY(job)) {
|
||||
return ORTE_SUCCESS;
|
||||
}
|
||||
|
||||
if (ORTE_JOB_FAMILY(ORTE_PROC_MY_NAME->jobid) != ORTE_JOB_FAMILY(job)) {
|
||||
/* if this is for a different job family, then we route via our HNP
|
||||
* to minimize connection counts to entities such as ompi-server, so
|
||||
|
@ -229,6 +229,13 @@ static int update_route(orte_process_name_t *target,
|
||||
return ORTE_SUCCESS;
|
||||
}
|
||||
|
||||
/* if the job family is zero, then this is going to a local slave,
|
||||
* so the path is direct and there is nothing to do here
|
||||
*/
|
||||
if (0 == ORTE_JOB_FAMILY(target->jobid)) {
|
||||
return ORTE_SUCCESS;
|
||||
}
|
||||
|
||||
OPAL_OUTPUT_VERBOSE((1, orte_routed_base_output,
|
||||
"%s routed_radix_update: %s --> %s",
|
||||
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
|
||||
@ -321,6 +328,14 @@ static orte_process_name_t get_route(orte_process_name_t *target)
|
||||
|
||||
/****** HNP AND DAEMONS ONLY ******/
|
||||
|
||||
/* if the job family is zero, then this is going to a local slave,
|
||||
* so the path is direct
|
||||
*/
|
||||
if (0 == ORTE_JOB_FAMILY(target->jobid)) {
|
||||
ret = target;
|
||||
goto found;
|
||||
}
|
||||
|
||||
/* IF THIS IS FOR A DIFFERENT JOB FAMILY... */
|
||||
if (ORTE_JOB_FAMILY(target->jobid) != ORTE_JOB_FAMILY(ORTE_PROC_MY_NAME->jobid)) {
|
||||
/* if I am a daemon, route this via the HNP */
|
||||
@ -628,6 +643,15 @@ static int init_routes(orte_jobid_t job, opal_buffer_t *ndat)
|
||||
"%s routed_radix: init routes w/non-NULL data",
|
||||
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
|
||||
|
||||
/* if this is for a job family of zero, then we know that the enclosed
|
||||
* procs are local slaves to our daemon. In that case, we can just ignore this
|
||||
* as our daemon - given that it had to spawn the local slave - already
|
||||
* knows how to talk to them
|
||||
*/
|
||||
if (0 == ORTE_JOB_FAMILY(job)) {
|
||||
return ORTE_SUCCESS;
|
||||
}
|
||||
|
||||
if (ORTE_JOB_FAMILY(ORTE_PROC_MY_NAME->jobid) != ORTE_JOB_FAMILY(job)) {
|
||||
/* if this is for a different job family, then we route via our HNP
|
||||
* to minimize connection counts to entities such as ompi-server, so
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user