System, method, and article of manufacture for dynamically profiling memory transfers in a program
First Claim
1. A method for recording memory transfers required by an executing application, comprising the steps of:
- (a) dividing a memory of a system hosting an application into micropages;
(b) maintaining a memory map of the application which records which functions have valid copies of micropages;
(c) checking the map to determine which functions have a valid copy of the data when a current function reads for a micropage;
(d) recording a transfer of the data from another function to the current function if the current function does not have a valid copy of the data;
(e) updating the map to reflect that the current function has a valid copy of the micropage if the data is transferred from another function;
(f) recording a write to a micropage;
(g) updating the map to reflect that the current function has the only valid copy of a micropage when a write to the micropage occurs; and
(h) outputting a report of data transfers among the functions.
3 Assignments
0 Petitions
Accused Products
Abstract
A system, method and article of manufacture are provided for recording memory transfers required by an executing application. A memory of a system hosting an application is divided into micropages (small ranges of memory). A memory map of the application is maintained. The map records which functions have valid copies of micropages. The map is checked to determine which functions have a valid copy of the data when a current function reads for a micropage. A transfer of the data from another function to the current function is recorded if the current function does not have a valid copy of the data. The map is updated to reflect that the current function has a valid copy of the micropage if the data is transferred from another function. A write to a micropage is recorded. The map is updated to reflect that the current function has the only valid copy of a micropage when a write to the micropage occurs. A report of data transfers among the functions is output.
-
Citations
18 Claims
-
1. A method for recording memory transfers required by an executing application, comprising the steps of:
-
(a) dividing a memory of a system hosting an application into micropages;
(b) maintaining a memory map of the application which records which functions have valid copies of micropages;
(c) checking the map to determine which functions have a valid copy of the data when a current function reads for a micropage;
(d) recording a transfer of the data from another function to the current function if the current function does not have a valid copy of the data;
(e) updating the map to reflect that the current function has a valid copy of the micropage if the data is transferred from another function;
(f) recording a write to a micropage;
(g) updating the map to reflect that the current function has the only valid copy of a micropage when a write to the micropage occurs; and
(h) outputting a report of data transfers among the functions. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program product for recording memory transfers required by an executing application, comprising the steps of:
-
(a) computer code for dividing a memory of a system hosting an application into micropages;
(b) computer code for maintaining a memory map of the application which records which functions have valid copies of micropages;
(c) computer code for checking the map to determine which functions have a valid copy of the data when a current function reads for a micropage;
(d) computer code for recording a transfer of the data from another function to the current function if the current function does not have a valid copy of the data;
(e) computer code for updating the map to reflect that the current function has a valid copy of the micropage if the data is transferred from another function;
(f) computer code for recording a write to a micropage;
(g) computer code for updating the map to reflect that the current function has the only valid copy of a micropage when a write to the micropage occurs; and
(h) computer code for outputting a report of data transfers among the functions. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system for recording memory transfers required by an executing application, comprising the steps of:
-
(a) logic for dividing a memory of a system hosting an application into micropages;
(b) logic for maintaining a memory map of the application which records which functions have valid copies of micropages;
(c) logic for checking the map to determine which functions have a valid copy of the data when a current function reads for a micropage;
(d) logic for recording a transfer of the data from another function to the current function if the current function does not have a valid copy of the data;
(e) logic for updating the map to reflect that the current function has a valid copy of the micropage if the data is transferred from another function;
(f) logic for recording a write to a micropage;
(g) logic for updating the map to reflect that the current function has the only valid copy of a micropage when a write to the micropage occurs; and
(h) logic for outputting a report of data transfers among the functions. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification