Related articles |
---|
Thesis available: Program Monitoring patil@ch.hp.com (Harish Patil) (1997-01-29) |
From: | Harish Patil <patil@ch.hp.com> |
Newsgroups: | comp.compilers |
Date: | 29 Jan 1997 11:21:02 -0500 |
Organization: | Compilers Central |
Keywords: | report, available, performance |
Hello everyone:
I am glad to announce that my Ph.D. thesis, titled "Efficient Program
Monitoring Techniques", is available on-line. This thesis was
completed under the supervision of Prof. Charles Fischer at the
department of Computer Sciences, University of Wisconsin --Madison.
The thesis is available as technical report # 1320. Please check it
out at the URL:
http://www.cs.wisc.edu/Dienst/UI/2.0/Describe/ncstrl.uwmadison%2fCS-TR-96-1320
An abstract of the thesis follows.
Regards,
-Harish
Efficient Program Monitoring Techniques
---------------------------------------
Programs need to be monitored for many reasons, including performance
evaluation, correctness checking, and security. However, the cost of
monitoring programs can be very high. This thesis contributes two
techniques for reducing the high execution time overhead of program
monitoring: 1) customization and 2) shadow processing. These
techniques have been tested using a memory access monitoring system
for C programs.
"Customization" reduces the cost of monitoring programs by decoupling
monitoring from original computation. A user program can be customized
for any desired monitoring activity by deleting computation not
relevant for monitoring. The customized program is smaller, easier to
analyze, and almost always faster than the original program. It can be
readily instrumented to perform the desired monitoring. We have
explored the use of program slicing technology for customizing C
programs. Customization can cut the overhead of memory access
monitoring by up to half.
"Shadow processing" hides the cost of on-line monitoring by using idle
processors in multiprocessor workstations. A user program is
partitioned into two run-time processes. One is the main process
executing as usual, without any monitoring code. The other is a shadow
process following the main process and performing the desired
monitoring. One key issue in the use of shadow process is the degree
to which the main process is burdened by the need to synchronize and
communicate with the shadow process. We believe the overhead to the
main process must be very modest to allow routine use of shadow
processing for heavily-used production programs. We therefore limit
the interaction between the two processes to communicating certain
irreproducible values. In our experimental shadow processing system
for memory access checking the overhead to the main process is very
low - almost always less than 10%. Further, since the shadow process
avoids repeating some of the computations from the main program, it
runs much faster than a single process performing both the computation
and monitoring.
==========================================================================
Harish Patil: Massachusetts Language Lab - Hewlett Packard
Mail Stop CHR02DC, 300 Apollo Drive, Chelmsford MA 01824
Phone: 508 436 5717 Fax: 508 436 5135 Email: patil@apollo.hp.com
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.