-
Enhancement
-
Resolution: Unresolved
-
P4
-
13
With JDK-8213108 consecutive dirty cards are scanned as a single block. This may result in pushing a lot of references to scan into the task queue (64kb chunk size, ie. 16k references max).
During development ofJDK-6672778 we found that having less references on the task queue is advantagous due to memory prefetching/caching reasons.
Investigate the impact of splitting blocks on a smaller granularity than chunk size.
BigRAMTester and SPECjbb2015 have a few GCs (at the start iirc) where the block/chunk size is very small, i.e. G1 can find many large blocks.
Very short attempts on e.g. limiting block size to 4 cards (random number) showed no conclusive initial advantage or disadvantage in pause times.
During development of
Investigate the impact of splitting blocks on a smaller granularity than chunk size.
BigRAMTester and SPECjbb2015 have a few GCs (at the start iirc) where the block/chunk size is very small, i.e. G1 can find many large blocks.
Very short attempts on e.g. limiting block size to 4 cards (random number) showed no conclusive initial advantage or disadvantage in pause times.
- is blocked by
-
JDK-8213108 Improve work distribution during remembered set scan
- Resolved
- relates to
-
JDK-6672778 G1 should trim task queues more aggressively during evacuation pauses
- Resolved
-
JDK-8278824 Uneven work distribution when scanning heap roots in G1
- Resolved