Browse Prior Art Database

BPROF CPU Profiler

IP.com Disclosure Number: IPCOM000112986D
Original Publication Date: 1994-Jun-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 4 page(s) / 127K

Publishing Venue

IBM

Related People

McDaniel, JH: AUTHOR [+2]

Abstract

This performance tool was developed to profile the CPU utilization of applications implemented in the ADA language for the Risc System/6000* platform. Typically, these kinds of applications operate in a real-time systems environment, meaning that response times perceived by the system's users become a critical factor. The CPU processing time required for completing the system's functional requirements (mission processing, workstation graphical displays, etc.) has a direct impact on the system's response time. The profiler allows an analyst to examine where an ADA application is using the CPU most frequently, and to provide information to ADA system programmers for the purpose of performance tuning.

This text was extracted from an ASCII text file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 38% of the total text.

BPROF CPU Profiler

      This performance tool was developed to profile the CPU
utilization of applications implemented in the

ADA

language for the
Risc System/6000* platform.  Typically, these kinds of applications
operate in a real-time systems environment, meaning that response
times perceived by the system's users become a critical factor.  The
CPU processing time required for completing the system's functional
requirements (mission processing, workstation graphical displays,
etc.) has a direct impact on the system's response time.  The
profiler allows an analyst to examine where an

ADA

application is
using the CPU most frequently, and to provide information to

ADA


system programmers for the purpose of performance tuning.

      The AIX* operating system provides a profiler tool known as
TPROF that has the ability to sample and record the RS/6000 CPU
address counter value once every ten milliseconds.  In fact, for
measuring the CPU performance of the RS/6000 systems used for the
System 1 project, the TPROF profiler was incorporated to sample the
execution of the

ADA

modules performing the mission critical
functions.  The problem we experienced with TPROF was that it did not
have the ability to correlate the address counter samples with the

ADA

source statements, thereby showing which

ADA

statements were
responsible for using the most CPU.  This is because TPROF was
designed to profile C and FORTRAN programs, not

ADA

programs.  The
profiler was written and implemented to take TPROF sample data as
input and produce a report that shows a profile of the

ADA

modules
and statements executing on the CPU.  Therefore, the profiler is a
post-processing (after the measurement) tool, not designed to collect
data, but designed to process data specific to

ADA

program CPU
measurements.

      Implementation - The generation of a CPU performance report was
divided into the following steps:

1.  TPROF was invoked during execution of the

ADA

module to be
    profiled.  The TPROF profiler sampled the CPU for an interval
    from 60 to 120 seconds to provide sufficient sample data.

2.  After the measurement completed, the profiler shell script was
    executed to take the TPROF output and generate a profile of the
    ADA application.  The profiler shell script was dependent upon
    the AMAP program to provide a cross-reference of the ADA module.
    The cross-reference produced by AMAP contained a listing of the
    ADA sub-modules within the main module, and their respective
    start and stop memory addresses.  It is the task of the profiler
    report generator to correlate the TPROF data to the addresses and
    symbolics provided by AMAP.

      The profiler report generator was implemented in the AWK
programming language.  The Korn Shell programming language was used
to invoke the AMAP and the profiler programs in the proper sequence.

Results - The profiler produces two reports:

1.  A globa...