Derby
  1. Derby
  2. DERBY-2911

Implement a buffer manager using java.util.concurrent classes

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 10.4.1.3
    • Fix Version/s: 10.4.1.3
    • Component/s: Services
    • Labels:
      None
    • Bug behavior facts:
      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.

      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

          No work has yet been logged on this issue.

            People

            • Assignee:
              Knut Anders Hatlen
              Reporter:
              Knut Anders Hatlen
            • Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development