Barrier synchronisation: Axiomatisation and relaxation

Abstract.The bulk synchronous parallel (BSP) model is underpinned by a global synchronisation operation. This operation both synchronises processes and updates local stores using asynchronous communications. In this paper a generalised, nondeterministic, substitution axiom (over functions) is identified with BSP barrier synchronisation. Correctness proofs of BSP programs based on the axiom are structurally similar to proofs of correctness of sequential programs. Global synchronisation is often considered to be relatively expensive to implement on distributed architectures for applications having low levels of communications. In an extreme situation a process having no external interactions may have to wait unnecessarily at a barrier. In this paper a form of barrier operation is introduced which is straightforward to reason about and, with a view to increasing the potential for efficient implementation, permits barrier operations to be relaxed through partial uncoupling thereby allowing processes which do not need to synchronise to proceed.

[1]  Lei Chen,et al.  Algebraic Laws for BSP Programming , 1996, Euro-Par, Vol. II.

[2]  Rob H. Bisseling,et al.  Basic Techniques for Numerical Linear Algebra on Bulk Synchronous Parallel Computers , 1996, WNAA.

[3]  Alan Stewart,et al.  AXIOMATIC FRAMEWORKS FOR DEVELOPING BSP-STYLE PROGRAMS* , 2000, Parallel Algorithms Appl..

[4]  Olaf Bonorden,et al.  The Paderborn University BSP (PUB) library , 2003, Parallel Comput..

[5]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[6]  Jin-Soo Kim,et al.  Relaxed Barrier Synchronization for the BSP Model of Computation on Message-Passing Architectures , 1998, Inf. Process. Lett..

[7]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[8]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[9]  Eric C. R. Hehner,et al.  Predicative programming Part I , 1984, CACM.

[10]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[11]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[12]  Alan Stewart,et al.  Synchronising Asynchronous Communications , 1997, Euro-Par.

[13]  David B. Skillicorn,et al.  Questions and Answers about BSP , 1997, Sci. Program..

[14]  Torsten Suel,et al.  BSPlib: The BSP programming library , 1998, Parallel Comput..

[15]  Clyde P. Kruskal,et al.  Submachine Locality in the Bulk Synchronous Setting (Extended Abstract) , 1996, Euro-Par, Vol. II.

[16]  Alan Stewart,et al.  BSP-style Computation: a Semantic Investigation , 2001, Comput. J..

[17]  Jayadev Misra A discipline of multiprogramming , 1996, CSUR.

[18]  Baruch Awerbuch,et al.  Complexity of network synchronization , 1985, JACM.

[19]  Luc Bougé,et al.  Formal Validation of Data-Parallel Programs: A Two-Component Assertional Proof System for a Simple Language , 1997, Theor. Comput. Sci..

[20]  Kaisa Sere,et al.  Stepwise Refinement of Parallel Algorithms , 1990, Sci. Comput. Program..

[21]  Yifeng Chen,et al.  Logic of Global Synchrony , 2001, CONCUR.

[22]  Nancy A. Lynch,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[23]  Alexander Bunkenburg,et al.  A source of inconsistency in theories of nondeterministic functions , 2002, Sci. Comput. Program..

[24]  Maria J. Serna,et al.  Towards Formally Refining BSP Barrier s into Explicit Two-Sided Communications , 2001, Euro-Par.

[25]  Henry Stewart Algebraic Rules for reasoning about BSP programs , 2002 .