mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-02-11 16:01:00 +08:00
[svn-r16938] Purpose:
Modifying default cache configuration, and adding an #ifdef to allow for a separate default configuration when parallel is enabled. This is being modified in order to address an observed performance problem with the current default configuration. Description of Changes: - increasing maximum cache size from 16MB to 32MB - increasing maximum entry size from 10MB to 32MB - decreasing min_clean_fraction from 0.3 to 0.01 in serial case - increasing flash_multiple from 1.0 to 1.4 in serial case Tested: jam
This commit is contained in:
parent
2a3c76f685
commit
36431fa74c
@ -208,6 +208,7 @@ extern hid_t H5AC_ind_dxpl_id;
|
||||
|
||||
/* Default cache configuration. */
|
||||
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
#define H5AC__DEFAULT_CACHE_CONFIG \
|
||||
{ \
|
||||
/* int version = */ H5C__CURR_AUTO_SIZE_CTL_VER, \
|
||||
@ -219,7 +220,7 @@ extern hid_t H5AC_ind_dxpl_id;
|
||||
/* hbool_t set_initial_size = */ TRUE, \
|
||||
/* size_t initial_size = */ ( 2 * 1024 * 1024), \
|
||||
/* double min_clean_fraction = */ 0.3, \
|
||||
/* size_t max_size = */ (16 * 1024 * 1024), \
|
||||
/* size_t max_size = */ (32 * 1024 * 1024), \
|
||||
/* size_t min_size = */ ( 1 * 1024 * 1024), \
|
||||
/* long int epoch_length = */ 50000, \
|
||||
/* enum H5C_cache_incr_mode incr_mode = */ H5C_incr__threshold, \
|
||||
@ -241,6 +242,41 @@ extern hid_t H5AC_ind_dxpl_id;
|
||||
/* double empty_reserve = */ 0.1, \
|
||||
/* int dirty_bytes_threshold = */ (256 * 1024) \
|
||||
}
|
||||
#else /* H5_HAVE_PARALLEL */
|
||||
#define H5AC__DEFAULT_CACHE_CONFIG \
|
||||
{ \
|
||||
/* int version = */ H5C__CURR_AUTO_SIZE_CTL_VER, \
|
||||
/* hbool_t rpt_fcn_enabled = */ FALSE, \
|
||||
/* hbool_t open_trace_file = */ FALSE, \
|
||||
/* hbool_t close_trace_file = */ FALSE, \
|
||||
/* char trace_file_name[] = */ "", \
|
||||
/* hbool_t evictions_enabled = */ TRUE, \
|
||||
/* hbool_t set_initial_size = */ TRUE, \
|
||||
/* size_t initial_size = */ ( 2 * 1024 * 1024), \
|
||||
/* double min_clean_fraction = */ 0.01, \
|
||||
/* size_t max_size = */ (32 * 1024 * 1024), \
|
||||
/* size_t min_size = */ ( 1 * 1024 * 1024), \
|
||||
/* long int epoch_length = */ 50000, \
|
||||
/* enum H5C_cache_incr_mode incr_mode = */ H5C_incr__threshold, \
|
||||
/* double lower_hr_threshold = */ 0.9, \
|
||||
/* double increment = */ 2.0, \
|
||||
/* hbool_t apply_max_increment = */ TRUE, \
|
||||
/* size_t max_increment = */ (4 * 1024 * 1024), \
|
||||
/* enum H5C_cache_flash_incr_mode */ \
|
||||
/* flash_incr_mode = */ H5C_flash_incr__add_space, \
|
||||
/* double flash_multiple = */ 1.4, \
|
||||
/* double flash_threshold = */ 0.25, \
|
||||
/* enum H5C_cache_decr_mode decr_mode = */ H5C_decr__age_out_with_threshold,\
|
||||
/* double upper_hr_threshold = */ 0.999, \
|
||||
/* double decrement = */ 0.9, \
|
||||
/* hbool_t apply_max_decrement = */ TRUE, \
|
||||
/* size_t max_decrement = */ (1 * 1024 * 1024), \
|
||||
/* int epochs_before_eviction = */ 3, \
|
||||
/* hbool_t apply_empty_reserve = */ TRUE, \
|
||||
/* double empty_reserve = */ 0.1, \
|
||||
/* int dirty_bytes_threshold = */ (256 * 1024) \
|
||||
}
|
||||
#endif /* H5_HAVE_PARALLEL */
|
||||
|
||||
|
||||
/*
|
||||
|
@ -46,7 +46,7 @@
|
||||
*
|
||||
* JRM - 5/17/04
|
||||
*/
|
||||
#define H5C_MAX_ENTRY_SIZE ((size_t)(10 * 1024 * 1024))
|
||||
#define H5C_MAX_ENTRY_SIZE ((size_t)(32 * 1024 * 1024))
|
||||
|
||||
/* H5C_COLLECT_CACHE_STATS controls overall collection of statistics
|
||||
* on cache activity. In general, this #define should be set to 0.
|
||||
|
Loading…
Reference in New Issue
Block a user