summaryrefslogtreecommitdiffstats
path: root/java/src/hdf/hdf5lib/structs/H5AC_cache_config_t.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/hdf/hdf5lib/structs/H5AC_cache_config_t.java')
-rw-r--r--java/src/hdf/hdf5lib/structs/H5AC_cache_config_t.java243
1 files changed, 236 insertions, 7 deletions
diff --git a/java/src/hdf/hdf5lib/structs/H5AC_cache_config_t.java b/java/src/hdf/hdf5lib/structs/H5AC_cache_config_t.java
index 9f04211..cf84532 100644
--- a/java/src/hdf/hdf5lib/structs/H5AC_cache_config_t.java
+++ b/java/src/hdf/hdf5lib/structs/H5AC_cache_config_t.java
@@ -20,41 +20,270 @@ import java.io.Serializable;
*/
public class H5AC_cache_config_t implements Serializable{
private static final long serialVersionUID = -6748085696476149972L;
- // general configuration fields:
+ // general configuration fields
+ /**
+ * version: Integer field containing the version number of this version
+ * of the H5AC_cache_config_t structure. Any instance of
+ * H5AC_cache_config_t passed to the cache must have a known
+ * version number, or an error will be flagged.
+ */
public int version;
+ /**
+ * rpt_fcn_enabled: Boolean field used to enable and disable the default
+ * reporting function. This function is invoked every time the
+ * automatic cache resize code is run, and reports on its activities.
+ *
+ * This is a debugging function, and should normally be turned off.
+ */
public boolean rpt_fcn_enabled;
+ /**
+ * open_trace_file: Boolean field indicating whether the trace_file_name
+ * field should be used to open a trace file for the cache.
+ *
+ * *** DEPRECATED *** Use H5Fstart/stop logging functions instead
+ */
public boolean open_trace_file;
+ /**
+ * close_trace_file: Boolean field indicating whether the current trace
+ * file (if any) should be closed.
+ *
+ * *** DEPRECATED *** Use H5Fstart/stop logging functions instead
+ */
public boolean close_trace_file;
+ /**
+ * trace_file_name: Full path of the trace file to be opened if the
+ * open_trace_file field is TRUE.
+ *
+ * *** DEPRECATED *** Use H5Fstart/stop logging functions instead
+ */
public String trace_file_name;
+ /**
+ * evictions_enabled: Boolean field used to either report the current
+ * evictions enabled status of the cache, or to set the cache's
+ * evictions enabled status.
+ */
public boolean evictions_enabled;
+ /**
+ * set_initial_size: Boolean flag indicating whether the size of the
+ * initial size of the cache is to be set to the value given in
+ * the initial_size field. If set_initial_size is FALSE, the
+ * initial_size field is ignored.
+ */
public boolean set_initial_size;
+ /**
+ * initial_size: If enabled, this field contain the size the cache is
+ * to be set to upon receipt of this structure. Needless to say,
+ * initial_size must lie in the closed interval [min_size, max_size].
+ */
public long initial_size;
+ /**
+ * min_clean_fraction: double in the range 0 to 1 indicating the fraction
+ * of the cache that is to be kept clean. This field is only used
+ * in parallel mode. Typical values are 0.1 to 0.5.
+ */
public double min_clean_fraction;
+ /**
+ * max_size: Maximum size to which the cache can be adjusted. The
+ * supplied value must fall in the closed interval
+ * [MIN_MAX_CACHE_SIZE, MAX_MAX_CACHE_SIZE]. Also, max_size must
+ * be greater than or equal to min_size.
+ */
public long max_size;
+ /**
+ * min_size: Minimum size to which the cache can be adjusted. The
+ * supplied value must fall in the closed interval
+ * [H5C__MIN_MAX_CACHE_SIZE, H5C__MAX_MAX_CACHE_SIZE]. Also, min_size
+ * must be less than or equal to max_size.
+ */
public long min_size;
+ /**
+ * epoch_length: Number of accesses on the cache over which to collect
+ * hit rate stats before running the automatic cache resize code,
+ * if it is enabled.
+ */
public long epoch_length;
- // size increase control fields:
- public int incr_mode; // H5C_cache_incr_mode
+ // size increase control fields
+ /**
+ * incr_mode: Instance of the H5C_cache_incr_mode enumerated type whose
+ * value indicates how we determine whether the cache size should be
+ * increased. At present there are two possible values.
+ */
+ public int incr_mode;
+ /**
+ * lower_hr_threshold: Lower hit rate threshold. If the increment mode
+ * (incr_mode) is H5C_incr__threshold and the hit rate drops below the
+ * value supplied in this field in an epoch, increment the cache size by
+ * size_increment. Note that cache size may not be incremented above
+ * max_size, and that the increment may be further restricted by the
+ * max_increment field if it is enabled.
+ */
public double lower_hr_threshold;
+ /**
+ * increment: Double containing the multiplier used to derive the new
+ * cache size from the old if a cache size increment is triggered.
+ * The increment must be greater than 1.0, and should not exceed 2.0.
+ */
public double increment;
+ /**
+ * apply_max_increment: Boolean flag indicating whether the max_increment
+ * field should be used to limit the maximum cache size increment.
+ */
public boolean apply_max_increment;
+ /**
+ * max_increment: If enabled by the apply_max_increment field described
+ * above, this field contains the maximum number of bytes by which the
+ * cache size can be increased in a single re-size.
+ */
public long max_increment;
- public int flash_incr_mode; // H5C_cache_flash_incr_mode
+ /**
+ * flash_incr_mode: Instance of the H5C_cache_flash_incr_mode enumerated
+ * type whose value indicates whether and by which algorithm we should
+ * make flash increases in the size of the cache to accommodate insertion
+ * of large entries and large increases in the size of a single entry.
+ */
+ public int flash_incr_mode;
+ /**
+ * flash_multiple: Double containing the multiple described above in the
+ * H5C_flash_incr__add_space section of the discussion of the
+ * flash_incr_mode section. This field is ignored unless flash_incr_mode
+ * is H5C_flash_incr__add_space.
+ */
public double flash_multiple;
+ /**
+ * flash_threshold: Double containing the factor by which current max cache
+ * size is multiplied to obtain the size threshold for the add_space flash
+ * increment algorithm. The field is ignored unless flash_incr_mode is
+ * H5C_flash_incr__add_space.
+ */
public double flash_threshold;
- // size decrease control fields:
- public int decr_mode; // H5C_cache_decr_mode
+ // size decrease control fields
+ /**
+ * decr_mode: Instance of the H5C_cache_decr_mode enumerated type whose
+ * value indicates how we determine whether the cache size should be
+ * decreased. At present there are four possibilities.
+ */
+ public int decr_mode;
+ /**
+ * upper_hr_threshold: Upper hit rate threshold. The use of this field
+ * varies according to the current decr_mode.
+ */
public double upper_hr_threshold;
+ /**
+ * decrement: This field is only used when the decr_mode is
+ * H5C_decr__threshold.
+ */
public double decrement;
+ /**
+ * apply_max_decrement: Boolean flag used to determine whether decrements
+ * in cache size are to be limited by the max_decrement field.
+ */
public boolean apply_max_decrement;
+ /**
+ * max_decrement: Maximum number of bytes by which the cache size can be
+ * decreased in a single re-size. Note that decrements may also be
+ * restricted by the min_size of the cache, and (in age out modes) by
+ * the empty_reserve field.
+ */
public long max_decrement;
+ /**
+ * epochs_before_eviction: Integer field used in H5C_decr__age_out and
+ * H5C_decr__age_out_with_threshold decrement modes.
+ */
public int epochs_before_eviction;
+ /**
+ * apply_empty_reserve: Boolean field controlling whether the empty_reserve
+ * field is to be used in computing the new cache size when the
+ * decr_mode is H5C_decr__age_out or H5C_decr__age_out_with_threshold.
+ */
public boolean apply_empty_reserve;
+ /**
+ * empty_reserve: To avoid a constant racheting down of cache size by small
+ * amounts in the H5C_decr__age_out and H5C_decr__age_out_with_threshold
+ * modes, this field allows one to require that any cache size
+ * reductions leave the specified fraction of unused space in the cache.
+ */
public double empty_reserve;
- // parallel configuration fields:
+ // parallel configuration fields
+ /**
+ * dirty_bytes_threshold: Threshold of dirty byte creation used to
+ * synchronize updates between caches.
+ */
public long dirty_bytes_threshold;
+ /**
+ * metadata_write_strategy: Integer field containing a code indicating the
+ * desired metadata write strategy.
+ */
public int metadata_write_strategy;
+ /** H5AC_cache_config_t is a public structure intended for use in public APIs.
+ * At least in its initial incarnation, it is basically a copy of struct
+ * H5C_auto_size_ctl_t, minus the report_fcn field, and plus the
+ * dirty_bytes_threshold field.
+ *
+ * @param version: Integer field containing the version number of this version
+ * @param rpt_fcn_enabled: Boolean field used to enable and disable the default reporting function.
+ * @param open_trace_file: Boolean field indicating whether the trace_file_name
+ * field should be used to open a trace file for the cache.
+ * @param close_trace_file: Boolean field indicating whether the current trace
+ * file (if any) should be closed.
+ * @param trace_file_name: Full path of the trace file to be opened if the
+ * open_trace_file field is TRUE.
+ * @param evictions_enabled: Boolean field used to either report or set the current
+ * evictions enabled status of the cache.
+ * @param set_initial_size: Boolean flag indicating whether the size of the
+ * initial size of the cache is to be set to the value given in
+ * the initial_size field.
+ * @param initial_size: If enabled, this field contain the size the cache is
+ * to be set to upon receipt of this structure.
+ * @param min_clean_fraction: double in the range 0 to 1 indicating the fraction
+ * of the cache that is to be kept clean.
+ * @param max_size: Maximum size to which the cache can be adjusted.
+ * @param min_size: Minimum size to which the cache can be adjusted.
+ * @param epoch_length: Number of accesses on the cache over which to collect
+ * hit rate stats before running the automatic cache resize code.
+ * @param incr_mode: Instance of the H5C_cache_incr_mode enumerated type.
+ * @param lower_hr_threshold: Lower hit rate threshold.
+ * @param increment: Double containing the multiplier used to derive the new
+ * cache size from the old if a cache size increment is triggered.
+ * @param apply_max_increment: Boolean flag indicating whether the max_increment
+ * field should be used to limit the maximum cache size increment.
+ * @param max_increment: If enabled by the apply_max_increment field described
+ * above, this field contains the maximum number of bytes by which the
+ * cache size can be increased in a single re-size.
+ * @param flash_incr_mode: Instance of the H5C_cache_flash_incr_mode enumerated
+ * type whose value indicates whether and by which algorithm we should
+ * make flash increases in the size of the cache to accommodate insertion
+ * of large entries and large increases in the size of a single entry.
+ * @param flash_multiple: Double containing the multiple described above in the
+ * H5C_flash_incr__add_space section of the discussion of the
+ * flash_incr_mode section.
+ * @param flash_threshold: Double containing the factor by which current max cache
+ * size is multiplied to obtain the size threshold for the add_space flash
+ * increment algorithm.
+ * @param decr_mode: Instance of the H5C_cache_decr_mode enumerated type whose
+ * value indicates how we determine whether the cache size should be
+ * decreased.
+ * @param upper_hr_threshold: Upper hit rate threshold. The use of this field
+ * varies according to the current decr_mode.
+ * @param decrement: This field is only used when the decr_mode is
+ * H5C_decr__threshold.
+ * @param apply_max_decrement: Boolean flag used to determine whether decrements
+ * in cache size are to be limited by the max_decrement field.
+ * @param max_decrement: Maximum number of bytes by which the cache size can be
+ * decreased in a single re-size.
+ * @param epochs_before_eviction: Integer field used in H5C_decr__age_out and
+ * H5C_decr__age_out_with_threshold decrement modes.
+ * @param apply_empty_reserve: Boolean field controlling whether the empty_reserve
+ * field is to be used in computing the new cache size when the
+ * decr_mode is H5C_decr__age_out or H5C_decr__age_out_with_threshold.
+ * @param empty_reserve: To avoid a constant racheting down of cache size by small
+ * amounts in the H5C_decr__age_out and H5C_decr__age_out_with_threshold
+ * modes.
+ * @param dirty_bytes_threshold: Threshold of dirty byte creation used to
+ * synchronize updates between caches.
+ * @param metadata_write_strategy: Integer field containing a code indicating the
+ * desired metadata write strategy.
+ */
public H5AC_cache_config_t (int version, boolean rpt_fcn_enabled, boolean open_trace_file,
boolean close_trace_file, String trace_file_name, boolean evictions_enabled,
boolean set_initial_size, long initial_size, double min_clean_fraction, long max_size,