Algorithmic Completeness for BSP Languages

What is bulk-synchronous parallel (BSP) computing and is not? Behind this naive question, we can find complex formalisms. We first define a model that contain all BSP algorithms; This model comes with what is called abstract state machines (ASMs). Then, we prove, by using an operational semantics and a fair simulation, the algorithmic equivalence between an imperative language (with BSP routines) and the previous model. We finally give the intuition of an example that is not BSP complete.

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

[2]  Andreas Prinz,et al.  Distributed ASM - Pitfalls and Solutions , 2014, ABZ.

[3]  Leslie G. Valiant A Bridging Model for Multi-core Computing , 2008, ESA.

[4]  R. Stärk,et al.  Abstract State Machines , 2003, Springer Berlin Heidelberg.

[5]  Lou van den Dries Generating the Greatest Common Divisor, and Limitations of Primitive Recursive Algorithms , 2003, Found. Comput. Math..

[6]  Matthew Felice Pace,et al.  BSP vs MapReduce , 2012, ICCS.

[7]  Yuri Gurevich,et al.  Sequential abstract-state machines capture sequential algorithms , 2000, TOCL.

[8]  Klaus-Dieter Schewe,et al.  Concurrent abstract state machines , 2016, Acta Informatica.

[9]  Erik D. Demaine,et al.  Palindrome recognition using a multidimensional tape , 2003, Theor. Comput. Sci..

[10]  Andreas Blass,et al.  Abstract state machines capture parallel algorithms , 2003, TOCL.

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

[12]  Marie Ferbus-Zanda,et al.  ASMs and Operational Algorithmic Completeness of Lambda Calculus , 2010, Fields of Logic and Computation.

[13]  Alessandra Cavarra,et al.  A data-flow approach to test multi-agent ASMs , 2009, Formal Aspects of Computing.

[14]  Yoann Marquer Algorithmic Completeness of Imperative Programming Languages , 2019, Fundam. Informaticae.

[15]  Rob H. Bisseling,et al.  Parallel Scientific Computation , 2004 .

[16]  Alexander Tiskin,et al.  The design and analysis of bulk-synchronous parallel algorithms , 1998 .

[17]  Aart J. C. Bik,et al.  Pregel: a system for large-scale graph processing , 2010, SIGMOD Conference.

[18]  Frédéric Gava,et al.  An ASM Thesis for BSP , 2018 .

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

[20]  Jean Fortin,et al.  BSP-WHY: an intermediate language for deductive verification of BSP programs , 2010, HLPP '10.

[21]  Klaus-Dieter Schewe,et al.  Evolving concurrent systems: behavioural theory and logic , 2017, ACSW.

[22]  Egon Börger,et al.  Abstract State Machines , 2003 .