Page tree

 

JAVA

FORTRAN

C++

C

 

Link

H5F_GET_MDC_CONFIG

Obtains current metadata cache configuration for target file

Procedure:

H5F_GET_MDC_CONFIG ( file_id, config_ptr )

Signature:

herr_t H5Fget_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr)

Parameters:
hid_t file_id    IN: Identifier of the target file
H5AC_cache_config_t *config_ptr    IN/OUT: Pointer to the instance of H5AC_cache_config_t in which the current metadata cache configuration is to be reported. The fields of this structure are discussed below:
 
General configuration section:
int version    IN: Integer field indicating the the version of the H5AC_cache_config_t in use. This field should be set to H5AC__CURR_CACHE_CONFIG_VERSION (defined in H5ACpublic.h).
hbool_t rpt_fcn_enabled    

OUT: Boolean flag indicating whether the adaptive cache resize report function is enabled. This field should almost always be set to disabled (0). Since resize algorithm activity is reported via stdout, it MUST be set to disabled (0) on Windows machines.

The report function is not supported code, and can be expected to change between versions of the library. Use it at your own risk.

hbool_t open_trace_file     OUT: Boolean field indicating whether the trace_file_name field should be used to open a trace file for the cache. This field will always be set to 0 in this context.
hbool_t close_trace_file     OUT: Boolean field indicating whether the current trace file (if any) should be closed. This field will always be set to 0 in this context.
char *trace_file_name     OUT: Full path name of the trace file to be opened if the open_trace_file field is set to 1. This field will always be set to the empty string in this context.
hbool_t evictions_enabled     OUT: Boolean flag indicating whether metadata cache entry evictions are enabled.
hbool_t set_initial_size    OUT: Boolean flag indicating whether the cache should be created with a user specified initial maximum size.

If the configuration is loaded from the cache, this flag will always be set to 0.

size_t initial_size    OUT: Initial maximum size of the cache in bytes, if applicable.

If the configuration is loaded from the cache, this field will contain the cache maximum size as of the time of the call.

double min_clean_fraction    OUT: Float value specifying the minimum fraction of the cache that must be kept either clean or empty when possible.
size_t max_size    OUT: Upper bound (in bytes) on the range of values that the adaptive cache resize code can select as the maximum cache size.
size_t min_size    OUT: Lower bound (in bytes) on the range of values that the adaptive cache resize code can select as the maximum cache size.
long int epoch_length    OUT: Number of cache accesses between runs of the adaptive cache resize code.
 
Increment configuration section:
enum H5C_cache_incr_mode incr_mode    OUT: Enumerated value indicating the operational mode of the automatic cache size increase code. At present, only the following values are legal:

H5C_incr__off: Automatic cache size increase is disabled.

H5C_incr__threshold: Automatic cache size increase is enabled using the hit rate threshold algorithm.

double lower_hr_threshold    OUT: Hit rate threshold used in the hit rate threshold cache size increase algorithm.
double increment    OUT: The factor by which the current maximum cache size is multiplied to obtain an initial new maximum cache size if a size increase is triggered in the hit rate threshold cache size increase algorithm.
hbool_t apply_max_increment    OUT: Boolean flag indicating whether an upper limit will be applied to the size of cache size increases.
size_t max_increment    OUT: The maximum number of bytes by which the maximum cache size can be increased in a single step -- if applicable.
enum H5C_cache_flash_incr_mode flash_incr_mode    OUT: Enumerated value indicating the operational mode of the flash cache size increase code. At present, only the following values are legal:

H5C_flash_incr__off: Flash cache size increase is disabled.

H5C_flash_incr__add_space: Flash cache size increase is enabled using the add space algorithm.

double flash_threshold     OUT: The factor by which the current maximum cache size is multiplied to obtain the minimum size entry / entry size increase which may trigger a flash cache size increase.
double flash_multiple     OUT: The factor by which the size of the triggering entry / entry size increase is multiplied to obtain the initial cache size increment. This increment may be reduced to reflect existing free space in the cache and the max_size field above.
 
Decrement configuration section:
enum H5C_cache_decr_mode decr_mode    OUT: Enumerated value indicating the operational mode of the automatic cache size decrease code. At present, the following values are legal:

H5C_decr__off: Automatic cache size decrease is disabled, and the remaining decrement fields are ignored.

H5C_decr__threshold: Automatic cache size decrease is enabled using the hit rate threshold algorithm.

H5C_decr__age_out: Automatic cache size decrease is enabled using the ageout algorithm.

H5C_decr__age_out_with_threshold: Automatic cache size decrease is enabled using the ageout with hit rate threshold algorithm

double upper_hr_threshold    OUT: Upper hit rate threshold. This value is only used if the decr_mode is either H5C_decr__threshold or H5C_decr__age_out_with_threshold.
double decrement    OUT: Factor by which the current max cache size is multiplied to obtain an initial value for the new cache size when cache size reduction is triggered in the hit rate threshold cache size reduction algorithm.
hbool_t apply_max_decrement    OUT: Boolean flag indicating whether an upper limit should be applied to the size of cache size decreases.
size_t max_decrement    OUT: The maximum number of bytes by which cache size can be decreased if any single step, if applicable.
int epochs_before_eviction    OUT: The minimum number of epochs that an entry must reside unaccessed in cache before being evicted under either of the ageout cache size reduction algorithms.
hbool_t apply_empty_reserve    OUT: Boolean flag indicating whether an empty reserve should be maintained under either of the ageout cache size reduction algorithms.
double empty_reserve    OUT: Empty reserve for use with the ageout cache size reduction algorithms, if applicable.
Parallel configuration section:
int dirty_bytes_threshold     OUT: Threshold number of bytes of dirty metadata generation for triggering synchronizations of the metadata caches serving the target file in the parallel case.

Synchronization occurs whenever the number of bytes of dirty metadata created since the last synchronization exceeds this limit.

Description:

H5F_GET_MDC_CONFIG loads the current metadata cache configuration into the instance of H5AC_cache_config_t pointed to by the config_ptr parameter.

Note that the version field of *config_ptr must be initialized --this allows the library to support old versions of the H5AC_cache_config_t structure.

See the overview of the metadata cache in the special topics section of the user manual for details on metadata cache configuration. If you haven't read and understood that documentation, the results of this call will not make much sense.

Returns:

Returns a non-negative value if successful; otherwise returns a negative value.

Example:
History:
ReleaseChange
1.8.0Function added in this release.

--- Last Modified: July 22, 2020 | 02:37 PM