Abstract
BSML is a library for parallel programming with the functional language Objective Caml. It is based on an extension of the λ-calculus by parallel operations on a parallel data structure named parallel vector. The execution time can be estimated, dead-locks and indeterminism are avoided. Programs are written as usual functional programs (in Objective Caml) but using a small set of additional functions. Provided functions are used to access the parameters of the parallel machine and to create and operate on parallel vectors. It follows the execution and cost model of the Bulk Synchronous Parallel model. The paper presents the lastest implementation of this library and experiments of performance prediction.
Chapter PDF
Similar content being viewed by others
References
Bisseling, R.: Parallel Scientific Computation. A structured approach using BSP and MPI. Oxford University Press, Oxford (2004)
Bonorden, O., Juurlink, B., von Otte, I., Rieping, O.: The Paderborn University BSP (PUB) library. Parallel Computing 29(2), 187–207 (2003)
Chan, A., Dehne, F.: CGMgraph/CGMlib: Implementing and Testing CGM Graph Algorithms on PC Clusters. In: Proceedings of the 10th EuroPVM/MPI conference. Springer, Heidelberg (2003)
Cole, M., Hayashi, Y.: Static Performance Prediction of Skeletal Programs. Parallel Algorithms and Applications 17(1), 59–84 (2002)
Gava, F.: Formal Proofs of Functional BSP Programs. Parallel Processing Letters 13(3), 365–376 (2003)
Gava, F., Loulergue, F.: A Static Analysis for Bulk Synchronous Parallel ML to Avoid Parallel Nesting. Future Generation Computer Systems (2005) (to appear)
Geist, A., Beguelin, A., Dongarra, J., Jiang, W., Manchek, R., Sunderam, V.: PVM Parallel Virtual Machine. A User’s Guide and Tutorial for Networked Parallel Computing. Scientific and Engineering Computation Series. MIT Press, Cambridge (1994)
Hill, J.M.D., McColl, W.F., et al.: BSPlib: The BSP Programming Library. Parallel Computing 24, 1947–1980 (1998)
Hinsen, K.: High-Level Parallel Software Development with Python and BSP. Parallel Processing Letters 13(3), 461–472 (2003)
Jarvis, S.A., Hill, J.M.D., Siniolakis, C.J., Vasilev, V.P.: Portable and architecture independent parallel performance tuning using BSP. Parallel Computing 28, 1587–1609 (2002)
Kessler, C.: Managing distributed shared arrays in a bulk-synchronous parallel environment. Concurrency and Computation: Practice and Experience 16, 133–153 (2004)
Leroy, X., Doligez, D., Garrigue, J., Rémy, D., Vouillon, J.: The Objective Caml System release 3.08 (2004), web pages at www.ocaml.org
Miller, Q.: BSP in a Lazy Functional Context. In: Trends in Functional Programming, vol. 3. Intellect Books (May 2002)
Snir, M., Gropp, W.: MPI the Complete Reference. MIT Press, Cambridge (1998)
Valiant, L.G.: A bridging model for parallel computation. Communications of the ACM 33(8), 103–111 (1990)
Zavanella, A.: Skeletons, BSP and performance portability. Parallel Processing Letters 11(4), 393–405 (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Loulergue, F., Gava, F., Billiet, D. (2005). Bulk Synchronous Parallel ML: Modular Implementation and Performance Prediction. In: Sunderam, V.S., van Albada, G.D., Sloot, P.M.A., Dongarra, J.J. (eds) Computational Science – ICCS 2005. ICCS 2005. Lecture Notes in Computer Science, vol 3515. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11428848_132
Download citation
DOI: https://doi.org/10.1007/11428848_132
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-26043-1
Online ISBN: 978-3-540-32114-9
eBook Packages: Computer ScienceComputer Science (R0)