
NOTE: mmap is still the default. Some highlights: o Silent component failover. o The sysv component will only be queried for selection if it is placed before the mmap component (for example, -mca mpi_common_sm sysv,posix,mmap). In the default case, sysv will never be queried/selected. o Per some on-list discussion, now unlinking mmaped file in both mmap and posix components (see: "System V Shared Memory for Open MPI: Request for Community Input and Testing" thread). o Assuming local process homogeneity with respect to all utilized shared memory facilities. That is, if one local process deems a particular shared memory facility acceptable, then ALL local processes should be able to utilize that facility. As it stands, this is an important point because one process dictates to all other local processes which common sm component will be selected based on its own, local run-time test. o Addressed some of George's code reuse concerns. This commit was SVN r23633.
74 строки
2.2 KiB
C
74 строки
2.2 KiB
C
/*
|
|
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
|
* University Research and Technology
|
|
* Corporation. All rights reserved.
|
|
* Copyright (c) 2004-2005 The University of Tennessee and The University
|
|
* of Tennessee Research Foundation. All rights
|
|
* reserved.
|
|
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
* University of Stuttgart. All rights reserved.
|
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
|
* All rights reserved.
|
|
* Copyright (c) 2009-2010 Cisco Systems, Inc. All rights reserved.
|
|
* Copyright (c) 2010 Los Alamos National Security, LLC.
|
|
* All rights reserved.
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
|
|
#ifndef _COMMON_SM_RML_H_
|
|
#define _COMMON_SM_RML_H_
|
|
|
|
#include "ompi_config.h"
|
|
|
|
#include "opal/mca/mca.h"
|
|
#include "opal/class/opal_object.h"
|
|
#include "opal/class/opal_list.h"
|
|
#include "ompi/proc/proc.h"
|
|
#include "ompi/mca/common/sm/common_sm.h"
|
|
|
|
#define MCA_COMMON_SM_RML_MSG_LEN 2
|
|
|
|
BEGIN_C_DECLS
|
|
|
|
/**
|
|
* shared memory information used for initialization and setup.
|
|
*/
|
|
typedef struct mca_common_sm_rml_sm_info_t
|
|
{
|
|
char posix_fname_buff[OMPI_COMMON_SM_POSIX_FILE_LEN_MAX];
|
|
int id;
|
|
} mca_common_sm_rml_sm_info_t;
|
|
|
|
/**
|
|
* items on the pending_rml_msgs list
|
|
*/
|
|
typedef struct mca_common_sm_rml_pending_rml_msg_types_t
|
|
{
|
|
opal_list_item_t super;
|
|
char rml_file_name[OPAL_PATH_MAX];
|
|
char posix_fname_buff[OMPI_COMMON_SM_POSIX_FILE_LEN_MAX];
|
|
int id;
|
|
} mca_common_sm_rml_pending_rml_msg_types_t;
|
|
|
|
/**
|
|
* routine used to broadcast common sm initialization information to all local
|
|
* processes in procs.
|
|
*/
|
|
OMPI_DECLSPEC extern int
|
|
mca_common_sm_rml_info_bcast(mca_common_sm_rml_sm_info_t *sm_info,
|
|
ompi_proc_t **procs,
|
|
size_t num_procs,
|
|
int tag,
|
|
bool bcast_root,
|
|
const char *file_name,
|
|
opal_list_t *pending_rml_msgs);
|
|
|
|
END_C_DECLS
|
|
|
|
#endif /* _COMMON_SM_RML_H_*/
|
|
|