summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike McGreevy <mamcgree@hdfgroup.org>2009-05-12 22:07:21 (GMT)
committerMike McGreevy <mamcgree@hdfgroup.org>2009-05-12 22:07:21 (GMT)
commit36431fa74c46846e52ba465a20fc6e0ad7efb5c6 (patch)
tree249a132c38472e6d48eacb22592a86179971253b
parent2a3c76f6851d7767b7c024b3ea5d947f88a05388 (diff)
downloadhdf5-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.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 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.