Package hdf.hdf5lib.structs
Class H5AC_cache_config_t
- java.lang.Object
-
- hdf.hdf5lib.structs.H5AC_cache_config_t
-
- All Implemented Interfaces:
Serializable
public class H5AC_cache_config_t extends Object implements Serializable
Information struct for H5Pget_mdc_config/H5Pset_mdc_config- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description boolean
apply_empty_reserve
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.boolean
apply_max_decrement
apply_max_decrement: Boolean flag used to determine whether decrements in cache size are to be limited by the max_decrement field.boolean
apply_max_increment
apply_max_increment: Boolean flag indicating whether the max_increment field should be used to limit the maximum cache size increment.boolean
close_trace_file
close_trace_file: Boolean field indicating whether the current trace file (if any) should be closed.int
decr_mode
decr_mode: Instance of the H5C_cache_decr_mode enumerated type whose value indicates how we determine whether the cache size should be decreased.double
decrement
decrement: This field is only used when the decr_mode is H5C_decr__threshold.long
dirty_bytes_threshold
dirty_bytes_threshold: Threshold of dirty byte creation used to synchronize updates between caches.double
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.long
epoch_length
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.int
epochs_before_eviction
epochs_before_eviction: Integer field used in H5C_decr__age_out and H5C_decr__age_out_with_threshold decrement modes.boolean
evictions_enabled
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.int
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.double
flash_multiple
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.double
flash_threshold
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.int
incr_mode
incr_mode: Instance of the H5C_cache_incr_mode enumerated type whose value indicates how we determine whether the cache size should be increased.double
increment
increment: Double containing the multiplier used to derive the new cache size from the old if a cache size increment is triggered.long
initial_size
initial_size: If enabled, this field contain the size the cache is to be set to upon receipt of this structure.double
lower_hr_threshold
lower_hr_threshold: Lower hit rate threshold.long
max_decrement
max_decrement: Maximum number of bytes by which the cache size can be decreased in a single re-size.long
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.long
max_size
max_size: Maximum size to which the cache can be adjusted.int
metadata_write_strategy
metadata_write_strategy: Integer field containing a code indicating the desired metadata write strategy.double
min_clean_fraction
min_clean_fraction: double in the range 0 to 1 indicating the fraction of the cache that is to be kept clean.long
min_size
min_size: Minimum size to which the cache can be adjusted.boolean
open_trace_file
open_trace_file: Boolean field indicating whether the trace_file_name field should be used to open a trace file for the cache.boolean
rpt_fcn_enabled
rpt_fcn_enabled: Boolean field used to enable and disable the default reporting function.boolean
set_initial_size
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.String
trace_file_name
trace_file_name: Full path of the trace file to be opened if the open_trace_file field is TRUE.double
upper_hr_threshold
upper_hr_threshold: Upper hit rate threshold.int
version
version: Integer field containing the version number of this version of the H5AC_cache_config_t structure.
-
Constructor Summary
Constructors Constructor Description 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, long min_size, long epoch_length, int incr_mode, double lower_hr_threshold, double increment, boolean apply_max_increment, long max_increment, int flash_incr_mode, double flash_multiple, double flash_threshold, int decr_mode, double upper_hr_threshold, double decrement, boolean apply_max_decrement, long max_decrement, int epochs_before_eviction, boolean apply_empty_reserve, double empty_reserve, long dirty_bytes_threshold, int metadata_write_strategy)
H5AC_cache_config_t is a public structure intended for use in public APIs.
-
-
-
Field Detail
-
version
public int version
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.
-
rpt_fcn_enabled
public boolean rpt_fcn_enabled
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.
-
open_trace_file
public boolean open_trace_file
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
-
close_trace_file
public boolean close_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
-
trace_file_name
public String trace_file_name
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
-
evictions_enabled
public boolean evictions_enabled
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.
-
set_initial_size
public boolean set_initial_size
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.
-
initial_size
public long 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].
-
min_clean_fraction
public double min_clean_fraction
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.
-
max_size
public long max_size
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.
-
min_size
public long min_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.
-
epoch_length
public long epoch_length
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.
-
incr_mode
public int incr_mode
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.
-
lower_hr_threshold
public double lower_hr_threshold
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.
-
increment
public double increment
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.
-
apply_max_increment
public boolean apply_max_increment
apply_max_increment: Boolean flag indicating whether the max_increment field should be used to limit the maximum cache size increment.
-
max_increment
public long 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.
-
flash_incr_mode
public int 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.
-
flash_multiple
public double flash_multiple
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.
-
flash_threshold
public double flash_threshold
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.
-
decr_mode
public int decr_mode
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.
-
upper_hr_threshold
public double upper_hr_threshold
upper_hr_threshold: Upper hit rate threshold. The use of this field varies according to the current decr_mode.
-
decrement
public double decrement
decrement: This field is only used when the decr_mode is H5C_decr__threshold.
-
apply_max_decrement
public boolean apply_max_decrement
apply_max_decrement: Boolean flag used to determine whether decrements in cache size are to be limited by the max_decrement field.
-
max_decrement
public long 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.
-
epochs_before_eviction
public int epochs_before_eviction
epochs_before_eviction: Integer field used in H5C_decr__age_out and H5C_decr__age_out_with_threshold decrement modes.
-
apply_empty_reserve
public boolean apply_empty_reserve
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.
-
empty_reserve
public double 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.
-
dirty_bytes_threshold
public long dirty_bytes_threshold
dirty_bytes_threshold: Threshold of dirty byte creation used to synchronize updates between caches.
-
metadata_write_strategy
public int metadata_write_strategy
metadata_write_strategy: Integer field containing a code indicating the desired metadata write strategy.
-
-
Constructor Detail
-
H5AC_cache_config_t
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, long min_size, long epoch_length, int incr_mode, double lower_hr_threshold, double increment, boolean apply_max_increment, long max_increment, int flash_incr_mode, double flash_multiple, double flash_threshold, int decr_mode, double upper_hr_threshold, double decrement, boolean apply_max_decrement, long max_decrement, int epochs_before_eviction, boolean apply_empty_reserve, double empty_reserve, long dirty_bytes_threshold, 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.- Parameters:
version
- : Integer field containing the version number of this versionrpt_fcn_enabled
- : Boolean field used to enable and disable the default reporting function.open_trace_file
- : Boolean field indicating whether the trace_file_name field should be used to open a trace file for the cache.close_trace_file
- : Boolean field indicating whether the current trace file (if any) should be closed.trace_file_name
- : Full path of the trace file to be opened if the open_trace_file field is TRUE.evictions_enabled
- : Boolean field used to either report or set the current evictions enabled status of the cache.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.initial_size
- : If enabled, this field contain the size the cache is to be set to upon receipt of this structure.min_clean_fraction
- : double in the range 0 to 1 indicating the fraction of the cache that is to be kept clean.max_size
- : Maximum size to which the cache can be adjusted.min_size
- : Minimum size to which the cache can be adjusted.epoch_length
- : Number of accesses on the cache over which to collect hit rate stats before running the automatic cache resize code.incr_mode
- : Instance of the H5C_cache_incr_mode enumerated type.lower_hr_threshold
- : Lower hit rate threshold.increment
- : Double containing the multiplier used to derive the new cache size from the old if a cache size increment is triggered.apply_max_increment
- : Boolean flag indicating whether the max_increment field should be used to limit the maximum cache size 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.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.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.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.decr_mode
- : Instance of the H5C_cache_decr_mode enumerated type whose value indicates how we determine whether the cache size should be decreased.upper_hr_threshold
- : Upper hit rate threshold. The use of this field varies according to the current decr_mode.decrement
- : This field is only used when the decr_mode is H5C_decr__threshold.apply_max_decrement
- : Boolean flag used to determine whether decrements in cache size are to be limited by the max_decrement field.max_decrement
- : Maximum number of bytes by which the cache size can be decreased in a single re-size.epochs_before_eviction
- : Integer field used in H5C_decr__age_out and H5C_decr__age_out_with_threshold decrement modes.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.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.dirty_bytes_threshold
- : Threshold of dirty byte creation used to synchronize updates between caches.metadata_write_strategy
- : Integer field containing a code indicating the desired metadata write strategy.
-
-