1
1

Aggregator selection logic Part 2 and reorganized Part1

Этот коммит содержится в:
Mangala Jyothi Bhaskar 2014-12-16 15:48:40 -06:00
родитель 830df07202
Коммит 68d78fd718
3 изменённых файлов: 752 добавлений и 223 удалений

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -44,6 +44,7 @@ extern int mca_io_ompio_bytes_per_agg;
extern int mca_io_ompio_num_aggregators;
extern int mca_io_ompio_record_offset_info;
extern int mca_io_ompio_sharedfp_lazy_open;
extern int mca_io_ompio_grouping_option;
OMPI_DECLSPEC extern int mca_io_ompio_coll_timing_info;
/*
@ -91,7 +92,9 @@ OMPI_DECLSPEC extern int mca_io_ompio_coll_timing_info;
/*AGGREGATOR GROUPING DECISIONS*/
#define OMPIO_GROUPING_OPTION 1
#define OMPIO_MERGE 1
#define OMPIO_SPLIT 2
#define OMPIO_RETAIN 3
#define DATA_VOLUME 1
#define UNIFORM_DISTRIBUTION 2
#define OMPIO_UNIFORM_DIST_THRESHOLD 0.5
@ -100,6 +103,7 @@ OMPI_DECLSPEC extern int mca_io_ompio_coll_timing_info;
#define OPTIMIZE_GROUPING 4
#define OMPIO_PROCS_PER_GROUP_TAG 0
#define OMPIO_PROCS_IN_GROUP_TAG 1
#define OMPIO_MERGE_THRESHOLD 0.5
/*---------------------------*/
@ -529,34 +533,16 @@ OMPI_DECLSPEC int ompi_io_ompio_set_aggregator_props (struct mca_io_ompio_file_t
int num_aggregators,
size_t bytes_per_proc);
OMPI_DECLSPEC int mca_io_ompio_create_groups(mca_io_ompio_file_t *fh,
size_t bytes_per_proc);
OMPI_DECLSPEC int mca_io_ompio_cart_based_grouping(mca_io_ompio_file_t *ompio_fh);
int mca_io_ompio_cart_based_grouping(mca_io_ompio_file_t *ompio_fh);
OMPI_DECLSPEC int mca_io_ompio_fview_based_grouping(mca_io_ompio_file_t *fh,
int mca_io_ompio_fview_based_grouping(mca_io_ompio_file_t *fh,
int *num_groups,
contg *contg_groups);
OMPI_DECLSPEC int mca_io_ompio_finalize_initial_grouping(mca_io_ompio_file_t *fh,
int num_groups,
contg *contg_groups);
OMPI_DECLSPEC int mca_io_ompio_split_group(mca_io_ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *start_offsets_lens,
OMPI_MPI_OFFSET_TYPE *end_offsets,
int size_new_group,
OMPI_MPI_OFFSET_TYPE *max_cci,
OMPI_MPI_OFFSET_TYPE *min_cci,
int *num_groups,
int *size_smallest_group);
int mca_io_ompio_distribute_group(mca_io_ompio_file_t *fh,
int size_old_group,
int size_new_group,
int size_last_group);
/*end of aggregator selection methods*/
int mca_io_ompio_finalize_initial_grouping(mca_io_ompio_file_t *fh,
int num_groups,
contg *contg_groups);
OMPI_DECLSPEC int ompi_io_ompio_break_file_view (mca_io_ompio_file_t *fh,

Просмотреть файл

@ -33,6 +33,8 @@ int mca_io_ompio_record_offset_info = 0;
int mca_io_ompio_coll_timing_info = 0;
int mca_io_ompio_sharedfp_lazy_open = 1;
int mca_io_ompio_grouping_option=0;
/*
* Private functions
*/
@ -186,6 +188,7 @@ static int register_component(void)
MCA_BASE_VAR_SCOPE_READONLY,
&mca_io_ompio_num_aggregators);
mca_io_ompio_sharedfp_lazy_open = 1;
(void) mca_base_component_var_register(&mca_io_ompio_component.io_version,
"sharedfp_lazy_open",
@ -195,6 +198,14 @@ static int register_component(void)
MCA_BASE_VAR_SCOPE_READONLY,
&mca_io_ompio_sharedfp_lazy_open);
mca_io_ompio_grouping_option = 0;
(void) mca_base_component_var_register(&mca_io_ompio_component.io_version,
"grouping_option",
"Option for grouping of processes in the aggregator selection",
MCA_BASE_VAR_TYPE_INT, NULL, 0, 0,
OPAL_INFO_LVL_9,
MCA_BASE_VAR_SCOPE_READONLY,
&mca_io_ompio_grouping_option);
return OMPI_SUCCESS;
}