Please, help us to better serve our user community by answering the following short survey: https://www.hdfgroup.org/website-survey/
HDF5  1.15.0
API Reference
 
Loading...
Searching...
No Matches
H5AC_cache_config_t Class Reference

Detailed Description

Information struct for H5Pget_mdc_config/H5Pset_mdc_config

+ Inheritance diagram for H5AC_cache_config_t:
+ Collaboration diagram for H5AC_cache_config_t:

Public Member Functions

 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)
 

Data Fields

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
 

Constructor & Destructor Documentation

◆ H5AC_cache_config_t()

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
versionInteger field containing the version number of this version
rpt_fcn_enabledBoolean field used to enable and disable the default reporting function.
open_trace_fileBoolean field indicating whether the trace_file_name field should be used to open a trace file for the cache.
close_trace_fileBoolean field indicating whether the current trace file (if any) should be closed.
trace_file_nameFull path of the trace file to be opened if the open_trace_file field is TRUE.
evictions_enabledBoolean field used to either report or set the current evictions enabled status of the cache.
set_initial_sizeBoolean 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_sizeIf enabled, this field contain the size the cache is to be set to upon receipt of this structure.
min_clean_fractiondouble in the range 0 to 1 indicating the fraction of the cache that is to be kept clean.
max_sizeMaximum size to which the cache can be adjusted.
min_sizeMinimum size to which the cache can be adjusted.
epoch_lengthNumber of accesses on the cache over which to collect hit rate stats before running the automatic cache resize code.
incr_modeInstance of the H5C_cache_incr_mode enumerated type.
lower_hr_thresholdLower hit rate threshold.
incrementDouble containing the multiplier used to derive the new cache size from the old if a cache size increment is triggered.
apply_max_incrementBoolean flag indicating whether the max_increment field should be used to limit the maximum cache size increment.
max_incrementIf 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_modeInstance 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_multipleDouble containing the multiple described above in the H5C_flash_incr__add_space section of the discussion of the flash_incr_mode section.
flash_thresholdDouble containing the factor by which current max cache size is multiplied to obtain the size threshold for the add_space flash increment algorithm.
decr_modeInstance of the H5C_cache_decr_mode enumerated type whose value indicates how we determine whether the cache size should be decreased.
upper_hr_thresholdUpper hit rate threshold. The use of this field varies according to the current decr_mode.
decrementThis field is only used when the decr_mode is H5C_decr__threshold.
apply_max_decrementBoolean flag used to determine whether decrements in cache size are to be limited by the max_decrement field.
max_decrementMaximum number of bytes by which the cache size can be decreased in a single re-size.
epochs_before_evictionInteger field used in H5C_decr__age_out and H5C_decr__age_out_with_threshold decrement modes.
apply_empty_reserveBoolean 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_reserveTo 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_thresholdThreshold of dirty byte creation used to synchronize updates between caches.
metadata_write_strategyInteger field containing a code indicating the desired metadata write strategy.

Field Documentation

◆ apply_empty_reserve

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.

◆ apply_max_decrement

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.

◆ apply_max_increment

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.

◆ close_trace_file

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

◆ decr_mode

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.

◆ decrement

double decrement

decrement: This field is only used when the decr_mode is H5C_decr__threshold.

◆ dirty_bytes_threshold

long dirty_bytes_threshold

dirty_bytes_threshold: Threshold of dirty byte creation used to synchronize updates between caches.

◆ empty_reserve

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.

◆ epoch_length

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.

◆ epochs_before_eviction

int epochs_before_eviction

epochs_before_eviction: Integer field used in H5C_decr__age_out and H5C_decr__age_out_with_threshold decrement modes.

◆ evictions_enabled

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.

◆ flash_incr_mode

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

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

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.

◆ incr_mode

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.

◆ increment

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.

◆ initial_size

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].

◆ lower_hr_threshold

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.

◆ max_decrement

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.

◆ max_increment

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.

◆ max_size

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.

◆ metadata_write_strategy

int metadata_write_strategy

metadata_write_strategy: Integer field containing a code indicating the desired metadata write strategy.

◆ min_clean_fraction

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.

◆ min_size

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.

◆ open_trace_file

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

◆ rpt_fcn_enabled

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.

◆ set_initial_size

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.

◆ trace_file_name

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

◆ upper_hr_threshold

double upper_hr_threshold

upper_hr_threshold: Upper hit rate threshold. The use of this field varies according to the current decr_mode.

◆ version

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.


The documentation for this class was generated from the following file: