From 0da71d4f7cd5dad4f915bfffeef420ecf1b33daf Mon Sep 17 00:00:00 2001 From: Mike McGreevy Date: Wed, 13 May 2009 09:40:08 -0500 Subject: [svn-r16941] Purpose: Patched 1_8_3 release. Description: Due to a performance issue in the metadata cache, the following changes have been made to the default cache configuration: - Created separate default configurations for serial and parallel cases. - Increased maximum cache size from 16MB to 32MB in both cases. - Increased maximum entry size from 10MB to 32MB. - Decreased min_clean_fraction from 0.3 to 0.01 in serial case. - Increased flash_multiple from 1.0 to 1.4 in serial case. --- src/H5ACprivate.h | 38 +++++++++++++++++++++++++++++++++++++- src/H5Cprivate.h | 2 +- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/src/H5ACprivate.h b/src/H5ACprivate.h index 8cc0a3a..433a0a0 100644 --- a/src/H5ACprivate.h +++ b/src/H5ACprivate.h @@ -194,6 +194,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, \ @@ -205,7 +206,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, \ @@ -227,6 +228,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 4ce321c..ae764fc 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. -- cgit v0.12