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

            [LU-5880] CLIO Simplification
            jhammond John Hammond made changes -
            Link New: This issue is related to LU-10257 [ LU-10257 ]
            pjones Peter Jones made changes -
            Resolution New: Fixed [ 1 ]
            Status Original: Open [ 1 ] New: Resolved [ 5 ]
            pjones Peter Jones made changes -
            Assignee Original: WC Triage [ wc-triage ] New: Zhenyu Xu [ bobijam ]
            rhenwood Richard Henwood (Inactive) made changes -
            Link New: This issue is blocked by LU-5971 [ LU-5971 ]
            adilger Andreas Dilger made changes -
            Fix Version/s New: Lustre 2.8.0 [ 11113 ]
            adilger Andreas Dilger made changes -
            Affects Version/s New: Lustre 2.7.0 [ 10631 ]
            rhenwood Richard Henwood (Inactive) made changes -
            Description Original: 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.

            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

            New: 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

            rhenwood Richard Henwood (Inactive) made changes -
            Labels New: clio
            rhenwood Richard Henwood (Inactive) made changes -
            Link New: This issue is blocked by LU-5823 [ LU-5823 ]
            rhenwood Richard Henwood (Inactive) made changes -
            Link Original: This issue is related to LU-5823 [ LU-5823 ]

            People

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

              Dates

                Created:
                Updated:
                Resolved: