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

Update latest release section for 0.48.0 #368

Open
Sreekala-Gopakumar opened this issue Oct 21, 2024 · 33 comments
Open

Update latest release section for 0.48.0 #368

Sreekala-Gopakumar opened this issue Oct 21, 2024 · 33 comments
Assignees

Comments

@Sreekala-Gopakumar
Copy link
Contributor

What's New update for the website, for 0.48.0 (November 2024)

@Sreekala-Gopakumar Sreekala-Gopakumar self-assigned this Oct 21, 2024
@Sreekala-Gopakumar
Copy link
Contributor Author

Sreekala-Gopakumar commented Oct 21, 2024

First draft (0.47.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.48.0 released

November 2024

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

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

Other updates in this release include the following:

  • JDWP support on Checkpoint/Restore In Userspace (CRIU) restore is enabled. A new parameter suspendOnRestore for the -Xrunjdwp option, is added to control the suspension of the target VM application on restore.

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

Performance highlights include:

  • Performance of java.lang.System.arraycopy on x86 is improved.
  • Performance of java.util.Arrays.hashCode operating on arrays of type byte, char, short and int is improved on z for OpenJDK versions 21 and 23.
  • Performance of java.lang.Object.clone operations on arrays is improved on all platforms and versions.
  • Accessing instance fields through methods of the Unsafe classes is improved.
  • Performance of code operating on static final fields of primitive types is improved.
  • VarHandle performance is improved.

@Sreekala-Gopakumar
Copy link
Contributor Author

@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!

@pshipton
Copy link
Member

@tajila anything from you?

@vijaysun-omr
Copy link
Contributor

I believe this release includes improvements for the arraycopy, unsafe, and clone intrinsics. @hzongaro, @knn-k and @0xdaryl please confirm or correct this, and add any other intrinsics to the list if we have made enhancements in this 0.48 release.

@vijaysun-omr
Copy link
Contributor

@nbhuiyan and @jdmpapin did any additional MH performance improvements make it into 0.48 ?

@vijaysun-omr
Copy link
Contributor

@mpirvu @r30shah @zl-wang in case there is more to add on any other front

@knn-k
Copy link

knn-k commented Oct 30, 2024

I have nothing to add in the v0.48 release notes.

@mpirvu
Copy link

mpirvu commented Oct 30, 2024

Nothing to add from my side.

@r30shah
Copy link

r30shah commented Oct 30, 2024

I also have nothing to add in 0.48.

@zl-wang
Copy link

zl-wang commented Oct 30, 2024

me neither.

@hzongaro
Copy link
Member

I believe this release includes improvements for the arraycopy, unsafe, and clone intrinsics.

Yes, that's correct.

Is it worth mentioning more aggressive static final field folding PR 19699 and on Z, ArraysSupport.vectorizedHashCode PR 19455.

@vijaysun-omr
Copy link
Contributor

vijaysun-omr commented Oct 30, 2024

I think it can be mentioned. Are you able to craft a sentence at a suitably high level about static final field folding (fit for consumption externally) ? You may want to just fold the vectorizedHashCode part into the sentence we have already about optimizing some Java intrinsics that we name.

@jdmpapin
Copy link

jdmpapin commented Oct 30, 2024

#19699 was in 0.47

I don't see any MH performance improvements that made it into 0.48 from either Nazim or me

@hzongaro
Copy link
Member

#19699 was in 0.47

That's true, as were some of the other improvements that @vijaysun-omr mentioned. However, that release was only for Java 23, so I was thinking it would still be helpful to mention this in the 0.48.0 release notes, as it covers all supported versions.

@jdmpapin
Copy link

Oh, sorry, in that case since 0.46 we have #19234 (which was reverted but then restored in #19566) to speed up unsafe accesses in VarHandle operations

@Sreekala-Gopakumar
Copy link
Contributor Author

@hzongaro @jdmpapin @vijaysun-omr - Could you please share the content that I should add in the performance highlights section for the 0.48.0 release. Thanks!

@hzongaro
Copy link
Member

hzongaro commented Nov 5, 2024

Could you please share the content that I should add in the performance highlights section for the 0.48.0 release

Sorry for the delay. I started crafting some text yesterday, and I will post it in a few hours . . .

@hzongaro
Copy link
Member

hzongaro commented Nov 5, 2024

@Sreekala-Gopakumar, I tried to keep the descriptions very brief, modeling them on those from previous releases.

  • Performance of java.lang.System.arraycopy on X86 is improved.
  • Performance of java.util.Arrays.hashCode operating on arrays of type byte, char, short and int is improved on z for OpenJDK versions 21 and 23.
  • Performance of java.lang.Object.clone operations on arrays is improved on all platforms and versions.
  • Accessing instance fields through methods of the Unsafe classes is improved.
  • Performance of code operating static final fields of primitive types is improved.
  • VarHandle performance is improved.

@vijaysun-omr, @jdmpapin, any suggestions for clarity or correctness?

@vijaysun-omr
Copy link
Contributor

I think that is good, thanks @hzongaro

The only minor edit may be "operating static final" may be "operating on static final"

@Sreekala-Gopakumar
Copy link
Contributor Author

Sreekala-Gopakumar commented Nov 6, 2024

Thanks, @hzongaro!

In the following sentence, does z refers to Linux on IBM Z or z/OS?

Performance of java.util.Arrays.hashCode operating on arrays of type byte, char, short and int is improved on z for OpenJDK versions 21 and 23.

@vijaysun-omr
Copy link
Contributor

I believe it is both Linux on Z and z/OS

@Sreekala-Gopakumar
Copy link
Contributor Author

I believe it is both Linux on Z and z/OS

so, is it ok to say just "z"?

Sreekala-Gopakumar added a commit to Sreekala-Gopakumar/openj9-website-publish that referenced this issue Nov 6, 2024
eclipse-openj9/openj9-website#368

Updated latest release section for 0.48.0 in website.

Closes #368
Signed-off-by: Sreekala Gopakumar <[email protected]>
@hzongaro
Copy link
Member

hzongaro commented Nov 6, 2024

So, is it ok to say just "z"?

IBM would probably say no, it's not OK. I was just trying to follow along with what was done for "X86", where the operating system could be Linux, Windows and MacOS. Is there some precedent from previous releases?

@Sreekala-Gopakumar
Copy link
Contributor Author

Sreekala-Gopakumar commented Nov 6, 2024

So, is it ok to say just "z"?

IBM would probably say no, it's not OK. I was just trying to follow along with what was done for "X86", where the operating system could be Linux, Windows and MacOS. Is there some precedent from previous releases?

I couldn't find any precedent for this. Is there some way we can rephrase it? Something like "...improved on z microarchitecture on all platforms..."? or anything other suitable term?

@r30shah
Copy link

r30shah commented Nov 6, 2024

IBM would probably say no, it's not OK. I was just trying to follow along with what was done for "X86", where the operating system could be Linux, Windows and MacOS. Is there some precedent from previous releases?

If we are not using Linux on IBM Z and z/OS, may be on IBM z13 or newer architecture on all platforms : Reason I mentioned IBM z13 is that it uses vector registers which became available on z13 or newer.

@jdmpapin
Copy link

jdmpapin commented Nov 6, 2024

VarHandle performance is improved.

If this is referring to #19234, it only benefits the OpenJDK java.lang.invoke package, so JDK 17+. Should the wording reflect that?

@hzongaro
Copy link
Member

hzongaro commented Nov 6, 2024

If this is referring to eclipse-openj9/openj9#19234, it only benefits the OpenJDK java.lang.invoke package, so JDK 17+. Should the wording reflect that?

Thanks for pointing that out. So perhaps:

  • VarHandle performance is improved for OpenJDK versions 17, 21 and 23

@jdmpapin
Copy link

jdmpapin commented Nov 6, 2024

I think actually we should just say 17 and 21. Since that change was in 0.47 as well, Java 23 should have already had it from the beginning

@Sreekala-Gopakumar
Copy link
Contributor Author

Sreekala-Gopakumar commented Nov 6, 2024

IBM would probably say no, it's not OK. I was just trying to follow along with what was done for "X86", where the operating system could be Linux, Windows and MacOS. Is there some precedent from previous releases?

If we are not using Linux on IBM Z and z/OS, may be on IBM z13 or newer architecture on all platforms : Reason I mentioned IBM z13 is that it uses vector registers which became available on z13 or newer.

@hzongaro @r30shah - So, can I go ahead with

"Performance of java.util.Arrays.hashCode operating on arrays of type byte, char, short and int is improved on IBM z13 or newer architecture on all platforms for OpenJDK versions 21 and 23."?

@r30shah
Copy link

r30shah commented Nov 7, 2024

"Performance of java.util.Arrays.hashCode operating on arrays of type byte, char, short and int is improved on IBM z13 or newer architecture on all platforms for OpenJDK versions 21 and 23."?

Hi @Sreekala-Gopakumar , I think looks fine to me. Will wait for @hzongaro to confirm if he is OK with this or not.

@hzongaro
Copy link
Member

hzongaro commented Nov 7, 2024

Will wait for @hzongaro to confirm if he is OK with this or not.

That looks good to me as well. Thanks!

Sreekala-Gopakumar added a commit to Sreekala-Gopakumar/openj9-website-publish that referenced this issue Nov 7, 2024
eclipse-openj9/openj9-website#368

Updated latest release section for 0.48.0 in website. Incorporated feedback.

Closes #368
Signed-off-by: Sreekala Gopakumar <[email protected]>
@Sreekala-Gopakumar
Copy link
Contributor Author

Sreekala-Gopakumar commented Nov 7, 2024

@pshipton @hzongaro @vijaysun-omr @r30shah @jdmpapin - I have incorporated the feedback. Please check and confirm. Thanks!

eclipse-openj9/openj9-website-publish#21

@pshipton
Copy link
Member

pshipton commented Nov 7, 2024

Pls include the 0.47 update for 0.48, since this is the first release of Java 8-21 where it's available.

Sreekala-Gopakumar added a commit to Sreekala-Gopakumar/openj9-website-publish that referenced this issue Nov 8, 2024
eclipse-openj9/openj9-website#368

Updated latest release section for 0.48.0 in website. Incorporated feedback. Added 0.47.0 change which is now available in OpenJDK 8, 11, 17, and 21 as well.

Closes #368
Signed-off-by: Sreekala Gopakumar <[email protected]>
Sreekala-Gopakumar added a commit to Sreekala-Gopakumar/openj9-website-publish that referenced this issue Nov 8, 2024
eclipse-openj9/openj9-website#368

Updated latest release section for 0.48.0 in website. Incorporated feedback. Added 0.47.0 change which is now available in OpenJDK 8, 11, 17, and 21 as well.

Closes #368
Signed-off-by: Sreekala Gopakumar <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants