-
Notifications
You must be signed in to change notification settings - Fork 720
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement initial RAM class persistence feature
With the motivation of reducing startup time, this patch implements initial support for a mechanism to persist RAM classes to disk during a training run and load the persisted snapshot on subsequent identical production runs. Towards this goal, this patch: - Identifies an -Xsnapshot= command-line option that enables the snapshotting functionality and takes a string parameter that specifies a file path where the snapshot image is/will be. - Adds SnapshotFileFormat.h file that specifies the format of the snapshot image that is persisted to disk. It describes the J9JavaVM members that are supported, namely immortal J9ClassLoader objects and the J9Class objects that they load. - Adds the VMSnapshotImpl files that specify and implement the snapshotting API and include suballocators wherein the data to include within a snapshot is allocated. - Ensures correct allocation/initialization of the immortal J9ClassLoaders and memory segments snapshotting and restoring. - Enables taking a snapshot on VM shutdown, and restoring during startup. Co-authored-by: Tobi Ajila <[email protected]> Co-authored-by: Babneet Singh <[email protected]> Co-authored-by: Nathan Henderson <[email protected]> Signed-off-by: Nathan Henderson <[email protected]>
- Loading branch information
1 parent
a08b536
commit 85a3135
Showing
30 changed files
with
2,237 additions
and
102 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.