-
Notifications
You must be signed in to change notification settings - Fork 722
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
Client Request Cached Methods List from JIT Server #20129
Client Request Cached Methods List from JIT Server #20129
Conversation
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.
I provided a partial review of the code.
1796628
to
0952284
Compare
Forgot to force-push, should be fine now |
dcc00d3
to
cf589c4
Compare
cf589c4
to
be50356
Compare
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.
Since the IDs of the various network messages has changed, we need to increment the minor version of the server.
Look how we do that in PR #19477 in file runtime/compiler/net/CommunicationStream.hpp
2fa5254
to
4f059f1
Compare
4f059f1
to
4b9803d
Compare
4b9803d
to
adfa1aa
Compare
dc57383
to
96b4e54
Compare
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.
LGTM.
Could you please obtain some rampup curves to see whether we do better by using this feature. Use AcmeAir, preferably in containers, if not then outside containers without a SCC.
jenkins compile all jdk17 |
jenkins test sanity xlinux zlinux jdk17 |
jenkins test sanity xlinuxjit zlinuxjit jdk17 |
jenkins test sanity xlinuxjit,zlinuxjit jdk17 |
Tests have passed, but there are conflicts which need to be resolved |
96b4e54
to
a6372b4
Compare
Added an option that makes the client request a list of cached methods from the server on bootstrap, and set the count for those methods as scount to improve rampup Signed-off-by: Luke Li <[email protected]>
a6372b4
to
882ac6c
Compare
jenkins test sanity zlinuxjit jdk21 |
Running without the option
|
Are these runs done in client mode? I don't see Also, the results for |
No, that data set was run without the JITServer |
I am willing to merge this code even though peak throughput is affected. Because of this, the new functionality will not be enabled by default. However, I wanted to make sure that the resulting JITServer configuration is not doing worse in the default case than the current master branch. Hence, the comparison should use JITServer and AOT cache, just don't provide the option that enables the new code. |
jenkins test sanity xlinuxjit jdk21 |
Running as the clients, the performance differences are negligible.
|
My 50x grinder on the test jdk_lang_j9 that failed on zlinuxjit passed apparently, though I see one timeout in the console log. |
#if defined(J9VM_OPT_JITSERVER) | ||
void *serverAOTMethodSet; | ||
UDATA serverAOTQueryThread; | ||
#endif // J9VM_OPT_JITSERVER |
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.
This code is included in C source files where //
does not legally begin a comment.
This line should instead be:
#endif /* defined(J9VM_OPT_JITSERVER) */
@luke-li-2003 Please see the comment from @keithc-ca and address it in a new PR. |
I already have a change that fixes that and cleans up other similar misuses: #20423. |
PR eclipse-openj9#20129 added two includes (for <string> and <includes>) that are only needed for JITServer specific code. Thus the two includes should be protected by #if defined(J9VM_OPT_JITSERVER) Signed-off-by: Marius Pirvu <[email protected]>
PR eclipse-openj9#20129 added two includes (for <string> and <vector>) that are only needed for JITServer specific code. Thus the two includes should be protected by #if defined(J9VM_OPT_JITSERVER) Signed-off-by: Marius Pirvu <[email protected]>
PR eclipse-openj9#20129 added two includes (for <string> and <vector>) that are only needed for JITServer specific code. Thus the two includes should be protected by #if defined(J9VM_OPT_JITSERVER) Signed-off-by: Marius Pirvu <[email protected]>
Added an option that makes the client request a list of cached methods from the server on bootstrap, and set the count for those methods as scount to improve rampup
Depends on eclipse-omr/omr#7458