|
ABSTRACT
Access anomalies are a common class of bugs in shared-memory parallel programs. An access anomaly occurs when two concurrent execution threads both write (or one thread reads and the other writes) the same shared memory location without coordination. Approaches to the detection of access anomalies include static analysis, post-mortem trace analysis, and on-the-fly monitoring.
A general on-the-fly algorithm for access anomaly detection is presented, which can be applied to programs with both nested fork-join and synchronization operations. The advantage of on-the-fly detection over post-mortem analysis is that the amount of storage used can be greatly reduced by data compression techniques and by discarding information as soon as it becomes obsolete. In the algorithm presented, the amount of storage required at any time depends only on the number V of shared variables being monitored and the number N of threads, not on the number of synchronizations. Data compression is achieved by the use of two techniques called merging and subtraction. Upper bounds on storage are shown to be V × N2 for merging and V × N for subtraction.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
All
|
T.R. Allen, D.A. Padua, "Debugging Fortran on a Shared Memory Machine", Proe. International Conf. on Parallel Processing, August 1987, pp. 721-727.
|
| |
App
|
|
 |
Bau
|
|
 |
Bur
|
|
| |
Car
|
|
| |
DOD
|
Department of Defense, Reference Manual for the Ada Programming Language, ANSi/MIL-STD-1815 A, 1983.
|
 |
Emr
|
|
| |
Fr
|
P. Frankl, Private Communication, Sept, I988.
|
| |
LeB
|
|
 |
Mil
|
|
| |
Nud1
|
I. Nudler, L. Rudolph, "Tools for the Efficient Development of Efficient Parallel Programs", First Israeli Conference on Computer Systems Engineering, May 1986.
|
| |
Nud2
|
i. Nudler, L. Rudolph, "indeterminacy Considered Harmful",
|
| |
Sni
|
M. Snir, Private Communications, March 1988.
|
 |
Tay
|
|
CITED BY 33
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rajiv Gupta , Madalene Spezialetti, Loop monotonic computations: an approach for the efficient run-time detection of races, Proceedings of the symposium on Testing, analysis, and verification, p.98-111, October 08-10, 1991, Victoria, British Columbia, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
P. A. Emrath , S. Chosh , D. A. Padua, Event synchronization analysis for debugging parallel programs, Proceedings of the 1989 ACM/IEEE conference on Supercomputing, p.580-588, November 12-17, 1989, Reno, Nevada, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sudarshan M. Srinivasan , Srikanth Kandula , Christopher R. Andrews , Yuanyuan Zhou, Flashback: a lightweight extension for rollback and deterministic replay for software debugging, Proceedings of the USENIX Annual Technical Conference 2004 on USENIX Annual Technical Conference, p.3-3, June 27-July 02, 2004, Boston, MA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|