skip to main content
10.1145/76263.76329acmconferencesArticle/Chapter ViewAbstractPublication PagesscConference Proceedingsconference-collections
Article
Free Access

Event synchronization analysis for debugging parallel programs

Authors Info & Claims
Published:01 August 1989Publication History

ABSTRACT

One of the major difficulties of explicit parallel programming for a shared memory machine model is detecting the potential for nondeterminacy and identifying its causes. There will often be shared variables in a parallel program, and the tasks comprising the program may need to be synchronized when accessing these variables.

This paper discusses this problem and presents a method for automatically detecting non-determinacy in parallel programs that utilize event style synchronization instructions, using the Post, Wait, and Clear primitives. With event style synchronization, especially when there are many references to the same event, the difficulty lies in computing the execution order that is guaranteed given the synchronization instructions and the sequential components of the program. The main result in this paper is an algorithm that computes such an execution order and yields a Task Graph upon which a nondeterminacy detection algorithm can be applied.

We have focused on events because they are a frequently used synchronization mechanism in parallel versions of Fortran, including Cray [Cray87], IBM [IBM88], Cedar [GPHL88], and PCF Fortran [PCF88].

References

  1. Alli85.FX/Series Architecture Manual Concurrency Supplement, Alliant Computer Systems Corp., April 1985.Google ScholarGoogle Scholar
  2. AlPa87.Todd R. Allen, and David A. Padua. Debugging Fortran on a Shared Memory Machine, Proceedings of the 1987 International Conference on Parallel Processing, pp. 721-727, Aug. 1987.Google ScholarGoogle Scholar
  3. Bane88.Utpal Banerjee. Dependence Analysis for Supercomputing, Kluwer Academic Pubfishers, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. CaSu88.David Callahan, and Jaspal Subhlok. Static Analysis of Low-level Synchronization, Proceedings of the Workshop on Parallel and Distributed Debugging, pp. 100-111, May 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Cray87.Cray X.MP Multitasking Programmer's Reference Manual, Cray Research, Inc., 1987.Google ScholarGoogle Scholar
  6. EmPa88.Perry A. Emrath, and David A. Padua. Automatic Detection of Nondeterminacy in Parallel Programs, Proceedings, Workshop on Parallel and Distributed Debugging, pp. 89-09, May 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. GPHL88.M. D. Guzzi, D. A. Padua, J. P. Hoeflinger, and D. H. Lawrie. Cedar Fortran and O~her Vector and Parallel Fortran Dialects, Proceedings SUPERCOMPUT- ING '88, pp. 114-121, Nov. 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. IBM88.IBM Parallel FORTRAN Language and Library Reference, IBM Corp., March 1988.Google ScholarGoogle Scholar
  9. KDLS86.D. Kuck, E. Davidson, D. Lawrie, and A. Sameh. Parallel supercomputin9 todav and the Cedar approach, Science, vol. 231, pp. 967'-974, Feb. 1986.Google ScholarGoogle ScholarCross RefCross Ref
  10. MiCh88.Barton P. Miller, and Jong-Deok Choi. A Mechanism for Efficient Debugging of Parallel Programs, Proceedings of the Workshop on Parallel and Distributed Debugging, pp. 141-150, May 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. MiPa87.S.P. Midkiff~ and D. A. Padua. Compiler Algorithms for Synchronization, IEEE transaetlons on Computers, vol. C-36, No. 12, pp. 1485-1495, Dec. 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. PCF88.PCF Fortran: Language Definition, The Parallel Computing Forum, August 1988.Google ScholarGoogle Scholar
  13. Scho89.On-The-Fly Detection of Access Anomalies, Proceedings of the SIGPLAN '89 Conference on Programming Language Design and Implementation, pp. 285-297, June 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Event synchronization analysis for debugging parallel programs

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Conferences
              Supercomputing '89: Proceedings of the 1989 ACM/IEEE conference on Supercomputing
              August 1989
              849 pages
              ISBN:0897913418
              DOI:10.1145/76263

              Copyright © 1989 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 1 August 1989

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • Article

              Acceptance Rates

              Overall Acceptance Rate1,516of6,373submissions,24%

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader