Browse Prior Art Database

Instruction Set Execution Frequency Estimation by Means of Program Counter Sampling

IP.com Disclosure Number: IPCOM000119874D
Original Publication Date: 1991-Mar-01
Included in the Prior Art Database: 2005-Apr-02
Document File: 1 page(s) / 41K

Publishing Venue

IBM

Related People

Keller, TW: AUTHOR [+2]

Abstract

Disclosed is a method for obtaining instruction set frequency profiles for AIX* processes by means of a non-invasive, software technique.

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

Instruction Set Execution Frequency Estimation by Means of Program
Counter Sampling

      Disclosed is a method for obtaining instruction set
frequency profiles for AIX* processes by means of a non-invasive,
software technique.

      The method consists of three steps:
      Step 1:   This step is completed when the AIX kernel is built.
The AIX kernel "housekeeping" interrupt handler, clock, is enhanced
to record the identity of the process in execution and the address of
the program counter within that process in a table of tuples (process
i.d., program counter value, count).  The count field is incremented
each time the identical pair (process i.d., program counter value) is
encountered.  This recording is enabled/disabled by a specific
request to the kernel.
   Step 2:   During the desired measurement interval the recording is
enabled and the tuples (process i.d., program counter value, count)
are recorded in a table in memory. One count is incremented each time
the clock interrupt is processed, typically 100 times per second.
   Step 3:   After completion of the measurement interval, the
executable modules of the processes to be profiled are disassembled
by a program.  A process's executable module is itself an
instantiation of tuples (process i.d., program counter value,
instruction).  The program records the correspondences between the
two tables, deriving the table (process i.d., instruction type,
aggregate count) by accumulating the count...