diff options
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.java | 243 |
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, |