skip to main content
10.1145/3297280.3297421acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Safe usage of registers in BSPlib

Published:08 April 2019Publication History

ABSTRACT

Bulk Synchronous Parallel (BSP) is a simple but powerful high-level model for parallel computation. Using BSPlib, programmers can write BSP programs in the general purpose language C. Direct Remote Memory Access (DRMA) communication in BSPlib is enabled using registrations: associations between the local memories of all processes in the BSP computation. However, the semantics of registration is non-trivial and ambiguously specified and thus its faulty usage is a potential source of errors. We give a formal semantics of BSPlib with which we characterize correct registration. Anticipating a static analysis, we give a simplified programming model that guarantees correct registration usage, drawing upon previous work on textual alignment.

References

  1. A. Aiken and D. Gay. 1998. Barrier Inference. In Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '98). ACM, New York, NY, USA, 342--354. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. O. Ballereau, F. Loulergue, and G. Hains. 1999. High-level BSP Programming: BSML and BSλ. In Proceedings of the first Scottish Functional Programming Workshop (Technical Report), P. Trinder and G. Michaelson (Eds.). Heriot-Watt University, Edinburgh, 43--52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. O. Bonorden, B. Juurlink, I. von Otte, and I. Rieping. 2003. The Paderborn University BSP (PUB) library. Parallel Comput. 29, 2 (Feb. 2003), 187--207. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. B. Chapman, T. Curtis, S. Pophale, S. Poole, J. Kuehn, C. Koelbel, and L. Smith. 2010. Introducing OpenSHMEM: SHMEM for the PGAS community. In Proceedings of the Fourth Conference on Partitioned Global Address Space Programming Model. ACM, New York, NY, USA, 2. http://dl.acm.org/citation.cfm?id=2020375 Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. F. Dabrowski. 2018. Textual Alignment in SPMD Programs. In Proceedings of the 33rd Annual ACM Symposium on Applied Computing (SAC '18). ACM, New York, NY, USA, 1046--1053. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J. Fortin and F. Gava. 2016. BSP-Why: A Tool for Deductive Verification of BSP Algorithms with Subgroup Synchronisation. International Journal of Parallel Programming 44, 3 (June 2016), 574--597. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. F. Gava and J. Fortin. 2008. Formal Semantics of a Subset of the Paderborn's BSPlib. In Ninth International Conference on Parallel and Distributed Computing, Applications and Technologies, 2008. PDCAT 2008. IEEE Press, Piscataway, NJ, USA, 269--276. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. J. M. D. Hill, B. McColl, D. C. Stefanescu, M. W. Goudreau, K. Lang, S. B. Rao, T. Suel, T. Tsantilas, and R. H. Bisseling. 1998. BSPlib: The BSP Programming Library. Parallel Comput. 24, 14 (Dec. 1998), 1947--1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Message Passing Interface Forum. 2012. MPI: A Message-Passing Interface Standard Version 3.0. http://www.mpi-forum.org/docs/mpi-3.0Google ScholarGoogle Scholar
  10. D. M. Ritchie, B. W. Kernighan, and M. E. Lesk. 1988. The C Programming Language. Prentice Hall, Englewood Cliffs, NJ, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. K. Siddique, Z. Akhtar, E.J. Yoon, Y.Jeong, D. Dasgupta, and Y. Kim. 2016. Apache Hama: An emerging bulk synchronous parallel computing framework for big data applications. IEEE Access 4 (2016), 8879--8887.Google ScholarGoogle ScholarCross RefCross Ref
  12. J. Tesson and F. Loulergue. 2008. Formal Semantics of DRMA-Style Programming in BSPlib. In Parallel Processing and Applied Mathematics, R. Wyrzykowski, J. Dongarra, K. Karczewski, and J. Wasniewski (Eds.). Vol. 4967. Springer Berlin Heidelberg, Berlin, Heidelberg, 1122--1129. http://link.springer.com/10.1007/978-3-540-68111-3_119 Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. L. G. Valiant. 1990. A Bridging Model for Parallel Computation. Commun. ACM 33, 8 (Aug. 1990), 103--111. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A.N. Yzelman and Rob H. Bisseling. 2012. An object-oriented bulk synchronous parallel library for multicore programming. Concurrency and Computation: Practice and Experience 24, 5 (April 2012), 533--553. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Safe usage of registers in BSPlib

        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
          SAC '19: Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing
          April 2019
          2682 pages
          ISBN:9781450359337
          DOI:10.1145/3297280

          Copyright © 2019 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: 8 April 2019

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate1,650of6,669submissions,25%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader