Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feedback Collection for Corretto-Lilliput #109

Open
yishaigalatzer opened this issue Jan 12, 2023 · 9 comments
Open

Feedback Collection for Corretto-Lilliput #109

yishaigalatzer opened this issue Jan 12, 2023 · 9 comments
Assignees
Labels
question Further information is requested

Comments

@yishaigalatzer
Copy link

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 yishaigalatzer self-assigned this Jan 12, 2023
@yishaigalatzer yishaigalatzer added the question Further information is requested label Jan 12, 2023
@rschwietzke
Copy link

rschwietzke commented Jan 13, 2023

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
Copy link

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

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
Copy link

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:

Summary: Slightly faster, less allocations.

@changchengqin
Copy link

changchengqin commented Sep 1, 2023

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

@benty-amzn
Copy link
Contributor

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

@changchengqin
Copy link

changchengqin commented Sep 6, 2023

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

@benty-amzn
Copy link
Contributor

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)

@changchengqin
Copy link

thank you
@benty-amzn

@changchengqin
Copy link

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants