You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Valentyn Tymofieiev (Jira)" <ji...@apache.org> on 2021/11/22 16:44:00 UTC
[jira] [Comment Edited] (BEAM-13073) Unexpected GC when using Java 11
[ https://issues.apache.org/jira/browse/BEAM-13073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17447527#comment-17447527 ]
Valentyn Tymofieiev edited comment on BEAM-13073 at 11/22/21, 4:43 PM:
-----------------------------------------------------------------------
It appears that this change caused a performance regression for Java 11: see [graphs | http://metrics.beam.apache.org/d/MOi-kf3Zk/pardo-load-tests?orgId=1&var-processingType=batch&var-sdk=java&from=now-80d&to=now ] or attachment.
Would someone be able to A/B test the benchmark with and without this change to confirm?
It looks like the change was intentional, so perhaps we are making a tradeoff - in which case it would be good to confirm that the tradeoff is justified and we can proceed with the change.
!perf_regression_java_11.png!
was (Author: tvalentyn):
It appears that this change caused a performance regression for Java 11: see [graphs | http://metrics.beam.apache.org/d/MOi-kf3Zk/pardo-load-tests?orgId=1&var-processingType=batch&var-sdk=java&from=now-80d&to=now ] or attachment.
Would someone be able to A/B test the benchmark with and without this change to confirm?
It looks like the change was intentional, so perhaps we are making a tradeoff - in which case it would be good to confirm that the tradeoff is !perf_regression_java_11.png! justified and we can proceed with the change.
> Unexpected GC when using Java 11
> --------------------------------
>
> Key: BEAM-13073
> URL: https://issues.apache.org/jira/browse/BEAM-13073
> Project: Beam
> Issue Type: Bug
> Components: sdk-java-harness
> Reporter: Luis
> Assignee: Kenneth Knowles
> Priority: P2
> Labels: java11, java9, performance
> Fix For: 2.35.0
>
> Attachments: perf_regression_java_11.png
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> Beam SDK has been supporting Java 11 for a while (I guess the support was introduced here https://issues.apache.org/jira/browse/BEAM-2530). Unfortunately, in Spotify we are still experiencing performance issues when using Beam SDK 2.32, Google Dataflow and Java 11.
> Thanks to [~emilyye] and [~iht], they confirmed JVM 11 is using SerialGC, while Java 8 uses ParallelGC. It sound like SerialGC a good option for high throughput / low latency jobs. For Java11 we'd expect to use G1GC or ParallelGC.
> This SO question [1] clarifies that JVM choses SerialGC when it treats the machine as a "client". It looks like the Java SDK container could benefit from using `-XX:+AlwaysActAsServerClassMachine`. Is that correct?
> Let me know if the ticket needs further context or adjustment. (It is my first time creating a ticket here).
> [1] https://stackoverflow.com/questions/52474162/why-is-serialgc-chosen-over-g1gc
--
This message was sent by Atlassian Jira
(v8.20.1#820001)