System and method for the discovery and use repetitively accessed data
AssigneeMicrosoft Corporation
InventorTrishul Chilimbi
Life of this patent
Estimating the term…
Abstract
A system and method for analyzing data accesses to determine data accessing patterns is provided. Data address accesses are traced and transformed into Whole Program Data Accesses (WPDAs). WPDAs may then be used to discover higher-level data abstractions, such as hot data blocks. Hot data blocks provide information related to sequences of data addresses that are repeatedly accessed together. Hot data blocks may then be used to improve program performance.
Claims16
A computer-implemented method for improving memory usage for a computer program, comprising:
- receiving a data access request;
- removing the data access request when it is determined that the data request is unnecessary;
- using information about a data access sequence to determine if the data access request refers to part of a frequently occurring data access sequence;
- and
- if the data access request refers to part of the frequently occurring data access sequence, placing data from the data access request in a memory location.
A computer-implemented method for improving memory usage for a computer program, comprising:
- generating a plurality of data access requests from an executing computer program;
- analyzing the plurality of the data access requests for data access requests that are unnecessary;
- removing at least a portion of the unnecessary data requests;
- determining when one of the data access requests refers to part of a frequently occurring data access sequence;
- and when the data access request refers to part of the frequently occurring data access sequence, placing data from the data access request in a memory location.
A computer-readable medium having computer-executable instruction for improving memory usage for a computer program, comprising:
- receiving a data access request;
- determining whether to remove the data access request when the data request is unnecessary before the element is placed in a memory location;
- using information about a data access sequence to determine if the data access request refers to an element of a frequently requested data access sequence.
Dependencies are inferred from the claim text.