Semantics of an Exception Mechanism for Bulk Synchronous Parallel ML

Bulk Synchronous Parallel ML is a high-level language for programming parallel algorithms. Built upon OCaml and using the BSP model, it provides a safe setting for their implementation, avoiding concurrency related problems (deadlocks, indeterminism). Only a limited set of the features of OCaml can be used in BSML to respect its properties of safety: this paper describes a way to add exception handling to this set by extending and adapting OCaml 's exceptions. After a precise definition of the problems that arise and an informal description of the solutions, an extension of BSML is proposed. Formal semantics define the behaviour in all possible cases, followed by a short description of the implementation.

[1]  David J. DeWitt,et al.  Parallel algorithms for the execution of relational database operations , 1983, TODS.

[2]  Dimitris C. Dracopoulos,et al.  Speeding up genetic programming: a parallel BSP implementation , 1996 .

[3]  Norman W. Paton,et al.  Resource Scheduling for Parallel Query Processing on Computational Grids , 2004, GRID.

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

[5]  Rob H. Bisseling,et al.  Designing a BSP Version of ScaLAPACK , 1999, PPSC.

[6]  Rob H. Bisseling,et al.  Parallel scientific computation - a structured approach using BSP and MPI , 2004 .

[7]  Jørgen Lindskov Knudsen,et al.  Advances in Exception Handling Techniques , 2001, Lecture Notes in Computer Science.

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

[9]  David B. Skillicorn,et al.  Using the BSP cost model to optimise parallel neural network training , 1998, Future Gener. Comput. Syst..

[10]  David J. DeWitt,et al.  Parallel database systems: the future of high performance database systems , 1992, CACM.

[11]  Norman W. Paton,et al.  The design and implementation of Grid database services in OGSA‐DAI , 2005, Concurr. Pract. Exp..

[12]  Patrick Valduriez,et al.  Join and Semijoin Algorithms for a Multiprocessor Database Machine , 1984, TODS.

[13]  Bu-Sung Lee,et al.  JBSP: A BSP Programming Library in Java , 2001, J. Parallel Distributed Comput..

[14]  Frédéric Loulergue,et al.  Bulk Synchronous Parallel ML with Exceptions , 2006 .

[15]  Mostafa Bamha,et al.  An Efficient Scalable Parallel View Maintenance Algorithm for Shared Nothing Multi-processor Machines , 1999, DEXA.

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

[17]  Frédéric Gava,et al.  Formal Proofs of Functional BSP Programs , 2003, Parallel Process. Lett..

[18]  Frédéric Loulergue,et al.  A static analysis for Bulk Synchronous Parallel ML to avoid parallel nesting , 2005, Future Gener. Comput. Syst..

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

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