diff options
author | Mike McGreevy <mamcgree@hdfgroup.org> | 2009-05-12 22:07:21 (GMT) |
---|---|---|
committer | Mike McGreevy <mamcgree@hdfgroup.org> | 2009-05-12 22:07:21 (GMT) |
commit | 36431fa74c46846e52ba465a20fc6e0ad7efb5c6 (patch) | |
tree | 249a132c38472e6d48eacb22592a86179971253b | |
parent | 2a3c76f6851d7767b7c024b3ea5d947f88a05388 (diff) | |
download | hdf5-36431fa74c46846e52ba465a20fc6e0ad7efb5c6.zip hdf5-36431fa74c46846e52ba465a20fc6e0ad7efb5c6.tar.gz hdf5-36431fa74c46846e52ba465a20fc6e0ad7efb5c6.tar.bz2 |
[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
-rw-r--r-- | src/H5ACprivate.h | 38 | ||||
-rw-r--r-- | src/H5Cprivate.h | 2 |
2 files changed, 38 insertions, 2 deletions
diff --git a/src/H5ACprivate.h b/src/H5ACprivate.h index b5e0bda..6bf1afe 100644 --- a/src/H5ACprivate.h +++ b/src/H5ACprivate.h @@ -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 */ /* diff --git a/src/H5Cprivate.h b/src/H5Cprivate.h index e252134..e5a2dba 100644 --- a/src/H5Cprivate.h +++ b/src/H5Cprivate.h @@ -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. |