JDK-8327042 : G1: Parallelism used for redirty logged cards needs better control.
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 23
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2024-02-29
  • Updated: 2024-07-23
  • Resolved: 2024-03-04
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 23
23 b13Fixed
Related Reports
Duplicate :  
Duplicate :  
Relates :  
Description
Investigate the scaling of the RedirtyLoggedCardsTask with number of worker threads. In the current implementation, the threads contend for access to the Log Buffers through a single BufferNode resulting in a bottleneck as we increase the threads. The cost per card is pretty low, thus the work distribution overhead dominates the task. Increasing the number of threads just increases contention overheads leading to regression in the task execution time. 

Please see the images attached where TX_ refers to T[no of threads] run on a 20G heap with BigRamTester microbenchmark. 
Comments
Changeset: b69d1b51 Author: Ivan Walulya <iwalulya@openjdk.org> Date: 2024-03-04 15:17:57 +0000 URL: https://git.openjdk.org/jdk/commit/b69d1b51c77ceda2fae3402418f4afcae2a735a8
04-03-2024

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/17963 Date: 2024-02-22 13:02:13 +0000
29-02-2024