RFR (S): 8148099: Improve memory access to FromCardCache during GC (original) (raw)
Thomas Schatzl thomas.schatzl at oracle.com
Thu Mar 31 10:25:49 UTC 2016
- Previous message (by thread): RFR (XXS): "Preserve CM refs" log message disconnected from "Parallel Preserve CM refs"
- Next message (by thread): RFR (S): 8148099: Improve memory access to FromCardCache during GC
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi all,
can I have reviews for this change that improves memory access to the from card cache during the GC pauses?
Instead of having an array that is #threads times #regions, use a #regions times #threads layout. This changes the access pattern during clearing the entries for a particular region when it is freed from many single accesses with a large stride to linear memory writes.
This statistically significantly improves performance of the entire affected phase (free cset) on large machines (large # of threads, and particularly many regions in the collection set).
During the mutator phase there is no difference (it is lost in the noise), as all accesses during that time are single-element read/write anyway.
CR: https://bugs.openjdk.java.net/browse/JDK-8148099 Webrev: http://cr.openjdk.java.net/~tschatzl/8148099/webrev/ Testing: jprt, vm.gc, some internal micro-benchmarks. Running for a long time (long before the CR has been filed) on many internal builds and benchmark runs.
Thanks, Thomas
- Previous message (by thread): RFR (XXS): "Preserve CM refs" log message disconnected from "Parallel Preserve CM refs"
- Next message (by thread): RFR (S): 8148099: Improve memory access to FromCardCache during GC
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]