Page tree

 

JAVA

FORTRAN

C++

C

 

Link

H5P_SET_PAGE_BUFFER_SIZE

Sets the maximum size for the page buffer and the minimum percentage for metadata and raw data pages

Procedure:

H5P_SET_PAGE_BUFFER_SIZE ( fapl_id, buf_size, min_meta_perc, min_raw_perc )

Signature:


   herr_t H5Pset_page_buffer_size( 
     hid_t fapl_id, 
     size_t buf_size, 
     unsigned min_meta_perc, 
     unsigned min_raw_perc )

     
    

Parameters:
hid_t fapl_idIN: File access property list identifier
size_t buf_sizeIN: Maximum size, in bytes, of the page buffer
unsigned min_meta_percIN: Minimum metadata percentage to keep in the page buffer before allowing pages containing metadata to be evicted (Default is 0)
unsigned min_raw_percIN: Minimum raw data percentage to keep in the page buffer before allowing pages containing raw data to be evicted (Default is 0)

Description:

H5P_SET_PAGE_BUFFER_SIZE sets buf_size, the maximum size in bytes of the page buffer. The default value is zero, meaning that page buffering is disabled. When a non-zero page buffer size is set, the library will enable page buffering if that size is larger or equal than a single page size if a paged file space strategy is enabled using the functions H5P_SET_FILE_SPACE_STRATEGY and H5P_SET_FILE_SPACE_PAGE_SIZE.

The page buffer layer captures all I/O requests before they are issued to the VFD and "caches" them in fixed sized pages. Once the total number of pages exceeds the page buffer size, the library evicts pages from the page buffer by writing them to the VFD. At file close, the page buffer is flushed writing all the pages to the file.

If a non-zero page buffer size is set, and the file space strategy is not set to paged or the page size for the file space strategy is larger than the page buffer size, the subsequent call to H5F_CREATE or H5F_OPEN using the fapl_id will fail.

The function also allows setting the minimum percentage of pages for metadata and raw data to prevent a certain type of data to evict hot data of the other type.

Returns:

Returns a non-negative value if successful. Otherwise returns a negative value.

Example:

Coming Soon!

History:
Release    Change
1.10.1C function introduced with this release.

--- Last Modified: July 23, 2019 | 08:16 AM