Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8290736

Improve scalability of Merge Heap Roots/Merge Log Buffers

XMLWordPrintable

    • gc

      Recent scalability testing with G1 showed that some phases do not scale well with number of threads.

      Using Bigramtester@20gb showed that on a large machine, with ~30 threads the Merge Heap Roots/Merge Log Buffers phases takes about 1% of gc pause time (~3ms) on average; with >100 threads it takes around 13% already (~14ms) - note that this is the same application with roughly the same amount of cards generated.

      This seems to be related to dequeuing buffers from the DCQS. Some testing showed that quadrupling the buffer sizes decreases this time to ~6%.

        1. log_prepare_mixed.png
          71 kB
          Ivan Walulya
        2. log_normal.png
          75 kB
          Ivan Walulya
        3. log_mixed.png
          67 kB
          Ivan Walulya
        4. log_concurrent_start.png
          60 kB
          Ivan Walulya

            iwalulya Ivan Walulya
            tschatzl Thomas Schatzl
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: