-
Notifications
You must be signed in to change notification settings - Fork 5.8k
8273433: Enable parallelism in vmTestbase_nsk_sysdict tests #5389
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
8273433: Enable parallelism in vmTestbase_nsk_sysdict tests #5389
Conversation
👋 Welcome back shade! A progress list of the required criteria for merging this PR into |
Mailing list message from David Holmes on hotspot-runtime-dev: Hi Aleksey, On 7/09/2021 11:24 pm, Aleksey Shipilev wrote:
I (or someone) will to need to check the history here. There's always a Thanks, |
Please do. |
I suspect it was simply the fact that these were stress tests that resulted in them being executed in isolation. Otherwise if the concurrency level is just wrong I would expect these to cause intermittent failures when run in parallel. I will ask Misha to respond here (can't locate his OpenJDK tag :( ). |
I'm also concerned that hard-wiring this sort of thing is never going to make everyone happy. Probably what we need is a way to disable "exclusiveDirs" processing on the jtreg command-line ... though that would need some finer-level of control to make it useful. |
Yeah, I generally agree with this. Blind parallelism improvements should not be done, and we should only allow the stress tests that are not heavy on resources to run in parallel. The tests affected in this PR seem to be rather short, effectively single-threaded, and memory-dense tests, so they seem to qualify for this kind of relaxation. I'll wait for Misha to respond. |
Thanks Alexey. I will run some tests, look into history of tests and will get back to you with my findings tonight (PST) or tomorrow. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The internal history of the change that restricted parallelism for this test set indicates that it was a wide reaching change covering a wide set of stress tests. Based on Aleksey's comment in the PR the tests "seem to be rather short, effectively single-threaded, and memory-dense tests, so they seem to qualify for this kind of relaxation." I tend to agree with his assessment.
I have also executed these tests with the change on 5 different platforms, 100 times on each platform, and found no issues. The change looks good to me.
@shipilev This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 38 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
OK, good, thanks for testing, @mseledts! I'll be on lookout if these tests start to misbehave after this relaxation. /integrate |
Going to push as commit 5ca26cb.
Your commit was automatically rebased without conflicts. |
Current
vmTestbase_nsk_sysdict
suite contains about 20 tests, each running exclusively. There seem to be no reason to run them exclusively, though: they complete in reasonable time, are single-threaded, and consume the usual amount of memory.We should consider enabling parallelism for them and get improved test performance. Currently it is blocked by
TEST.properties
withexclusiveAccess.dirs
directives in them.Motivational performance improvements below.
Before:
After:
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/5389/head:pull/5389
$ git checkout pull/5389
Update a local copy of the PR:
$ git checkout pull/5389
$ git pull https://git.openjdk.java.net/jdk pull/5389/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 5389
View PR using the GUI difftool:
$ git pr show -t 5389
Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/5389.diff