From 70588af8d50313071291d93e3cee6a876f7f2a26 Mon Sep 17 00:00:00 2001 From: rkondziolka Date: Wed, 11 May 2022 08:44:33 +0200 Subject: [PATCH] Add -XX:+UnlockDiagnosticVMOptions and -XX:+UseAESCTRIntrinsics This PR adds options -XX:+UnlockDiagnosticVMOptions and -XX:+UseAESCTRIntrinsics to the JVM's options to enable intrinsic support for AES CTR/GCM on ARM64. It improves performance of network communication with S3 a lot on graviton instances. It's enabled in Java 18 by default, which is already released. Therefore risk is minimal. In latest Java (OpenJDK) versions the performance of AES CTR/GCM for AARCH64 was significally improved and it was backported to OpenJDK 11. Backport PR: openjdk/jdk11u-dev#410. Some additional explanation is here: aws/aws-graviton-getting-started#110 (comment) The original OpenJDK issue is here: https://bugs.openjdk.java.net/browse/JDK-8267993 To use that backport we need to enable it explicitly by enabling -XX:+UnlockDiagnosticVMOptions and -XX:+UseAESCTRIntrinsics. It was not enabled by default in the backport because of conservative approach. --- charts/trino/templates/configmap-coordinator.yaml | 2 ++ charts/trino/templates/configmap-worker.yaml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/charts/trino/templates/configmap-coordinator.yaml b/charts/trino/templates/configmap-coordinator.yaml index 90eb6a3a..63bd8ab6 100644 --- a/charts/trino/templates/configmap-coordinator.yaml +++ b/charts/trino/templates/configmap-coordinator.yaml @@ -32,6 +32,8 @@ data: -XX:PerMethodRecompilationCutoff=10000 -XX:PerBytecodeRecompilationCutoff=10000 -Djdk.nio.maxCachedBufferSize=2000000 + -XX:+UnlockDiagnosticVMOptions + -XX:+UseAESCTRIntrinsics {{- range $configValue := .Values.coordinator.additionalJVMConfig }} {{ $configValue }} {{- end }} diff --git a/charts/trino/templates/configmap-worker.yaml b/charts/trino/templates/configmap-worker.yaml index 4c9abb7b..9ba0b8cb 100644 --- a/charts/trino/templates/configmap-worker.yaml +++ b/charts/trino/templates/configmap-worker.yaml @@ -33,6 +33,8 @@ data: -XX:PerMethodRecompilationCutoff=10000 -XX:PerBytecodeRecompilationCutoff=10000 -Djdk.nio.maxCachedBufferSize=2000000 + -XX:+UnlockDiagnosticVMOptions + -XX:+UseAESCTRIntrinsics {{- range $configValue := .Values.worker.additionalJVMConfig }} {{ $configValue }} {{- end }}