IP Library › Granted Patent US 11,954,510
Granted Patent B2
US 11,954,510 · App. 17/130,968 · Granted Apr 9, 2024

Native-image in-memory cache for containerized ahead-of-time applications

Inventors: Francesco Nigro (Milan, IT); Roderick Noel Kieley (St. John's, CA)
Assignee: Red Hat, Inc.
G06F9/45558G06F9/44589G06F9/544G06F2009/45579
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,954,510
App. No.
17/130,968
Granted
Apr 9, 2024
Kind
B2
Abstract

A method includes identifying an ahead-of-time (AOT) native-image application to be compiled and during AOT compilation of the AOT native-image application; bypassing an operating system page cache corresponding to the AOT native-image application; and accessing, by a processing device, the native-image application from an in-memory cache shared using inter-process-communication.

Claims (38)

1. A method, comprising:

identifying a containerized ahead-of-time (AOT) native-image application to be compiled; and

during AOT compilation of the containerized AOT native-image application:

bypassing an operating system page cache in kernel space, the operating system page cache corresponding to the containerized AOT native-image application; and

accessing, by a processing device, the containerized AOT native-image application from an in-memory cache in user space, the in-memory cache shared using inter-process-communication.

2. The method of claim 1 , wherein the containerized AOT native-image application is a containerized Java® application.

3. The method of claim 1 , wherein the containerized AOT native-image application is a Graal AOT native image.

4. The method of claim 3 , wherein the Graal AOT native image is to generate an immutable serialized heap snapshot file that is shared using copy-on-write memory mapping.

5. The method of claim 1 , further comprising determining that the containerized AOT native-image application is capable to produce an input/output (I/O) burst load exceeding a predetermined threshold.

6. The method of claim 1 , wherein the containerized AOT native-image application is indexed using an application identifier.

7. The method of claim 1 , further comprising:

saving physical memory corresponding to the containerized AOT native-image application across a plurality of containers; and

saving an initial I/O disk to a memory map corresponding to the containerized AOT native-image application.

8. The method of claim 1 , wherein the in-memory cache comprises a temporary file system-backed (tmpfs-backed) file-system.

9. A system, comprising:

an in-memory cache in user space, the in-memory cache to store containerized ahead-of-time (AOT) native-image application; and

a processing device operatively coupled to the in-memory cache, the processing device to:

identify the containerized AOT native-image application to be compiled; and

during AOT compilation of the containerized AOT native-image application:

bypass an operating system page cache in kernel space, the operating system page cache corresponding to the containerized AOT native-image application; and

access the containerized AOT native-image application from the in-memory cache shared using inter-process-communication.

10. The system of claim 9 , wherein the containerized AOT native-image application is a containerized Java® application.

11. The system of claim 9 , wherein the containerized AOT native-image application is a Graal AOT native image.

12. The system of claim 11 , wherein the Graal AOT native image is to generate an immutable serialized heap snapshot file that is shared using copy-on-write memory mapping.

13. The system of claim 9 , the processing device further to determine that the containerized AOT native-image application is capable to produce an input/output (I/O) burst load exceeding a predetermined threshold.

14. The system of claim 9 , wherein the containerized AOT native-image application is indexed using an application identifier.

15. The system of claim 9 , the processing device further to:

save physical memory corresponding to the containerized AOT native-image application across a plurality of containers; and

save an initial I/O disk to a memory map corresponding to the containerized AOT native-image application.

16. The system of claim 9 , wherein the in-memory cache comprises a temporary file system-backed (tmpfs-backed) file-system.

17. A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:

identify a containerized ahead-of-time AOT native-image application to be compiled; and

during AOT compilation of the containerized AOT native-image application:

bypass an operating system page cache in kernel space, the operating system page cache corresponding to the containerized AOT native-image application; and

access, by the processing device, the containerized AOT native-image application from an in-memory cache in user space, the in-memory cache shared using inter-process-communication.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the containerized AOT native-image application is a containerized Java® application.

19. The non-transitory computer-readable storage medium of claim 17 , wherein the containerized AOT native-image application is a Graal AOT native image.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the Graal AOT native image is to generate an immutable serialized heap snapshot file that is shared using copy-on-write memory mapping.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2023
From: NIGRO, FRANCESCO; KIELEY, RODERICK NOEL
To: RED HAT, INC.
Reel/Frame 063007/0245 →
Continuity (1)
Related Publication 20220197682A1 · Jun 23, 2022
Cited By (1)
US 12,705,032