IP Library › Granted Patent US 10,359,971
Granted Patent B2
US 10,359,971 · App. 15/651,376 · Granted Jul 23, 2019

Storing memory profile data of an application in non-volatile memory

Inventors: Suprateeka Radhakrishna Hegde (Bangalore Karnataka, IN); Shridhar Prakash Joshi (Bangalore Karnataka, IN)
Assignee: Hewlett Packard Enterprise Development LP
G06F3/0659G06F3/0604G06F3/0661G06F3/0679G06F8/443G06F8/4441
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 10,359,971
App. No.
15/651,376
Granted
Jul 23, 2019
Kind
B2
Abstract

Some examples relate to storing memory profile data of an application in a non-volatile memory. In an example, source code of an application may be compiled into an instrumented code for generating profile data of the application. In an example, the profile data may include memory profile data related to memory usage of the application. Next, the profile data comprising the memory profile data of the application may be generated using the instrumented code. The application may be recompiled based on the profile data that includes the memory profile data of the application. Data for storing in a non-volatile memory (NVM) may be identified from the memory profile data of the application. The identified data may be stored in the NVM.

Claims (41)

1. A method comprising:

by a processor:

compiling source code of an application into an instrumented code for generating profile data of the application, wherein the profile data to include memory profile data related to memory usage of the application;

generating the profile data comprising the memory profile data of the application using the instrumented code;

recompiling the application based on the profile data comprising the memory profile data of the application;

identifying, from the memory profile data of the application, data for storing in a non-volatile memory (NVM); and

storing the data in the NVM.

2. The method of claim 1 , further comprising:

using the data in the NVM during execution of the application.

3. The method of claim 1 , wherein the data includes data that remains unchanged across invocations of the application.

4. The method of claim 1 , wherein the data includes data shared by multiple invocations of the application.

5. The method of claim 4 , wherein the data shared by multiple invocations of the application includes read-only data.

6. The method of claim 1 , wherein generating the profile data comprising the memory profile data of the application comprises:

running the instrumented code with representative data.

7. A system comprising:

a compiler to:

compile source code of an application into an instrumented code to generate profile data of the application, wherein the profile data to include memory profile data related to memory usage of a volatile memory by the application;

generate the profile data comprising the memory profile data of the application using the instrumented code;

recompile the application based on the profile data comprising the memory profile data of the application; and

identify, from the memory profile data of the application, data for storage in a non-volatile memory (NVM) that is addressable by a central processing unit of the system; and

a loader to:

store the data in the NVM; and

use the data stored in the NVM during execution of the application.

8. The system of claim 7 , wherein the non-volatile memory includes a Non-Volatile Dual In-line Memory Module (NVDIMM).

9. The system of claim 7 , wherein the instrumented code includes additional code that is added to the source code for performing an analysis related to the application.

10. The system of claim 7 , wherein the data includes data that persists across invocations of the application.

11. The system of claim 7 , wherein the profile data file is stored in a file.

12. A non-transitory machine-readable storage medium comprising instructions, the instructions executable by a processor to:

compile source code of an application into an instrumented code to generate profile data of the application, wherein the profile data to include memory profile data related to memory usage of the application;

generate the profile data comprising the memory profile data of the application by running the instrumented code with representative data;

recompile the application based on the profile data comprising the memory profile data of the application; and

identify, from the memory profile data of the application, data for storage in a non-volatile memory (NVM); and

store the data in the NVM.

13. The storage medium of claim 12 , wherein the instructions to store the data in the NVM include instructions to write the data to the NVM using an application programming interface (API) of a NVM library.

14. The storage medium of claim 12 , further comprising instructions to store the profile data in a file.

15. The storage medium of claim 12 , further comprising instructions to identify the data in the NVM during execution of the application.

16. The storage medium of claim 12 , wherein the instructions to store the data in the NVM include instructions for a loader to load the data in the NVM.

17. The storage medium of claim 12 , wherein the non-volatile memory includes at least one of: a phase change memory (PCM) and a memristor.

18. The storage medium of claim 12 , wherein the instructions to recompile the application based on the profile data include instructions to access the profile data stored in a file.

19. The storage medium of claim 12 , wherein the memory profile data relates to memory usage of a volatile memory.

20. The storage medium of claim 12 , wherein the non-volatile memory is addressable by the processor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2017
From: HEGDE, SUPRATEEKA RADHAKRISHNA; JOSHI, SHRIDHAR PRAKAH
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 043027/0912 →
Continuity (1)
Related Publication 20190018610A1 · Jan 17, 2019
Cited By (1)
US 12,547,704