Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-2911

Implement a buffer manager using java.util.concurrent classes

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 10.4.1.3
    • 10.4.1.3
    • Services
    • None
    • Performance

    Description

      There are indications that the buffer manager is a bottleneck for some types of multi-user load. For instance, Anders Morken wrote this in a comment on DERBY-1704: "With a separate table and index for each thread (to remove latch contention and lock waits from the equation) we (...) found that org.apache.derby.impl.services.cache.Clock.find()/release() caused about 5 times more contention than the synchronization in LockSet.lockObject() and LockSet.unlock(). That might be an indicator of where to apply the next push".

      It would be interesting to see the scalability and performance of a buffer manager which exploits the concurrency utilities added in Java SE 5.

      Attachments

        1. cleaner.diff
          3 kB
          Knut Anders Hatlen
        2. cleaner.tar
          16 kB
          Knut Anders Hatlen
        3. d2911-1.diff
          25 kB
          Knut Anders Hatlen
        4. d2911-1.stat
          0.3 kB
          Knut Anders Hatlen
        5. d2911-10.diff
          16 kB
          Knut Anders Hatlen
        6. d2911-10.stat
          0.2 kB
          Knut Anders Hatlen
        7. d2911-11.diff
          4 kB
          Knut Anders Hatlen
        8. d2911-12.diff
          11 kB
          Knut Anders Hatlen
        9. d2911-13.diff
          6 kB
          Knut Anders Hatlen
        10. d2911-14.diff
          2 kB
          Knut Anders Hatlen
        11. d2911-15.diff
          9 kB
          Knut Anders Hatlen
        12. d2911-2.diff
          2 kB
          Knut Anders Hatlen
        13. d2911-3.diff
          2 kB
          Knut Anders Hatlen
        14. d2911-4.diff
          5 kB
          Knut Anders Hatlen
        15. d2911-5.diff
          5 kB
          Knut Anders Hatlen
        16. d2911-6.diff
          24 kB
          Knut Anders Hatlen
        17. d2911-6.stat
          0.4 kB
          Knut Anders Hatlen
        18. d2911-7.diff
          6 kB
          Knut Anders Hatlen
        19. d2911-7a.diff
          7 kB
          Knut Anders Hatlen
        20. d2911-9.diff
          20 kB
          Knut Anders Hatlen
        21. d2911-9.stat
          0.3 kB
          Knut Anders Hatlen
        22. d2911-enable.diff
          1.0 kB
          Knut Anders Hatlen
        23. d2911-entry-javadoc.diff
          3 kB
          Knut Anders Hatlen
        24. d2911perf.java
          3 kB
          Knut Anders Hatlen
        25. d2911-unused.diff
          10 kB
          Knut Anders Hatlen
        26. d2911-unused.stat
          0.7 kB
          Knut Anders Hatlen
        27. derby-2911-8.diff
          18 kB
          Knut Anders Hatlen
        28. derby-2911-8.stat
          0.4 kB
          Knut Anders Hatlen
        29. perftest.diff
          47 kB
          Knut Anders Hatlen
        30. perftest.pdf
          74 kB
          Knut Anders Hatlen
        31. perftest.stat
          1.0 kB
          Knut Anders Hatlen
        32. perftest2.diff
          47 kB
          Knut Anders Hatlen
        33. perftest6.pdf
          89 kB
          Knut Anders Hatlen
        34. poisson_patch8.tar
          20 kB
          Knut Anders Hatlen

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            knutanders Knut Anders Hatlen
            knutanders Knut Anders Hatlen
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment