OpenMPI  0.1.1
rmaps.h File Reference

The Open RTE Resource MAPping Subsystem (RMAPS) More...

#include "orte_config.h"
#include "orte/types.h"
#include "opal/mca/mca.h"
#include "orte/runtime/orte_globals.h"
#include "orte/mca/rmaps/rmaps_types.h"

Go to the source code of this file.

Data Structures

struct  orte_rmaps_t
 
struct  orte_rmaps_base_module_1_3_0_t
 
struct  orte_rmaps_base_component_2_0_0_t
 rmaps component version 1.3.0 More...
 

Typedefs

typedef int(* orte_rmaps_base_module_map_fn_t )(orte_job_t *jdata)
 RMAPS module functions - these are not accessible to the outside world, but are defined here by convention.
 
typedef struct
orte_rmaps_base_module_1_3_0_t 
orte_rmaps_base_module_1_3_0_t
 Convenience typedef.
 
typedef
orte_rmaps_base_module_1_3_0_t 
orte_rmaps_base_module_t
 Convenience typedef.
 
typedef struct
orte_rmaps_base_component_2_0_0_t 
orte_rmaps_base_component_2_0_0_t
 Convenience typedef.
 
typedef
orte_rmaps_base_component_2_0_0_t 
orte_rmaps_base_component_t
 Convenience typedef.
 

Variables

BEGIN_C_DECLS typedef int(* orte_rmaps_base_API_map_fn_t )(orte_job_t *jdata)
 Public API.
 
ORTE_DECLSPEC orte_rmaps_t orte_rmaps
 

Detailed Description

The Open RTE Resource MAPping Subsystem (RMAPS)

The resource mapping subsystem is responsible for mapping processes to specific nodes/cpus within a given job. In many systems, this functionality will not be supported - the system will map processes wherever it chooses and does not allow the user to specify the mapping. RMAPS components, therefore, provide services for those systems that do permit such mappings.

RMAPS checks the MCA parameters to see if a mapping algorithm has been specified. If the user selected a mapping algorithm, the indicated RMAPS component will take information from the registry to determine the number of applications/processes to be run, and the identified resources that have been allocated to this job. The selected RMAP component will then assign processes to resources according to its algorithm, with the results stored on the appropriate job segment - the assigned nodename for each process is stored in that respective process' container on the segment.