Browse Prior Art Database

Facilitating Profiling-Based Linkage Ordering

IP.com Disclosure Number: IPCOM000117191D
Original Publication Date: 1996-Jan-01
Included in the Prior Art Database: 2005-Mar-31
Document File: 2 page(s) / 60K

Publishing Venue

IBM

Related People

Wyman, B: AUTHOR

Abstract

Disclosed is a method to use the standard Advanced Interactive Executive (AIX)* profiling information, created when a profiled program is run, to optimize a subsequent link of the program for run-time performance.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 56% of the total text.

Facilitating Profiling-Based Linkage Ordering

      Disclosed is a method to use the standard Advanced Interactive
Executive (AIX)* profiling information, created when a profiled
program is run, to optimize a subsequent link of the program for
run-time performance.

The embodiment of this method involves:
  1.  Initial creation of the program's modules, and the program
       itself, with profiling enabled.  (This is typically performed
by
       specifying the "-pg"  flag on the compilation and link steps.)
  2.  Running the program against representative data.
  3.  An analysis of the profile data generated by step 2.  (This
data
       is typically contained in an output file called "gmon.out.")
  4.  Use of the analysis in step 3 to guide the layout of the code
       sections (csects) in a subsequent re-linking of the program to
       improve program performance.

      The improvements to program performance are realized by
reordering the code sections in such a fashion to reduce cache line
conflicts, improve locality of highly-used call paths, or avoid
placing high-use csects in positions that span sensitive address
boundaries.

      A key aspect of this method is its reliance on standard AIX
tools.  The only significant work, other than the analysis, is be the
incorporation of the analysis into the linker itself.

      See the Figure for an example of reordering based on one (or
more) runs of the initially...