Abstract
A BSP superstep is a distributed computation comprising a number of simultaneously executing processes which may generate asynchronous messages. A superstep terminates with a barrier which enforces a global synchronisation and delivers all ongoing communications. Multilevel supersteps can utilise barriers in which subsets of processes, interacting through shared memories, are locally synchronised (partitioned synchronisation). In this paper a state-based semantics, closely related to the classical sequential programming model, is derived for distributed BSP with partitioned synchronisation.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Akl SG (1989) The design and analysis of parallel algorithms. Prentice-Hall, Englewood Cliffs
Back R-J, von Wright J (1988) Refinement calculus: a systematic introduction. Springer, New York
Back R-J (2009) Invariant based programming: basic approach and teaching experiences. Formal Aspects Comput 21(3): 227–244
Backhouse R (2003) Program construction: calculating implementations from specifications. Wiley, NY
Bisseling RH (2004) Parallel scientific computation: a structured approach using BSP and MPI. Oxford University Press, Oxford
Chen Y, Sanders JW (2003) Top-down design of bulk-synchronous parallel programs. Parallel Process Lett 13: 389–400
Chen Y, Sanders JW (2004) Logic of global synchrony. ACM Trans Program Lang Syst 26: 221–262
Dijkstra EW (1968) A constructive approach to the problem of program correctness. BIT 8(3): 174–186
Dijkstra EW (1976) A discipline of programming. Prentice-Hall, Englewood Cliffs
He J, Miller Q, Chen L (1996) Algebraic laws for BSP programming in Euro-Par’96. In: Bouge L, Fraigniaud P, Mignotte A, Robert Y (eds) LNCS 1124 Volume II. Springer, Berlin, pp 359–368
Hoare CAR (1969) An axiomatic basis for computer programming. Commun ACM 12(10): 576–580
Hoare CAR, He J (1998) Unifying theories of programming. Prentice-Hall, Englewood Cliffs
Javed N, Loulergue F (2009) OSL: optimized bulk synchronous parallel skeletons on distributed arrays. In: Dou Y, Gruber R, Joller JM (eds) APPT 2009, LNCS, vol 5737, pp 436–451
Loulergue F, Hains G, Fosy C (2000) A calculus of BSP Programs. Sci Comput Program 37(1–3): 253–277
Snir M, Otto S, Huss-Lederman S, Walker D, Dongarra J (1995) MPI: the complete reference. MIT Press, Cambridge
McColl WF (95)) Scalable computing. In: van Leeuwen J (eds) Computer science today: recent trends and developments. LNCS, vol 1000. Springer, Berlin, pp 46–61
Stewart A, Clint M (2001) BSP-style computation: a semantic investigation. Comput J 44: 174–185
Stewart A, Clint M, Gabarro J (2004) Barrier synchronisation: axiomatisation and relaxation. Formal Asp Comput 16(1): 36–50
Tiskin A (1998) The bulk-synchronous parallel random access machine. Theor Comput Sci 196: 109–130
de la Torre P, Kruskal CP (1996) Submachine locality in the bulk synchronous setting. In: Bouge L, Fraigniaud P, Mignotte A, Robert Y (eds) Euro-Par’96, LNCS 1124, Volume II. Springer, Berlin, pp 352–358
Valiant LG (1990) A bridging model for parallel computation. Commun ACM 33(8): 103–111
Valiant LG (2008) A bridging model for multi-core computing. In: Halperin D, Mehlhorn K (eds) ESA 2008, LNCS 5193. Springer, Berlin
Author information
Authors and Affiliations
Corresponding author
Additional information
by J.C.P. Woodcock
Rights and permissions
Open Access This is an open access article distributed under the terms of the Creative Commons Attribution Noncommercial License ( https://creativecommons.org/licenses/by-nc/2.0 ), which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.
About this article
Cite this article
Stewart, A. A programming model for BSP with partitioned synchronisation. Form Asp Comp 23, 421–432 (2011). https://doi.org/10.1007/s00165-010-0163-2
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-010-0163-2