RFR: 8252221: Use multiple workers for Parallel GC pre-touching

Amit Pawar github.com+71302734+amitdpawar at openjdk.java.net
Tue Oct 13 15:58:12 UTC 2020


On Tue, 13 Oct 2020 13:48:10 GMT, Amit Pawar <github.com+71302734+amitdpawar at openjdk.org> wrote:

>> Hi Thomas,
>> 
>> I have fixed the build issue and also updated the PR with suggested changes. Thanks for testing and please check now.
>> 
>> Thanks,
>> Amit
>
> Hi Thomas,
> 
> Thanks for the your feedback and testing and good to hear that it passed 70%.
> 
> PR is updated as per your suggestions and please check.
> 
> I have another suggestion regarding "PreTouchParallelChunkSize" flag.
> The default value looks huge and reducing this value to 128MB improved startup time for both G1GC and ParallelGC.
> Tested same with 1TB memory and please see the results below.
> 
> ParallelGC = 0.5-1 sec.
> G1GC = 2-3 sec
> 
> Also, the minimum value allowed is '1' and it should be similar to page size right ?
> 
> Please check.
> 
> Thanks,
> Amit

Sorry for the confusion and here is how I tested

Command:
time
./jdk/bin/java -XX:+AlwaysPreTouch -XX:-UseParallelGC  -Xmx900g -Xms900g -Xmn800g -XX:SurvivorRatio=400 -Xlog:gc*=debug:file=gc.log -XX:ParallelGCThreads=128  -XX:PreTouchParallelChunkSize=1g  -version

G1GC Test
ChunkSize= 1GB       : Real time taken = 17.68s
ChunkSize= 128MB  : Real time ttaken = 14.8s

ParallelGC Test
ChunkSize= 1GB       : Real time taken = 13.54s
ChunkSize= 128MB  : Real time taken = 12.8s

I hope this helps.

Thanks,
Amit

-------------

PR: https://git.openjdk.java.net/jdk/pull/180



More information about the hotspot-gc-dev mailing list