1
1
openmpi/opal/mca/crs/blcr/crs_blcr.h
Josh Hursey 7437f37e96 This commit contains the following:
* Fix some missing includes in a few places.
 * Add the cr_request() functionality to the BLCR CRS component.
   We are now dependent upon the 0.6.* series of BLCR.
 * Made the CR notification mechanism a registered function.
   This way we can have an OPAL-only version and it can be replaced at
   runtime with the ORTE version.
 * Add a 'opal_cr_allow_opal_only' parameter that will enable OPAL-only
   CR functionality when the user wants it. Default: Disabled.
 * Fix the placement of a checkpoint request check in MPI_Init
 * Pull the OPAL notification mechanism into the SnapC framework.
   * We no longer fork/exec the 'opal-checkpoint' command for local
   checkpointing, the Local coordinator in the orted does this directly.
   * The Local and Application coordinator talk together bypassing the OPAL
   notifiation mechanism.
   * Optimized the Local <-> App Coordinator communication.
   * Improved the structure used to track vpid_snapshots in the local coord.
 * Fix a race condition in which an application under heavy communication load
   may produce an inconsistent global checkpoint.

This commit was SVN r16389.
2007-10-08 20:53:02 +00:00

81 строка
2.0 KiB
C

/*
* Copyright (c) 2004-2007 The Trustees of Indiana University.
* All rights reserved.
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
* 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$
*
* Additional copyrights may follow
*
* $HEADER$
*/
/**
* @file
*
* BLCR CRS component
*
*/
#ifndef MCA_CRS_BLCR_EXPORT_H
#define MCA_CRS_BLCR_EXPORT_H
#include "opal_config.h"
#include "opal/util/output.h"
#include "opal/mca/mca.h"
#include "opal/mca/crs/crs.h"
#include "opal/mca/base/base.h"
#include "opal/runtime/opal_cr.h"
#include <libcr.h>
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
/*
* Local Component structures
*/
struct opal_crs_blcr_component_t {
/** Base CRS component */
opal_crs_base_component_t super;
};
typedef struct opal_crs_blcr_component_t opal_crs_blcr_component_t;
OPAL_MODULE_DECLSPEC extern opal_crs_blcr_component_t mca_crs_blcr_component;
/*
* Module functions
*/
opal_crs_base_module_1_0_0_t *
opal_crs_blcr_component_query(int *priority);
int opal_crs_blcr_module_init(void);
int opal_crs_blcr_module_finalize(void);
/*
* Actual funcationality
*/
int opal_crs_blcr_checkpoint( pid_t pid,
opal_crs_base_snapshot_t *snapshot,
opal_crs_state_type_t *state);
int opal_crs_blcr_restart( opal_crs_base_snapshot_t *snapshot,
bool spawn_child,
pid_t *child_pid);
int opal_crs_blcr_disable_checkpoint(void);
int opal_crs_blcr_enable_checkpoint(void);
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
#endif /* MCA_CRS_BLCR_EXPORT_H */