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

Add DIO splitting tunables

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Unresolved
    • Minor
    • None
    • None
    • None
    • 9223372036854775807

    Description

      Add DIO splitting tunables

      The new faster DIO path is great, but benefit is only seen
      if I/O is split to multiple RPCs. Currently, this only
      happens if I/O size is > RPC size or if I/O crosses a
      stripe boundary.

      This requirement for splitting means that there is an
      inherent conflict between the desire to do large RPCs and
      doing single stream I/O at high speed.

      This patch adds a pair of tunables, turning on some I/O
      splitting by default while allowing users to control the
      degree.

      DIO parallelism, at the llite layer, specifying how many
      chunks we should try to split a DIO In to
      Minimum preferred I/O size, at the OSC layer, specifying
      the minimum size to which we should split I/O.

      Parallelism is a global control of how much splitting is
      desired for best performance, the overall preference
      between maximum RPC size and maximum single stream
      performance.

      The OSC level control is because some OSTs have
      dramatically different performance with synchronous I/O,
      so for a spinning OST, it may be desirable to enforce a
      higher minimum I/O size (and so less parallelism), and the
      reverse for a flash OST.

      Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>

      Attachments

        Activity

          People

            paf0186 Patrick Farrell (Inactive)
            paf0186 Patrick Farrell (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: