Page tree

 

JAVA

FORTRAN

C++

C

 

Link

H5P_GET_MDC_CONFIG

Get the current initial metadata cache configuration from the indicated file access property list

Procedure:

H5P_GET_MDC_CONFIG ( plist_id, config_ptr)

Signature:

herr_t H5Pget_mdc_config(hid_t 
        plist_id, H5AC_cache_config_t *config_ptr)
  

Parameters:
hid_t plist_id     IN: Identifier of the file access property list
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 the H5AC_cache_config_t structure are discussed below:     

 

General configuration section:
int versionIN: 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 0 (FALSE). Since resize algorithm activity is reported via stdout, it MUST be set to 0 (FALSE) 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 (FALSE) 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 (FALSE) 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 1 (TRUE). 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 will be enabled when the file is opened / created.
hbool_t set_initial_size     OUT: Boolean flag indicating whether the cache should be created with a user specified initial maximum size.
size_t initial_size     OUT: Initial maximum size of the cache in bytes, if applicable.
double min_clean_fraction     OUT: Float value specifing 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.
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.

int metadata_write_strategy     OUT: The specified metadata write strategy.

Description:

H5P_GET_MDC_CONFIG gets the initial metadata cache configuration contained in a file access property list and loads it into the instance of H5AC_cache_config_t pointed to by the config_ptr parameter. This configuration is used when the file is opened.

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 guide for details on the configuration data returned. 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.0C Function introduced in this release.


--- Last Modified: July 22, 2020 | 09:38 AM