skip to main content
10.1145/1065944.1065949acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
Article

A linear-time algorithm for optimal barrier placement

Published:15 June 2005Publication History

ABSTRACT

We want to perform compile-time analysis of an SPMD program and place barriers in it to synchronize it correctly, minimizing the runtime cost of the synchronization. This is the barrier minimization problem. No full solution to the problem has been given previously.Here we model the problem with a new combinatorial structure, a nested family of sets of circular intervals. We show that barrier minimization is equivalent to finding a hierarchy of minimum cardinality point sets that cut all intervals. For a single loop, modeled as a simple family of circular intervals, a linear-time algorithm is known. We extend this result, finding a linear-time solution for nested circular interval families. This result solves the barrier minimization problem for general nested loops.

References

  1. A. Agarwal and M. Cherian. Adaptive backoff synchronization techniques. In Proceedings of the 16th Annual International Symposium on Computer Architecture (ISCA'89), pages 396--406. ACM Press, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. A. Aiken and D. Gay. Barrier inference. In Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (PoPL'98), pages 342--354. ACM Press, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Co-Array Fortran. http://www.co-array.org/.Google ScholarGoogle Scholar
  4. A. Darte and R. Schreiber. Nested circular intervals: A model for barrier placement in SPMD codes with nested loops. Technical Report RR2004-57, LIP, ENS-Lyon, Dec. 2004. http://www.ens-lyon.fr/LIP/Pub/Rapports/RR/RR2004/RR2004-57.pdf.Google ScholarGoogle Scholar
  5. P. J. Hatcher and M. J. Quinn. Data-Parallel Programming on MIMD Computers. The MIT Press, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. W.-L. Hsu and K.-H. Tsai. Linear time algorithms on circular-arc graphs. Information Processing Letters, 40(3):123--129, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. M. Mellor-Crummey and M. L. Scott. Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Transactions on Computer Systems, 9(1):21--65, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. O'Boyle and E. Stöhr. Compile time barrier synchronization minimization. IEEE Transactions on Parallel and Distributed Systems, 13(6):529--543, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. C.-W. Tseng. Compiler optimizations for eliminating barrier synchronization. In PPoPP'95: Proceedings of the fifth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 144--155. ACM Press, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Unified Parallel C. http://upc.gwu.edu/.Google ScholarGoogle Scholar
  11. M. Wolfe. High Performance Compilers for Parallel Computing. Addison-Wesley, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. K. Yelick, L. Semenzato, G. Pike, C. Miyamoto, B. Liblit, A. Krishnamurthy, P. Hilfinger, S. Graham, D. Gay, P. Colella, and A. Aiken. Titanium: A high-performance Java dialect. Concurrency: Practice and Experience, 10(11-13):825--836, Sept-Nov 1998.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. A linear-time algorithm for optimal barrier placement

        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
          PPoPP '05: Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
          June 2005
          310 pages
          ISBN:1595930809
          DOI:10.1145/1065944

          Copyright © 2005 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: 15 June 2005

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          Overall Acceptance Rate230of1,014submissions,23%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader