summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike McGreevy <mamcgree@hdfgroup.org>2009-05-13 14:40:08 (GMT)
committerMike McGreevy <mamcgree@hdfgroup.org>2009-05-13 14:40:08 (GMT)
commit0da71d4f7cd5dad4f915bfffeef420ecf1b33daf (patch)
tree584a8d59211d7973340d92bc3ff5addf6dabf923
parente0e4a816e6273440d71732330f711a1e25c6bcfb (diff)
downloadhdf5-0da71d4f7cd5dad4f915bfffeef420ecf1b33daf.zip
hdf5-0da71d4f7cd5dad4f915bfffeef420ecf1b33daf.tar.gz
hdf5-0da71d4f7cd5dad4f915bfffeef420ecf1b33daf.tar.bz2
[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.
-rw-r--r--src/H5ACprivate.h38
-rw-r--r--src/H5Cprivate.h2
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.