openj9-website icon indicating copy to clipboard operation
openj9-website copied to clipboard

Update latest release section for 0.46.0

Open Sreekala-Gopakumar opened this issue 1 year ago • 9 comments
trafficstars

What's New update for the website, for 0.46.0 (August 2024)

Sreekala-Gopakumar avatar Jun 10 '24 03:06 Sreekala-Gopakumar

First draft (0.45.0 content is live at https://www.eclipse.org/openj9). Note: this isn't an exhaustive list of all the changes, just the main ones:

Eclipse OpenJ9 version 0.46.0 released

August 2024

We're pleased to announce the availability of Eclipse OpenJ9™ v0.46.0.

This release supports OpenJDK 8, 11, 17, 21, and 22. For more information about supported platforms and OpenJDK versions, see Supported environments.

Other updates in this release include the following:

  • OpenSSL native cryptographic support is added for the MD5 message digest algorithm, providing improved cryptographic performance.
  • The OpenJ9 VM implementation supports measurement of the total memory allocation for all threads (com.sun.management.ThreadMXBean.getTotalThreadAllocatedBytes() API).
  • The JITServer AOT caching feature is enabled by default at the JITServer server. The client still needs the -XX:+JITServerUseAOTCache option, but it no longer relies on the presence of a shared class cache to take advantage of this feature.
  • A new option, -XX:[+|-]EnableExtendedHCR is added to enable or disable the extended Hot Code Replace (HCR) capability in the VM.
  • A new option, -XX:[+|-]ShareOrphans is added to enable class sharing from all class loaders, irrespective of whether the class loader implements the shared classes cache API.
  • A new option, -XdynamicHeapAdjustment option is added to automatically adjust the maximum and minimum Java heap sizes such that they are within the physical memory limitations on the checkpoint and restore systems.

To read more about these and other changes, see the OpenJ9 user documentation.

Performance highlights include:

  • Performance improvements to object and array allocation sequences on X86.
  • Performance improvements to array copying sequences on X86.
  • VarHandle performance improvements because of support for inlining VarHandle operations.

Sreekala-Gopakumar avatar Jun 10 '24 04:06 Sreekala-Gopakumar

@pshipton @vijaysun-omr - Are there any performance updates that you want to highlight in the website? Any other what's new update to be added here? Thanks!

Sreekala-Gopakumar avatar Jul 22 '24 06:07 Sreekala-Gopakumar

To start with, a couple of statements.

Performance improvements to object and array allocation sequences on X86. Performance improvements to array copying sequences on X86.

@mpirvu please summarize anything from a general control viewpoint, as well as specific features like AOT caching. @nbhuiyan how would you characterize the method handle performance improvements in 1-4 sentences ?

fyi @0xdaryl and @hzongaro

vijaysun-omr avatar Jul 22 '24 11:07 vijaysun-omr

From a VM perspective, do we need to document the new option for storing more classes in the shared classes cache ? @hangshao0 and @tajila

vijaysun-omr avatar Jul 22 '24 11:07 vijaysun-omr

From a VM perspective, do we need to document the new option for storing more classes in the shared classes cache ?

Yes, we need to document that. The doc issue is https://github.com/eclipse-openj9/openj9-docs/issues/1330.

hangshao0 avatar Jul 22 '24 14:07 hangshao0

Suggested phrasing for the AOT cache feature: The JITServer AOT caching feature is enabled by default at the JITServer server. The client still needs the -XX:+JITServerUseAOTCache option, but it no longer relies on the presence of a shared class cache to take advantage of this feature.

mpirvu avatar Jul 22 '24 15:07 mpirvu

As for other performance improvements:

  • there was a small footprint improvement due to disclaiming of memory used for data caches and interpreter profiler
  • there was a small reduction in compilation overhead due to some inliner changes

Quantifying the amount of these improvement is hard because it depends on the benchmark being run. I am not sure whether we should call them out.

mpirvu avatar Jul 22 '24 15:07 mpirvu

As for other performance improvements:

  • there was a small footprint improvement due to disclaiming of memory used for data caches and interpreter profiler
  • there was a small reduction in compilation overhead due to some inliner changes

Quantifying the amount of these improvement is hard because it depends on the benchmark being run. I am not sure whether we should call them out.

I would prefer NOT to call these out at this time. Thanks for checking.

vijaysun-omr avatar Jul 22 '24 15:07 vijaysun-omr

how would you characterize the method handle performance improvements in 1-4 sentences ?

Support for inlining VarHandle operations resulting in major improvements in VarHandle performance.

nbhuiyan avatar Jul 22 '24 18:07 nbhuiyan

As for other performance improvements:

  • there was a small footprint improvement due to disclaiming of memory used for data caches and interpreter profiler
  • there was a small reduction in compilation overhead due to some inliner changes

Quantifying the amount of these improvement is hard because it depends on the benchmark being run. I am not sure whether we should call them out.

I would prefer NOT to call these out at this time. Thanks for checking.

@vijaysun-omr - So that means I don't have to mention these 2 points?

Sreekala-Gopakumar avatar Aug 06 '24 05:08 Sreekala-Gopakumar

To start with, a couple of statements.

Performance improvements to object and array allocation sequences on X86. Performance improvements to array copying sequences on X86.

@mpirvu please summarize anything from a general control viewpoint, as well as specific features like AOT caching. @nbhuiyan how would you characterize the method handle performance improvements in 1-4 sentences ?

fyi @0xdaryl and @hzongaro

@vijaysun-omr - Is it clear enough to write "X86"?

Sreekala-Gopakumar avatar Aug 06 '24 06:08 Sreekala-Gopakumar

how would you characterize the method handle performance improvements in 1-4 sentences ?

Support for inlining VarHandle operations resulting in major improvements in VarHandle performance.

@nbhuiyan @vijaysun-omr - Would the users understand this statement? Sounds very technical and vague to me but if everybody's of the opinion that the users will understand this then I will write it as

VarHandle performance improvements because of support for inlining VarHandle operations.

Is that fine?

Sreekala-Gopakumar avatar Aug 06 '24 06:08 Sreekala-Gopakumar

VarHandle performance improvements because of support for inlining VarHandle operations.

Yes, this works too.

nbhuiyan avatar Aug 07 '24 15:08 nbhuiyan

How about just "Improved VarHandle performance" ? I doubt our users care why it specifically improved...

mstoodle avatar Aug 07 '24 20:08 mstoodle

And..."Improved allocation and arraycopy instruction sequences for X86" ?

mstoodle avatar Aug 07 '24 20:08 mstoodle

How about just "Improved VarHandle performance" ? I doubt our users care why it specifically improved...

I agree. @Sreekala-Gopakumar Please update the VarHandle note in eclipse-openj9/openj9-website-publish#16 if you also agree with removing this detail.

nbhuiyan avatar Aug 07 '24 20:08 nbhuiyan

And..."Improved allocation and arraycopy instruction sequences for X86" ?

Is it clear enough to write "X86"? Is it something that the developers use internally or is there some other term that we can use that is clearer?

Sreekala-Gopakumar avatar Aug 08 '24 01:08 Sreekala-Gopakumar

Website updated with the 0.46.0 release updates (10 August 2024) https://eclipse.dev/openj9/

Sreekala-Gopakumar avatar Sep 04 '24 04:09 Sreekala-Gopakumar