Reading file data

The GPFS read function is invoked in response to a read system call.

File read processing falls into three levels of complexity based on system activity and status:
  1. Buffers are available in memory.
  2. Tokens are available in memory but data must be read.
  3. Data and tokens must be acquired.

At the completion of a read, a determination of the need for prefetching is made. GPFS computes a desired read-ahead for each open file based on the performance of the disks, the data access pattern and the rate at which the application is reading data. If additional prefetching is needed, a message is sent to the daemon that processes it asynchronously with the completion of the current read.