Update name server to setup for oob remote operations. Move all remote calling functions to new location, setup replica for blocking thread to receive requests (not implemented yet).
This commit was SVN r1669.
Этот коммит содержится в:
родитель
25e7107517
Коммит
4a8db78261
@ -22,7 +22,8 @@ libmca_ns_base_la_SOURCES = \
|
||||
ns_base_close.c \
|
||||
ns_base_select.c \
|
||||
ns_base_open.c \
|
||||
ns_base_functions.c
|
||||
ns_base_local_fns.c \
|
||||
ns_base_remote_fns.c
|
||||
|
||||
|
||||
# Conditionally install the header files
|
||||
|
@ -22,36 +22,45 @@
|
||||
#if defined(c_plusplus) || defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
int mca_ns_base_open(void);
|
||||
int mca_ns_base_select(bool *allow_multi_user_threads,
|
||||
bool *have_hidden_threads);
|
||||
int mca_ns_base_close(void);
|
||||
int mca_ns_base_open(void);
|
||||
int mca_ns_base_select(bool *allow_multi_user_threads,
|
||||
bool *have_hidden_threads);
|
||||
int mca_ns_base_close(void);
|
||||
|
||||
/*
|
||||
* Base functions that are common to all implementations - can be overridden
|
||||
*/
|
||||
/*
|
||||
* Base functions that are common to all implementations - can be overridden
|
||||
*/
|
||||
|
||||
ompi_process_name_t* ns_base_create_process_name(ompi_process_id_t cell,
|
||||
ompi_process_id_t job,
|
||||
ompi_process_id_t vpid);
|
||||
ompi_process_name_t* ns_base_create_process_name(ompi_process_id_t cell,
|
||||
ompi_process_id_t job,
|
||||
ompi_process_id_t vpid);
|
||||
|
||||
char* ns_base_get_proc_name_string(const ompi_process_name_t* name);
|
||||
char* ns_base_get_proc_name_string(const ompi_process_name_t* name);
|
||||
|
||||
char* ns_base_get_vpid_string(const ompi_process_name_t* name);
|
||||
char* ns_base_get_vpid_string(const ompi_process_name_t* name);
|
||||
|
||||
char* ns_base_get_jobid_string(const ompi_process_name_t* name);
|
||||
char* ns_base_get_jobid_string(const ompi_process_name_t* name);
|
||||
|
||||
char* ns_base_get_cellid_string(const ompi_process_name_t* name);
|
||||
char* ns_base_get_cellid_string(const ompi_process_name_t* name);
|
||||
|
||||
ompi_process_id_t ns_base_get_vpid(const ompi_process_name_t* name);
|
||||
ompi_process_id_t ns_base_get_vpid(const ompi_process_name_t* name);
|
||||
|
||||
ompi_process_id_t ns_base_get_jobid(const ompi_process_name_t* name);
|
||||
ompi_process_id_t ns_base_get_jobid(const ompi_process_name_t* name);
|
||||
|
||||
ompi_process_id_t ns_base_get_cellid(const ompi_process_name_t* name);
|
||||
ompi_process_id_t ns_base_get_cellid(const ompi_process_name_t* name);
|
||||
|
||||
int ns_base_compare(ompi_ns_cmp_bitmask_t fields,
|
||||
const ompi_process_name_t* name1,
|
||||
const ompi_process_name_t* name2);
|
||||
|
||||
ompi_process_id_t ns_base_create_cellid(void);
|
||||
|
||||
ompi_process_id_t ns_base_create_jobid(void);
|
||||
|
||||
ompi_process_id_t ns_base_reserve_range(ompi_process_id_t job, ompi_process_id_t range);
|
||||
|
||||
int ns_base_free_name(ompi_process_name_t* name);
|
||||
|
||||
int ns_base_compare(ompi_ns_cmp_bitmask_t fields,
|
||||
const ompi_process_name_t* name1,
|
||||
const ompi_process_name_t* name2);
|
||||
#if defined(c_plusplus) || defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
@ -63,6 +72,7 @@ extern "C" {
|
||||
|
||||
extern int mca_ns_base_output;
|
||||
extern mca_ns_t ompi_name_server; /* holds selected module's function pointers */
|
||||
extern ompi_process_name_t mca_ns_my_replica;
|
||||
extern bool mca_ns_base_selected;
|
||||
extern ompi_list_t mca_ns_base_components_available;
|
||||
extern mca_ns_base_component_t mca_ns_base_selected_component;
|
||||
|
@ -47,6 +47,7 @@ OBJ_CLASS_INSTANCE(
|
||||
*/
|
||||
int mca_ns_base_output = -1;
|
||||
mca_ns_t ompi_name_server;
|
||||
ompi_process_name_t mca_ns_my_replica;
|
||||
bool mca_ns_base_selected = false;
|
||||
ompi_list_t mca_ns_base_components_available;
|
||||
mca_ns_base_component_t mca_ns_base_selected_component;
|
||||
|
@ -9,7 +9,6 @@
|
||||
#include "mca/mca.h"
|
||||
#include "mca/oob/base/base.h"
|
||||
#include "mca/ns/base/base.h"
|
||||
#include "ns_proxy.h"
|
||||
|
||||
/**
|
||||
* globals
|
||||
@ -19,7 +18,7 @@
|
||||
* functions
|
||||
*/
|
||||
|
||||
ompi_process_id_t ns_proxy_create_cellid(void)
|
||||
ompi_process_id_t ns_base_create_cellid(void)
|
||||
{
|
||||
ompi_ns_msg_buffer_t cmd, *answer;
|
||||
struct iovec msg;
|
||||
@ -45,21 +44,21 @@ ompi_process_id_t ns_proxy_create_cellid(void)
|
||||
return cell;
|
||||
}
|
||||
|
||||
ompi_process_id_t ns_proxy_create_jobid(void)
|
||||
ompi_process_id_t ns_base_create_jobid(void)
|
||||
{
|
||||
/* JMS fill in here */
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
ompi_process_id_t ns_proxy_reserve_range(ompi_process_id_t job, ompi_process_id_t range)
|
||||
ompi_process_id_t ns_base_reserve_range(ompi_process_id_t job, ompi_process_id_t range)
|
||||
{
|
||||
/* JMS fill in here */
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int ns_proxy_free_name(ompi_process_name_t* name)
|
||||
int ns_base_free_name(ompi_process_name_t* name)
|
||||
{
|
||||
return OMPI_SUCCESS;
|
||||
}
|
@ -7,6 +7,5 @@ include $(top_ompi_srcdir)/config/Makefile.options
|
||||
noinst_LTLIBRARIES = libmca_ns_proxy.la
|
||||
libmca_ns_proxy_la_SOURCES = \
|
||||
ns_proxy.h \
|
||||
ns_proxy.c \
|
||||
ns_proxy_module.c
|
||||
|
||||
|
@ -33,76 +33,4 @@ int mca_ns_proxy_finalize(void);
|
||||
extern ompi_process_name_t mca_ns_my_replica;
|
||||
|
||||
|
||||
/*
|
||||
* Implementation of create_cellid().
|
||||
*/
|
||||
ompi_process_id_t ns_proxy_create_cellid(void);
|
||||
|
||||
/*
|
||||
* Implementation of create_jobid().
|
||||
*/
|
||||
ompi_process_id_t ns_proxy_create_jobid(void);
|
||||
|
||||
/*
|
||||
* Implementation of create_process_name()
|
||||
*/
|
||||
ompi_process_name_t* ns_proxy_create_process_name(
|
||||
ompi_process_id_t cell,
|
||||
ompi_process_id_t job,
|
||||
ompi_process_id_t vpid);
|
||||
|
||||
/*
|
||||
* Implementation of reserve_range()
|
||||
*/
|
||||
ompi_process_id_t ns_proxy_reserve_range(
|
||||
ompi_process_id_t job,
|
||||
ompi_process_id_t range);
|
||||
|
||||
/*
|
||||
* Implementation of free_name()
|
||||
*/
|
||||
int ns_proxy_free_name(ompi_process_name_t* name);
|
||||
|
||||
/*
|
||||
* Implementation of get_proc_name_string()
|
||||
*/
|
||||
char* ns_proxy_get_proc_name_string(const ompi_process_name_t* name);
|
||||
|
||||
/*
|
||||
* Implementation of get_vpid_string()
|
||||
*/
|
||||
char* ns_proxy_get_vpid_string(const ompi_process_name_t* name);
|
||||
|
||||
/*
|
||||
* Implementation of get_jobid_string()
|
||||
*/
|
||||
char* ns_proxy_get_jobid_string(const ompi_process_name_t* name);
|
||||
|
||||
/*
|
||||
* Implementation of get_cellid_string()
|
||||
*/
|
||||
char* ns_proxy_get_cellid_string(const ompi_process_name_t* name);
|
||||
|
||||
/*
|
||||
* Implementation of get_vpid()
|
||||
*/
|
||||
ompi_process_id_t ns_proxy_get_vpid(const ompi_process_name_t* name);
|
||||
|
||||
/*
|
||||
* Implementation of get_jobid()
|
||||
*/
|
||||
ompi_process_id_t ns_proxy_get_jobid(const ompi_process_name_t* name);
|
||||
|
||||
/*
|
||||
* Implementation of get_cellid()
|
||||
*/
|
||||
ompi_process_id_t ns_proxy_get_cellid(const ompi_process_name_t* name);
|
||||
|
||||
/*
|
||||
* Implementation of compare()
|
||||
*/
|
||||
int ns_proxy_compare(ompi_ns_cmp_bitmask_t fields,
|
||||
const ompi_process_name_t* name1,
|
||||
const ompi_process_name_t* name2);
|
||||
|
||||
#endif
|
||||
|
@ -50,11 +50,11 @@ mca_ns_base_component_t mca_ns_proxy_module = {
|
||||
* setup the function pointers for the module
|
||||
*/
|
||||
static mca_ns_t mca_ns_proxy = {
|
||||
ns_proxy_create_cellid,
|
||||
ns_proxy_create_jobid,
|
||||
ns_base_create_cellid,
|
||||
ns_base_create_jobid,
|
||||
ns_base_create_process_name,
|
||||
ns_proxy_reserve_range,
|
||||
ns_proxy_free_name,
|
||||
ns_base_reserve_range,
|
||||
ns_base_free_name,
|
||||
ns_base_get_proc_name_string,
|
||||
ns_base_get_vpid_string,
|
||||
ns_base_get_jobid_string,
|
||||
@ -73,7 +73,6 @@ static bool initialized = false;
|
||||
/*
|
||||
* globals needed within proxy component
|
||||
*/
|
||||
ompi_process_name_t mca_ns_my_replica;
|
||||
|
||||
|
||||
/*
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user