Bulk synchronous parallel ML with exceptions

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. The behaviour of these new exceptions and the syntactic constructs to handle them, together with their implementation, are described in detail, and results over an example are given.

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

[2]  David B. Skillicorn,et al.  Lessons Learned from Implementing BSP , 1997, HPCN Europe.

[3]  Kevin Hammond,et al.  Exception handling in a parallel functional language: PSML , 1989, Fourth IEEE Region 10 International Conference TENCON.

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

[5]  Jørgen Lindskov Knudsen,et al.  Advances in Exception Handling Techniques (the book grow out of a ECOOP 2000 workshop) , 2001 .

[6]  William F. McColl Universal Computing , 1996, Euro-Par, Vol. I.

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

[8]  Jesper Larsson Träff,et al.  Verifying Collective MPI Calls , 2004, PVM/MPI.

[9]  Pierre Castéran,et al.  Interactive Theorem Proving and Program Development , 2004, Texts in Theoretical Computer Science An EATCS Series.

[10]  Murray Cole,et al.  Algorithmic Skeletons: Structured Management of Parallel Computation , 1989 .

[11]  Frédéric Loulergue,et al.  A calculus of functional BSP programs with projection , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

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

[13]  William F. McColl,et al.  Scalability, portability and predictability: The BSP approach to parallel programming , 1996, Future Gener. Comput. Syst..

[14]  Simon L. Peyton Jones,et al.  Asynchronous exceptions in Haskell , 2001, PLDI '01.

[15]  Beniamino Di Martino,et al.  Parallel program analysis and restructuring by detection of point-to-point interaction patterns and their transformation into collective communication constructs , 2001, Sci. Comput. Program..

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

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

[18]  Xavier Leroy The objective caml system release 3 , 2001 .

[19]  Philippe de Groote,et al.  A Simple Calculus of Exception Handling , 1995, TLCA.

[20]  Jack Dongarra,et al.  MPI: The Complete Reference , 1996 .

[21]  Sergei Gorlatch,et al.  Message passing without send-receive , 2002, Future Gener. Comput. Syst..

[22]  Frédéric Loulergue,et al.  Semantics of an Exception Mechanism for Bulk Synchronous Parallel ML , 2007, Eighth International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT 2007).

[23]  François Pessaux,et al.  Type-based analysis of uncaught exceptions , 2000, TOPL.

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

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

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

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

[28]  Frédéric Loulergue,et al.  Bulk Synchronous Parallel ML: Modular Implementation and Performance Prediction , 2005, International Conference on Computational Science.

[29]  Ami Marowka,et al.  Parallel Scientific Computation: A Structured Approach using BSP and MPI , 2006, Scalable Comput. Pract. Exp..

[30]  Alexander Tiskin Communication-efficient parallel generic pairwise elimination , 2007, Future Gener. Comput. Syst..

[31]  Yuguang Huang,et al.  A Two-Way BSP Algorithm for Tridiagonal Systems , 1997, HPCN Europe.

[32]  Frédéric Loulergue,et al.  A calculus of functional BSP programs , 2000, Sci. Comput. Program..