Instance-based field affinity optimization
AssigneeInternational Business Machines Corporation
InventorsAlon Dayan, David Joel Edelsohn, Olga Golovanevsky, Ayal Zaks
Life of this patent
Estimating the term…
Abstract
Dynamic determination of affinity between fields of structure may be determined based on accesses to the same instance. The affinity may be utilized in determining a data layout of a structure so as to optimize performance of a target program. The affinity determination may be an estimation based upon a trace of an execution of the target program. Access relation between proximate accesses to fields of the same instance may be utilized to estimate an optimized data layout of the structure.
Claims22
A computerized apparatus for determining an access relation between fields of a structure in a computer program, the computerized apparatus having a processor, the computerized apparatus comprising:
- a trace obtainer configured to obtain a trace associated with an execution of the computer program, the trace comprising at least one indication of access to a portion of the fields of the structure;
- an instance identification module configured to identify an instance of the structure accessed during the at least one indication of access;
- an access relation determination module configured to determine the access relation between at least two fields of the fields of the structure, wherein said access relation determination module is configured to determine the access relation based on indications of accesses to the at least two fields in the instance of the structure.
A computer-implemented method for determining an access relation between fields of a structure in a computer program, the method comprising:
- obtaining a trace associated with an execution of the computer program, the trace comprising at least one indication of access to a portion of the fields of the structure;
- analyzing the trace, wherein said analyzing the trace is performed by a processor, wherein said analyzing the trace comprises:
- identifying an instance of the structure associated with the at least one indication of access;
- determining the access relation between at least two fields of the fields of the structure;
- and
- determining a data layout of the fields of the structure based on the access relation;
- compiling the computer program and utilizing the data layout.
A computer program product for determining an access relation between fields of a structure in a computer program, the product comprising:
- a computer readable medium;
- a first program instruction for obtaining a trace associated with an execution of the computer program, the trace comprising at least one indication of access to a portion of the fields of the structure;
- a second program instruction for analyzing the trace, wherein said second program instruction comprises:
- a third program instruction for identifying an instance of the structure associated with the at least one indication of access;
- a fourth program instruction for determining the access relation between at least two fields of the fields of the structure;
- and
- a fifth program instruction for determining a data layout of the fields of the structure based on the access relation;
- wherein said first, second, third, fourth and fifth program instructions are stored on said computer readable medium.
Dependencies are inferred from the claim text.