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

Implement a buffer manager using java.util.concurrent classes

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: 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.

        Attachments

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

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: