Integrated: 8233697: CHT: Iteration parallelization
Ivan Walulya
iwalulya at openjdk.org
Wed Nov 2 11:41:30 UTC 2022
On Wed, 19 Oct 2022 10:15:46 GMT, Ivan Walulya <iwalulya at openjdk.org> wrote:
> Hi,
>
> Please review this change to add parallel iteration of the ConcurrentHashTable. The iteration should be done during a safepoint without concurrent modifications to the ConcurrentHashTable.
>
> Usecase is in parallelizing the merging of large remsets for G1.
>
> Some background: The problem is that particularly during (G1) mixed gc it happens that the distribution of contents in the CHT is very unbalanced - young gen regions have a very small remembered set (little work), and old gen regions very large ones (much work).
>
> Since the current work distribution is based on whole remembered sets (i.e. CHTs), this makes for a very unbalanced merge remsets phase in G1 when you have quite a bit more than the number of old gen regions threads at your disposal.
> This negatively impacts pause time predictions (and obviously pause times are longer than necessary as many threads are idling to wait for the phase to complete).
>
> This change only adds the infrastructure code in the CHT, there will be a follow-up with G1 changes.
>
> Testing: tier 1-3
This pull request has now been integrated.
Changeset: 1a58cb1c
Author: Ivan Walulya <iwalulya at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/1a58cb1c023c876594e8a53d00703e564a922d36
Stats: 239 lines in 4 files changed: 202 ins; 27 del; 10 mod
8233697: CHT: Iteration parallelization
Reviewed-by: tschatzl, rehn
-------------
PR: https://git.openjdk.org/jdk/pull/10759
More information about the hotspot-dev
mailing list