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

CLIO Simplification

    XMLWordPrintable

Details

    • Task
    • Resolution: Fixed
    • Minor
    • Lustre 2.8.0
    • Lustre 2.7.0
    • 16444

    Description

      The Lustre* file system client implementation for the IO path (called CLIO) is responsible for issuing RPC commands for reading and writing data to the OSTs. CLIO was reconstructed in Lustre software version 2.0 for cross-platform portability. The 2.x client implementation has proven over time to be highly complex thus making the code hard to understand and maintain.

      Liblustre has not been maintained or tested for a number of release cycles. Today, the code compiles successfully but no evidence to show that anybody is using liblustre. This code only serves to confuse engineers and it should be removed.

      In addition, CLIO is highly complex, with a significant amount of this complexity being contributed by the cl_lock. This complexity creates a high barrier to entry for engineers wanting to modify, enhance and identify bugs. As a result enhancements to the client code are time consuming and a significant number of BUGs arrive from the cl_lock portions of the code. These BUGs can only be fixed by a few engineers because of the code complexity. LLNL has mentioned that "even our experienced engineers can't understand the Client IO code". The most complex part of cl_lock should be removed to reduce complexity and confusion. After this is complete CLIO will be easier to understand.

      This project is described in the scope statement here:
      http://wiki.opensfs.org/images/8/83/CLIOSimplificationDesign_ScopeStatement.pdf

      Attachments

        Issue Links

          Activity

            People

              bobijam Zhenyu Xu
              rhenwood Richard Henwood (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: