×

Parallel I/O read processing for use in clustered file systems having cache storage

  • US 10,657,108 B2
  • Filed: 11/29/2017
  • Issued: 05/19/2020
  • Est. Priority Date: 04/29/2014
  • Status: Active Grant
First Claim
Patent Images

1. A computer program product, comprising a computer readable storage medium having program code embodied therewith, the embodied program code executable by a processor to cause the processor to:

  • determine, by the processor, a home node that corresponds to gateway (GW) nodes in a clustered file system, each GW node being eligible to process one or more read tasks;

    determine, by the processor, a peer GW eligibility value for more than one of the GW nodes in the clustered file system eligible to process the one or more read tasks;

    determine, by the processor, a single GW node from amongst the GW nodes having a highest peer GW eligibility value for each home node;

    assign and define, by the processor, a size for one or more read task items for the GW nodes having the highest peer GW eligibility value for multiple home nodes based on a current dynamic profile of the GW nodes;

    distribute, by the processor, workload to the GW nodes according to the size for each of the one or more read task items assigned to the GW nodes;

    receive, by the processor, a remote block read request for an uncached file from an application node;

    determine, by the processor, whether the remote block read request is sent in response to a foreground read request or initiation of a manual file prefetch;

    determine, by the processor, whether a size of the requested file exceeds a parallel read threshold in response to a determination that the remote block read request is sent in response to the manual file prefetch and invoke a parallel input/output (I/O) code path with handling of sparse blocks and small read scenarios in response to a determination that the size of the requested file exceeds the parallel read threshold; and

    determine, by the processor, whether at least two blocks of the requested file have been cached in response to a determination that the remote block read request is sent in response to the foreground read request and invoke the parallel I/O code path with handling of sparse blocks and small read scenarios in response to a determination that at least two blocks of the requested file have been cached and a percentage of cached blocks of the requested file versus all blocks of the requested file exceeds a predetermined prefetch threshold.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×