From 19a7068990343d418cc7dc7aec4a8f50dd86cbd3 Mon Sep 17 00:00:00 2001 From: genie-openj9 Date: Wed, 25 Oct 2023 16:25:38 +0000 Subject: [PATCH] Generated from commit: e5c44a6dfc1967cda12fc0a42b18e9da9b9e0678 Signed-off-by: genie-openj9 --- jitserver_tuning/index.html | 4 +- search/search_index.json | 2 +- shrc/index.html | 2 +- sitemap.xml | 620 +++++++++++++++--------------- sitemap.xml.gz | Bin 2501 -> 2501 bytes version0.41/index.html | 2 +- xshareclasses/index.html | 10 +- xxjitserveruseaotcache/index.html | 2 +- xxportablesharedcache/index.html | 2 +- 9 files changed, 322 insertions(+), 322 deletions(-) diff --git a/jitserver_tuning/index.html b/jitserver_tuning/index.html index 49d1c52f77..1b7ee9696d 100644 --- a/jitserver_tuning/index.html +++ b/jitserver_tuning/index.html @@ -8301,7 +8301,7 @@

Client-session caches

JITServer AOT cache

The JITServer technology can cache AOT compiled methods at the server. - The JITServer can, therefore, avoid carrying out an AOT compilation when a compatible AOT method body already exists in the cache, thereby saving CPU resource and improving remote compilation latency. This mechanism works in conjunction with the dynamic AOT technology at the client and therefore the client needs to have the shared class cache (SCC) enabled (the SCC is the repository for the AOT code).

+ The JITServer can, therefore, avoid carrying out an AOT compilation when a compatible AOT method body already exists in the cache, thereby saving CPU resource and improving remote compilation latency. This mechanism works in conjunction with the dynamic AOT technology at the client and therefore the client needs to have the shared classes cache (SCC) enabled (the SCC is the repository for the AOT code).

When the JITServer receives an AOT compilation request, it checks its AOT cache for a compatible compiled method body. If one is not found, the server performs the AOT compilation, sends the response to the client JVM, then serializes the compiled method and stores it in its local AOT cache, for future use. If a compatible compiled method is found, the server sends the client the serialized compiled method from its cache, thus avoiding a compilation. The client deserializes the response, stores the result in its local SCC, and loads the compiled method as a regular dynamic AOT code.

To enable this feature, specify the -XX:+JITServerUseAOTCache command line option, both at the server and at the client JVM.

A JITServer instance can have several AOT caches, each with its own name. This addresses the situation when client JVMs with significantly different profiles of execution use the same JITServer instance. A client JVM can indicate a specific AOT cache it wants to use by providing its name with the following command-line option -XX:JITServerAOTCacheName=<cache_name>. If the client doesn't specify a name for the AOT cache, the server uses a cache named default.

@@ -8311,7 +8311,7 @@

JITServer AOT cache

  • The number of extra AOT methods added to the in-memory cache since the last save operation is equal to or more than the value specified by the -Xjit:aotCachePersistenceMinDeltaMethods=<number_of_methods> option (default value - 200 methods), and
  • The time passed since the last AOT cache save is equal to or later than the time specified by the -Xjit:aotCachePersistenceMinPeriodMs=<milliseconds> option (default time gap - 10000 milliseconds).
  • -

    If the JITServer AOT cache feature and the -Xshareclasses:readonly option are both enabled at the same time at a JITServer client, the shared class cache startup creates a temporary new (writable) top layer that the JITServer AOT cache can use to store data that it needs to function.

    +

    If the JITServer AOT cache feature and the -Xshareclasses:readonly option are both enabled at the same time at a JITServer client, the shared classes cache startup creates a temporary new (writable) top layer that the JITServer AOT cache can use to store data that it needs to function.

    Current limitation: