Skip to content

Commit 97c6092

Browse files
rhc54hppritcha
authored andcommitted
Collapse the OOB framework
We played with alternative implementations over the years, but nothing ever really stuck. So let's simplify the code by removing the framework and the associated loopbacks that were built into it (e.g., if a message cannot be sent, then loop it back into the OOB base to see if another component is available that can send it). The code badly needs reorganization as I've made no attempt to do so here. A pass to see if event steps can be eliminated would also be good - I've cleaned up a few of them, but what remains could use another pair of eyes. Signed-off-by: Ralph Castain <rhc@pmix.org> (from upstream commit 7b54c48)
1 parent cafa80c commit 97c6092

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+1971
-2988
lines changed

src/mca/ess/base/ess_base_std_prted.c

Lines changed: 5 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@
5353
#include "src/mca/grpcomm/grpcomm.h"
5454
#include "src/mca/iof/base/base.h"
5555
#include "src/mca/odls/base/base.h"
56-
#include "src/mca/oob/base/base.h"
5756
#include "src/mca/plm/base/base.h"
5857
#include "src/mca/prtereachable/base/base.h"
5958
#include "src/mca/rmaps/base/base.h"
@@ -99,17 +98,15 @@ int prte_ess_base_prted_setup(void)
9998
int fd;
10099
char log_file[PATH_MAX];
101100
char *error = NULL;
102-
char *uri = NULL;
103-
char *tmp;
104-
prte_job_t *jdata;
101+
char *tmp = NULL;
102+
prte_job_t *jdata = NULL;
105103
prte_proc_t *proc;
106104
prte_app_context_t *app;
107105
hwloc_obj_t obj;
108106
unsigned i, j;
109107
prte_topology_t *t;
110108
prte_ess_base_signal_t *sig;
111109
int idx;
112-
pmix_value_t val;
113110

114111
plm_in_use = false;
115112

@@ -245,7 +242,7 @@ int prte_ess_base_prted_setup(void)
245242
/* obviously, we have "reported" */
246243
jdata->num_reported = 1;
247244

248-
/* setup my session directory here as the OOB may need it */
245+
/* setup my session directory here */
249246
PMIX_OUTPUT_VERBOSE(
250247
(2, prte_ess_base_framework.framework_output,
251248
"%s setting up session dir with\n\ttmpdir: %s\n\thost %s",
@@ -316,61 +313,15 @@ int prte_ess_base_prted_setup(void)
316313
error = "prte_prtereachable_base_select";
317314
goto error;
318315
}
319-
if (PRTE_SUCCESS
320-
!= (ret = pmix_mca_base_framework_open(&prte_oob_base_framework,
321-
PMIX_MCA_BASE_OPEN_DEFAULT))) {
322-
PRTE_ERROR_LOG(ret);
323-
error = "prte_oob_base_open";
324-
goto error;
325-
}
326-
if (PRTE_SUCCESS != (ret = prte_oob_base_select())) {
316+
if (PRTE_SUCCESS != (ret = prte_rml_open())) {
327317
PRTE_ERROR_LOG(ret);
328-
error = "prte_oob_base_select";
318+
error = "prte_rml_open";
329319
goto error;
330320
}
331-
prte_rml_open();
332321

333322
/* it is now safe to start the pmix server */
334323
pmix_server_start();
335324

336-
/* store our URI for later */
337-
prte_oob_base_get_addr(&uri);
338-
PMIX_VALUE_LOAD(&val, uri, PMIX_STRING);
339-
ret = PMIx_Store_internal(PRTE_PROC_MY_NAME, PMIX_PROC_URI, &val);
340-
if (PMIX_SUCCESS != ret) {
341-
PMIX_VALUE_DESTRUCT(&val);
342-
error = "store MY URI";
343-
ret = PRTE_ERROR;
344-
goto error;
345-
}
346-
PMIX_VALUE_DESTRUCT(&val);
347-
free(uri);
348-
349-
if (NULL != prte_process_info.my_hnp_uri) {
350-
/* extract the HNP's name so we can update the routing table */
351-
ret = prte_rml_parse_uris(prte_process_info.my_hnp_uri,
352-
PRTE_PROC_MY_HNP,
353-
NULL);
354-
if (PRTE_SUCCESS != ret) {
355-
PRTE_ERROR_LOG(ret);
356-
error = "prte_rml_parse_HNP";
357-
goto error;
358-
}
359-
/* Set the contact info in the RML - this won't actually establish
360-
* the connection, but just tells the RML how to reach the HNP
361-
* if/when we attempt to send to it
362-
*/
363-
PMIX_VALUE_LOAD(&val, prte_process_info.my_hnp_uri, PMIX_STRING);
364-
ret = PMIx_Store_internal(PRTE_PROC_MY_HNP, PMIX_PROC_URI, &val);
365-
if (PMIX_SUCCESS != ret) {
366-
PMIX_VALUE_DESTRUCT(&val);
367-
error = "store HNP URI";
368-
ret = PRTE_ERROR;
369-
goto error;
370-
}
371-
PMIX_VALUE_DESTRUCT(&val);
372-
}
373-
374325
/* select the errmgr */
375326
if (PRTE_SUCCESS != (ret = prte_errmgr_base_select())) {
376327
PRTE_ERROR_LOG(ret);
@@ -547,7 +498,6 @@ int prte_ess_base_prted_finalize(void)
547498
(void) pmix_mca_base_framework_close(&prte_odls_base_framework);
548499
(void) pmix_mca_base_framework_close(&prte_errmgr_base_framework);
549500
prte_rml_close();
550-
(void) pmix_mca_base_framework_close(&prte_oob_base_framework);
551501
(void) pmix_mca_base_framework_close(&prte_prtereachable_base_framework);
552502
(void) pmix_mca_base_framework_close(&prte_state_base_framework);
553503

src/mca/ess/hnp/ess_hnp_module.c

Lines changed: 5 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@
5959
#include "src/mca/grpcomm/base/base.h"
6060
#include "src/mca/iof/base/base.h"
6161
#include "src/mca/odls/base/base.h"
62-
#include "src/mca/oob/base/base.h"
6362
#include "src/mca/plm/base/base.h"
6463
#include "src/mca/plm/plm.h"
6564
#include "src/mca/prtereachable/base/base.h"
@@ -107,8 +106,6 @@ static int rte_init(int argc, char **argv)
107106
prte_app_context_t *app;
108107
int idx;
109108
prte_topology_t *t;
110-
pmix_value_t pval;
111-
pmix_status_t pret;
112109
PRTE_HIDE_UNUSED_PARAMS(argc);
113110

114111
/* run the prolog */
@@ -234,7 +231,7 @@ static int rte_init(int argc, char **argv)
234231
jdata->num_reported = 1;
235232
jdata->num_daemons_reported = 1;
236233

237-
/* setup my session directory here as the OOB may need it */
234+
/* setup my session directory here */
238235
PMIX_OUTPUT_VERBOSE((2, prte_debug_output,
239236
"%s setting up session dir with\n\ttmpdir: %s\n\thost %s",
240237
PRTE_NAME_PRINT(PRTE_PROC_MY_NAME),
@@ -268,38 +265,11 @@ static int rte_init(int argc, char **argv)
268265
error = "prte_prtereachable_base_select";
269266
goto error;
270267
}
271-
/*
272-
* OOB Layer
273-
*/
274-
if (PRTE_SUCCESS
275-
!= (ret = pmix_mca_base_framework_open(&prte_oob_base_framework,
276-
PMIX_MCA_BASE_OPEN_DEFAULT))) {
277-
error = "prte_oob_base_open";
278-
goto error;
279-
}
280-
if (PRTE_SUCCESS != (ret = prte_oob_base_select())) {
281-
error = "prte_oob_base_select";
282-
goto error;
283-
}
284-
285-
// set our RML address
286-
prte_oob_base_get_addr(&proc->rml_uri);
287-
prte_process_info.my_hnp_uri = strdup(proc->rml_uri);
288-
/* store it in the local PMIx repo for later retrieval */
289-
PMIX_VALUE_LOAD(&pval, proc->rml_uri, PMIX_STRING);
290-
if (PMIX_SUCCESS != (pret = PMIx_Store_internal(PRTE_PROC_MY_NAME, PMIX_PROC_URI, &pval))) {
291-
PMIX_ERROR_LOG(pret);
292-
ret = PRTE_ERROR;
293-
PMIX_VALUE_DESTRUCT(&pval);
294-
error = "store uri";
268+
if (PRTE_SUCCESS != (ret = prte_rml_open())) {
269+
PRTE_ERROR_LOG(ret);
270+
error = "prte_rml_open";
295271
goto error;
296272
}
297-
PMIX_VALUE_DESTRUCT(&pval);
298-
299-
/*
300-
* Runtime Messaging Layer
301-
*/
302-
prte_rml_open();
303273

304274
/* it is now safe to start the pmix server */
305275
pmix_server_start();
@@ -471,7 +441,7 @@ static int rte_init(int argc, char **argv)
471441
static int rte_finalize(void)
472442
{
473443
/* first stage shutdown of the errmgr, deregister the handler but keep
474-
* the required facilities until the rml and oob are offline */
444+
* the required facilities until the rml is offline */
475445
prte_errmgr.finalize();
476446

477447
/* close frameworks */
@@ -486,7 +456,6 @@ static int rte_finalize(void)
486456
(void) pmix_mca_base_framework_close(&prte_rtc_base_framework);
487457
(void) pmix_mca_base_framework_close(&prte_odls_base_framework);
488458
prte_rml_close();
489-
(void) pmix_mca_base_framework_close(&prte_oob_base_framework);
490459
(void) pmix_mca_base_framework_close(&prte_prtereachable_base_framework);
491460
(void) pmix_mca_base_framework_close(&prte_errmgr_base_framework);
492461
(void) pmix_mca_base_framework_close(&prte_state_base_framework);

src/mca/oob/Makefile.am

Lines changed: 0 additions & 40 deletions
This file was deleted.

src/mca/oob/base/Makefile.am

Lines changed: 0 additions & 32 deletions
This file was deleted.

src/mca/oob/base/oob_base_frame.c

Lines changed: 0 additions & 111 deletions
This file was deleted.

0 commit comments

Comments
 (0)