Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-13799

DIO/AIO efficiency improvements



    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • Lustre 2.15.0
    • None
    • 3
    • 9223372036854775807


      There is a large degree of inefficiency/wasted time in the DIO/AIO path.  This does not show up for DIO normally because of the waiting model. but it shows up easily in AIO.

      This ticket is to cover a set of improvements to DIO/AIO performance, which will also improve DIO performance once the waiting model is adjusted.  (More on this in LU-13798.)

      There is a grab bag of patches to be submitted here, and some further proposals that will probably end up in other tickets.

      The essence of the improvements is that all pages in a DIO submission are the same, and therefore much of the work done on a per-page basis is irrelevant and can be skipped for DIO.  Note this statement is still compatible with unaligned DIO if it can be implemented in the future - In the case of unaligned DIO, only the first and last pages are different, and that can still be handled.

      Patches and benchmarks on each patch forthcoming.

      The total effect of the initial set of patches on my testbed is to raise AIO/DIO performance from around 5 GiB/s to around 9 GiB/s.  I'll get more in to what else can be done shortly. 


        Issue Links



              paf0186 Patrick Farrell
              paf0186 Patrick Farrell
              0 Vote for this issue
              16 Start watching this issue