RFR (M): 8027476: Improve performance of Stringtable unlink, 8027455: Improve symbol table scan times during gc pauses (original) (raw)
Thomas Schatzl thomas.schatzl at oracle.com
Fri Jan 10 09:27:49 UTC 2014
- Previous message (by thread): Better default for ParallelGCThreads and ConcGCThreads by using number of physical cores and CPU mask.
- Next message (by thread): RFR (M): 8027476: Improve performance of Stringtable unlink, 8027455: Improve symbol table scan times during gc pauses
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi all,
could I have reviews for the following performance change?
It implements parallelization of string table and symbol table scan during G1 full GC and remark.
This decreases the respective string table/symbol table scan times almost linearly depending on the number of threads used.
The change is quite straightforward, similar to string table scan during initial mark there are new possibly_parallel_unlink() methods for both string and symbol table, that are later used in a new taskset.
Task distribution works as before, using a single claim value for each of the tables (reusing the one for the string table) on the hash table array.
The impact on total remark/full gc time is significant, in conjunction with JDK-8027454 (RFR coming soon) remark time is halved.
I decided to merge these two fixes into a single webrev because these two things are closely related, and the shared code between the two issues is very large, and the actual code to implement one or the other is small and easily understood (imo). Splitting would add lots of code that would first need to be added and then removed again too.
I filed two follow-up CRs to use these new methods in the other parallel collectors too (JDK-8031473), and another one for fine-tuning (JDK-8031472) some parameters.
Webrev: http://cr.openjdk.java.net/~tschatzl/8027476/webrev
CRs: https://bugs.openjdk.java.net/browse/JDK-8027455 https://bugs.openjdk.java.net/browse/JDK-8027476
Testing: test case, jtreg, FMW apps, specjbb2005, specjbb2013, dacapo, and lots of other testing in the recent months
Thanks, Thomas
- Previous message (by thread): Better default for ParallelGCThreads and ConcGCThreads by using number of physical cores and CPU mask.
- Next message (by thread): RFR (M): 8027476: Improve performance of Stringtable unlink, 8027455: Improve symbol table scan times during gc pauses
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]