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

Lock ahead - Request extent locks from userspace

Details

    • New Feature
    • Resolution: Fixed
    • Major
    • Lustre 2.11.0
    • None
    • 17290

    Description

      At the recent developers conference, Jinshan proposed a different method of approaching the performance problems described in LU-6148.

      Instead of introducing a new type of LDLM lock matching, we'd like to make it possible for user space to explicitly request LDLM locks asynchronously from the IO.

      I've implemented a prototype version of the feature and will be uploading it for comments. I'll explain the state of the current version in a comment momentarily.

      Attachments

        1. anl_mpich_build_guide.txt
          18 kB
        2. cug paper.pdf
          714 kB
        3. lockahead_ladvise_mpich_patch
          30 kB
        4. LockAheadResults.docx
          516 kB
        5. LockAhead-TestReport.txt
          1.36 MB
        6. LUSTRE-LockAhead-140417-1056-170.pdf
          64 kB
        7. mmoore cug slides.pdf
          1.15 MB
        8. sle11_build_tools.tar.gz
          2.48 MB

        Issue Links

          Activity

            [LU-6179] Lock ahead - Request extent locks from userspace

            Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/38179/
            Subject: LU-6179 llite: Remove last lockahead old compat
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 12a0c7b5944d9e48e38416c7cac2cde153e3148b

            gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/38179/ Subject: LU-6179 llite: Remove last lockahead old compat Project: fs/lustre-release Branch: master Current Patch Set: Commit: 12a0c7b5944d9e48e38416c7cac2cde153e3148b

            Patrick Farrell (farr0186@gmail.com) uploaded a new patch: https://review.whamcloud.com/38179
            Subject: LU-6179 llite: Remove last lockahead old compat
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: d23ed5713d41b5d8c69a989bb2600d83bf701c31

            gerrit Gerrit Updater added a comment - Patrick Farrell (farr0186@gmail.com) uploaded a new patch: https://review.whamcloud.com/38179 Subject: LU-6179 llite: Remove last lockahead old compat Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: d23ed5713d41b5d8c69a989bb2600d83bf701c31

            Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/38109/
            Subject: LU-6179 llite: remove LOCKAHEAD_OLD compatibility
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 5315db3f1066619d6effe4f778d2df3ad1ba738f

            gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/38109/ Subject: LU-6179 llite: remove LOCKAHEAD_OLD compatibility Project: fs/lustre-release Branch: master Current Patch Set: Commit: 5315db3f1066619d6effe4f778d2df3ad1ba738f

            Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/38109
            Subject: LU-6179 llite: remove LOCKAHEAD_OLD compatibility
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: f6bc909bfda5521454631a4985648e07c63137ee

            gerrit Gerrit Updater added a comment - Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/38109 Subject: LU-6179 llite: remove LOCKAHEAD_OLD compatibility Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: f6bc909bfda5521454631a4985648e07c63137ee
            pjones Peter Jones added a comment -

            Landed for 2.11

            pjones Peter Jones added a comment - Landed for 2.11

            Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/13564/
            Subject: LU-6179 llite: Implement ladvise lockahead
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: a8dcf372f430c308d3e96fb506563068d0a80c2d

            gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/13564/ Subject: LU-6179 llite: Implement ladvise lockahead Project: fs/lustre-release Branch: master Current Patch Set: Commit: a8dcf372f430c308d3e96fb506563068d0a80c2d

            Oh. Hm. No - It's skipping some of the tests. Sorry about that, thanks for pointing it out. Some development stuff I was doing escaped in to what I pushed upstream... I'll fix that when I rebase to merge.

            paf Patrick Farrell (Inactive) added a comment - Oh. Hm. No - It's skipping some of the tests. Sorry about that, thanks for pointing it out. Some development stuff I was doing escaped in to what I pushed upstream... I'll fix that when I rebase to merge.

            Patrick, the new test 255c in sanity.sh reports the following:

            == sanity test 255c: suite of ladvise lockahead tests ================================================ 04:54:04 (1495688044) Starting test test10 at 1495688045
            Finishing test test10 at 1495688045
            Starting test test20 at 1495688045
            cannot give advice: Invalid argument (22)
            cannot give advice: Invalid argument (22)
            cannot give advice: Invalid argument (22)
            cannot give advice: Invalid argument (22)
            cannot give advice: Invalid argument (22)
            cannot give advice: Invalid argument (22)
            Finishing test test20 at 1495688045
            
            

            Is that expected or test isn't working properly?

            This is from the latest test results https://testing.hpdd.intel.com/sub_tests/38e1f10a-4129-11e7-91f4-5254006e85c2

             

            tappro Mikhail Pershin added a comment - Patrick, the new test 255c in sanity.sh reports the following: == sanity test 255c: suite of ladvise lockahead tests ================================================ 04:54:04 (1495688044) Starting test test10 at 1495688045 Finishing test test10 at 1495688045 Starting test test20 at 1495688045 cannot give advice: Invalid argument (22) cannot give advice: Invalid argument (22) cannot give advice: Invalid argument (22) cannot give advice: Invalid argument (22) cannot give advice: Invalid argument (22) cannot give advice: Invalid argument (22) Finishing test test20 at 1495688045 Is that expected or test isn't working properly? This is from the latest test results https://testing.hpdd.intel.com/sub_tests/38e1f10a-4129-11e7-91f4-5254006e85c2  

            Hi Patrick,

            In the very simple test you suggested, the lock count does increase from 0 to 4010, so the lock ahead works well.
            Yes, a faster OST should show more benefits.

            czx0003 Cong Xu (Inactive) added a comment - Hi Patrick, In the very simple test you suggested, the lock count does increase from 0 to 4010, so the lock ahead works well. Yes, a faster OST should show more benefits.

            Huh, OK! That's a clever way to show it.

            A faster OST will show much larger benefits, of course.

            paf Patrick Farrell (Inactive) added a comment - Huh, OK! That's a clever way to show it. A faster OST will show much larger benefits, of course.

            People

              paf Patrick Farrell (Inactive)
              paf Patrick Farrell (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              23 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: