corretto-17 icon indicating copy to clipboard operation
corretto-17 copied to clipboard

Feedback Collection for Corretto-Lilliput

Open yishaigalatzer opened this issue 2 years ago • 9 comments

If you have tried the nightly build of Corretto-17 of Lilliput (or any other one - OpenJDK, JDK-tip). Please share your experience, with us in a comment.

Feel free to share as a little or as much as you can, we are mostly looking for:

  1. Reduction of memory utilization
  2. Throughput improvements (or regressions)
  3. Latency improvement (or regressions) at various percentiles
  4. Other metrics changing (positively or negatively)
  5. Did you run under full load at conditions similar to production
  6. Version, and flags used
  7. If you see regressions, do they appear on specific code paths? are you able to share the pattern/sample code?

yishaigalatzer avatar Jan 12 '23 00:01 yishaigalatzer

Hope that will help. We executed our load test tool XLT reporting generator on a larger data set (6.5 GB compressed, 59 GB uncompressed data) on a 16-core Google Cloud C2 machine. JDK 17.0.5 for comparison. Xmx4g with StringDeduplication and G1, no other special flags. About 5 sec faster. The GC final exit output might indicate better overall memory usage. I can provide full logs if desired. No regressions noticed.

image

rschwietzke avatar Jan 13 '23 21:01 rschwietzke

Here are the GC stats. I used GCEasy because I was too lazy to look for something different. I hope that helps.

  • 17.4.0.1 Tem: https://gceasy.io/my-gc-report.jsp?p=c2hhcmVkLzIwMjMvMDEvMTQvZ2MtMTcuMC40LXRlbS5sb2ctLTEwLTktMzY=&channel=WEB
  • Lilli: https://gceasy.io/my-gc-report.jsp?p=c2hhcmVkLzIwMjMvMDEvMTQvZ2MtMTctbGlsbGkubG9nLS0xMC0xNC0zMA==&channel=WEB

These are not the runs from above, but should still produce the same "trend". Let me know if you need more. Logs below.

gc-17.0.4-tem.log gc-17-lilli.log

rschwietzke avatar Jan 14 '23 10:01 rschwietzke

Second example using the old version of the software that uses Strings heavily (the new one uses its own CharBuffer to minimize copy operations). Uses a T14s AMD laptop, only real cores assigned to the process.

image

gc-17-lilli-xlt6.5.log gc-17-xlt65.log

And the GCEasy links:

  • 17.0.4: https://gceasy.io/diamondgc-report.jsp?oTxnId_value=3d6e76da-bb70-48ab-ac6f-cf84d7780eb4
  • Lilli: https://gceasy.io/diamondgc-report.jsp?oTxnId_value=944c8c7c-67f8-4691-be14-626c5b7a0fc0

Summary: Slightly faster, less allocations.

rschwietzke avatar Jan 14 '23 13:01 rschwietzke

I downloaded the latest nightly build version of corretto-17, in order to experience lilliput, but there is no jvm option

-XX:+UseCompactObjectHeaders

Please tell me how to enable lilliput , thank you . @yishaigalatzer

changchengqin avatar Sep 01 '23 14:09 changchengqin

Lilliput support is currently on its own branch, even in nightlies - can you confirm that the build you downloaded is on the Lilliput branch?

benty-amzn avatar Sep 01 '23 15:09 benty-amzn

yes. @benty-amzn image Still can't find this option. image

changchengqin avatar Sep 06 '23 09:09 changchengqin

I believe this flag is just gated behind -XX:+UnlockExperimentalVMOptions:

java -XX:+PrintFlagsFinal -XX:+UnlockExperimentalVMOptions -version | grep Compact
     bool CompactStrings                           = true                                   {pd product} {default}
    uintx HeapFirstMaximumCompactionCount          = 3                                         {product} {default}
    uintx HeapMaximumCompactionInterval            = 20                                        {product} {default}
     uint MarkSweepAlwaysCompactCount              = 4                                         {product} {default}
     bool UseCompactObjectHeaders                  = false                          {experimental lp64_product} {default}
     bool UseMaximumCompactionOnSystemGC           = true                                      {product} {default}
openjdk version "17.0.9" 2023-09-06
OpenJDK Runtime Environment Corretto-17.0.9.5.1 (build 17.0.9+5-Nightly)
OpenJDK 64-Bit Server VM Corretto-17.0.9.5.1 (build 17.0.9+5-Nightly, mixed mode, sharing)

benty-amzn avatar Sep 06 '23 18:09 benty-amzn

thank you @benty-amzn

changchengqin avatar Sep 08 '23 08:09 changchengqin

OpenJDK 64-Bit Server VM warning: ZGC does not work with compact object headers, disabling UseCompactObjectHeaders

Currently, lilliput cannot work with zgc.When is expected to be able to?

changchengqin avatar Sep 11 '23 07:09 changchengqin