Computer program optimization using software monitoring techniques Page: 3 of 8
This report is part of the collection entitled: Office of Scientific & Technical Information Technical Reports and was provided to UNT Digital Library by the UNT Libraries Government Documents Department.
Extracted Text
The following text was automatically extracted from the image on this page using optical character recognition software:
compiler executed at a rate between 9
and 12 MIP. The theoretical maximum
execution rate for the 7600 is 36 NIP.
This indicated that the 7600 hardware
was executing only 25% of the instruc-
tions which were theoretically cap-
able of being executed because the
FORTRAN compiler was generating in-.
efficient object code. Although work
on the compiler would surely result
in definite gains in execution effi-
ciency, it was likely that some gains
could also be made using optimization
techniques with the current compiler.
We first wanted to know where
time was being spent during program
execution. For this we needed a
tool which would monitor codes dur-
ing execution and describe the areas
being used most heavily. We de-
cided on the following design goals
for such a tool:
1. The tool must provide
meaningful execution time
statistics such as I/O
wait time, and it should
determine the relative
frequency with which in-
structions are executed.
2. The tool should be easy
to use.
3. The tool should use mini-
mum overhead and interact
with the executing pro-
gram as little as possible.
4. Output should be displayed
in an easily comprehen-
sible form and quickly be
accessible after each
run.
With these goals in mind we decided
that monitoring the program address
register (P-register) was probably
most feasible. By March of 1972,
we had designed and implemented a
routine called STAT1 for execution
on the 7600's. STAT makes use of a
7600 hardware interrupt feature to
save the contents of the P-register
every 3.5 milliseconds during pro-
gram execution, with virtually no
overhead to the executing program.
At the end of the job, the results
are displayed as a printer plot his-
togram which shows code address
versus the number of times theP-register was found to be equal to
the code address. Application of
STAT to several user jobs showed
that we had indeed satisfied our de-
sign goals and were able to isolate
heavily-used areas of executing
programs.
The next piece of information
that we judged necessary to have
before starting a formal optimiza-
tion project was whether or not the
laboratory programmers were using
good techniques and whether they
were taking advantage of pertain
features of the 7600's which were
not available on the 6600 computer.
To accomplish this we began a sur-
vey of randomly selected 7600 jobs
from the input shelves to learn what
percentage gains in efficiency could
be expected. Efficiency gains were
to be achieved in three rather sim-
ple ways which would serve to limit
the effort expended on each program.
The three methods used were:
1. Improve the FORTRAN pro-
gramming techniques.
2. Correct deficiencies in
system routines, and
3. Improve numerical
algorithms.
This survey ran for three months
during the summer of 1972, and
showed that significant gains (an
average of 391 for 20 cases) in
program efficiency could be realized
with relatively small investments in
manpower* and machine time. In
addition to the significant improve-
ment in program efficiency, the
summer survey had other benefits.
Programming techniques were discov-
which the FORTRAN programmer could
use at the source code level to im-
prove object code execution effi-
ciency.** Several tools were devel-
oped during the survey as the need
became evident. One of these tools
was a program called REGREF which
* A full-time programmer and a sum-
mer student were responsible for
the survey.
"*These optimal programming techni-
ques are being published for the
benefit of all LASL programmers.
Upcoming Pages
Here’s what’s next.
Search Inside
This report can be searched. Note: Results may vary based on the legibility of text within the document.
Tools / Downloads
Get a copy of this page or view the extracted text.
Citing and Sharing
Basic information for referencing this web page. We also provide extended guidance on usage rights, references, copying or embedding.
Reference the current page of this Report.
McGirt, A. Frank; Rudsinski, Lawrence E. & Melendez, K. Jerry. Computer program optimization using software monitoring techniques, report, January 1, 1972; (https://digital.library.unt.edu/ark:/67531/metadc1036222/m1/3/: accessed April 23, 2024), University of North Texas Libraries, UNT Digital Library, https://digital.library.unt.edu; crediting UNT Libraries Government Documents Department.