Class H5AC_cache_config_t

    • 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 version
        rpt_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.