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

Parallelize single threaded heap region iteration during Pre Evacuate Collection Set

XMLWordPrintable

    • gc
    • b25

      While running a customer example app with G1, the pause time can be quite low for a young collection, like 5ms. But this app has some humongous regions, and over 20% of the pause time (usually ~1.5ms) is shown as "Humongous Register" which is a single threaded step looking for roots into the humongous regions in register_humongous_regions_with_cset().

      It seems like a possible perf enhancement for G1 although maybe the overhead of thread pool might be more than its worth. I dont know if this a good idea, just pointing it out.


      2015-11-03T19:56:46.503-0500: 3294.913: #116: [GC pause (G1 Evacuation Pause) (young), 0.0058334 secs]
         [Parallel Time: 2.7 ms, GC Workers: 18]
            [GC Worker Start (ms): Min: 3294915.2, Avg: 3294915.7, Max: 3294917.6, Diff: 2.4]
            [Ext Root Scanning (ms): Min: 0.0, Avg: 0.7, Max: 2.6, Diff: 2.6, Sum: 12.2]
            [Update RS (ms): Min: 0.0, Avg: 0.4, Max: 1.2, Diff: 1.2, Sum: 7.8]
               [Processed Buffers: Min: 0, Avg: 1.6, Max: 11, Diff: 11, Sum: 29]
               [Scan HCC (ms): Min: 0.0, Avg: 0.1, Max: 0.2, Diff: 0.2, Sum: 2.5]
            [Scan RS (ms): Min: 0.0, Avg: 0.4, Max: 0.8, Diff: 0.8, Sum: 7.3]
            [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1]
            [Object Copy (ms): Min: 0.0, Avg: 0.1, Max: 0.1, Diff: 0.1, Sum: 1.3]
            [Termination (ms): Min: 0.0, Avg: 0.5, Max: 0.7, Diff: 0.7, Sum: 9.8]
               [Termination Attempts: Min: 1, Avg: 1.3, Max: 2, Diff: 1, Sum: 24]
            [GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.3]
            [GC Worker Total (ms): Min: 0.3, Avg: 2.2, Max: 2.7, Diff: 2.4, Sum: 38.9]
            [GC Worker End (ms): Min: 3294917.8, Avg: 3294917.9, Max: 3294917.9, Diff: 0.0]
         [Code Root Fixup: 0.0 ms]
         [Code Root Purge: 0.0 ms]
         [Clear CT: 0.1 ms]
         [Expand Heap After Collection: 0.0 ms]
         [Other: 3.0 ms]
            [Choose CSet: 0.0 ms]
            [Ref Proc: 0.4 ms]
            [Ref Enq: 0.0 ms]
            [Redirty Cards: 0.1 ms]
            [Humongous Register: 1.5 ms]
            [Humongous Reclaim: 0.0 ms]
            [Free CSet: 0.5 ms]
         [Eden: 248.0M(248.0M)->0.0B(248.0M) Survivors: 2048.0K->2048.0K Heap: 1095.6M(5000.0M)->847.6M(5000.0M)]

            sjohanss Stefan Johansson
            ecaspole Eric Caspole
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: