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

        Issue Links

          Activity

            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