Profile-driven data layout optimization
AssigneeMicrosoft Corporation
InventorsGerald Dwayne Kuch, Brian C. Beckman, Jason L. Zander
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsGerald Dwayne Kuch, Brian C. Beckman, Jason L. Zander
Estimating the term…
Data layout optimization arranges data members within memory to enhance software performance. Profiling data is consulted to determine how to group data members for an object class into groups. One technique groups the data members based on how frequently the data members are referenced in memory. Another technique groups the data members based on their affinities for one another in time as determined by observing when references to the data members take place. A variety of options when collecting the profiling data and grouping the data members is supported. The data member grouping is recorded in metadata associated with a definition of the object class. At runtime, a class loader places the data members of an object in memory according to the metadata. Data members of different groups can be placed in separately-loadable units of memory in the memory system. Subsequently, when the data members are referenced in memory, more frequently referenced data members, including those that tend to be referenced at times close to each other, reside at neighboring locations in the memory system.
One or more computer-readable media having computer-executable instructions for performing a method of arranging a plurality of data members of an object in a memory system, the method comprising:
One or more computer-readable media having computer-executable instructions for performing a method for optimizing the data layout of software comprising a set of object class definitions, the method comprising:
One or more computer-readable media having computer-executable instructions for performing a method of monitoring affinity among a plurality of data members of an object class in a memory system, the method comprising:
Dependencies are inferred from the claim text.