BSP Functional Programming: Examples of a Cost Based Methodology

  • Frédéric Gava
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5101)


Bulk-Synchronous Parallel ML (BSML) is a functional dataparallel language for the implementation of Bulk-Synchronous Parallel (BSP) algorithms. It makes an estimation of the execution time (cost) possible. This paper presents some general examples of BSML programs and a comparison of their predicted costs with the measured execution time on a parallel machine.


BSP Functional Programming Cost Prediction 


  1. 1.
    Akerholt, G., Hammond, K., Peyton-Jones, S., Trinder, P.: Processing transactions on GRIP, a parallel graph reducer. In: Reeve, M., Bode, A., Wolf, G. (eds.) PARLE 1993. LNCS, vol. 694. Springer, Heidelberg (1993)Google Scholar
  2. 2.
    Benoit, A., Robert, Y.: Mapping pipeline skeletons onto heterogeneous platforms. In: Shi, Y., van Albada, G.D., Dongarra, J., Sloot, P.M.A. (eds.) ICCS 2007. LNCS, vol. 4487, pp. 591–598. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  3. 3.
    Bisseling, R.H.: Parallel Scientific Computation. A structured approach using BSP and MPI. Oxford University Press, Oxford (2004)zbMATHGoogle Scholar
  4. 4.
    Bonorden, O., Juurlink, B., Von Otte, I., Rieping, O.: The Paderborn University BSP (PUB) library. Parallel Computing 29(2), 187–207 (2003)CrossRefGoogle Scholar
  5. 5.
    Chailloux, E., Foisy, C.: A Portable Implementation for Objective Caml Flight. Parallel Processing Letters 13(3), 425–436 (2003)CrossRefMathSciNetGoogle Scholar
  6. 6.
    Conchon, S., Le Fessant, F.: Jocaml: Mobile agents for Objective-Caml. In: ASA 1999, pp. 22–29. IEEE Press, Los Alamitos (1999)Google Scholar
  7. 7.
    Di Cosmo, R., Li, Z., Pelagatti, S., Weis, P.: Skeletal Parallel Programming with OcamlP3L 2.0. Parallel Processing Letters (2008)Google Scholar
  8. 8.
    Di Cosmo, R., Pelagatti, S., Li, Z.: A calculus for parallel computations over multidimensional dense arrays. Computer Language Structures and Systems (2005)Google Scholar
  9. 9.
    Gava, F.: External Memory in Bulk Synchronous Parallel ML. Scalable Computing: Practice and Experience 6(4), 43–70 (2005)Google Scholar
  10. 10.
    Hammond, K., Trinder, P.: Comparing parallel functional languages: Programming and performance. Higher-order and Symbolic Computation 15(3) (2003)Google Scholar
  11. 11.
    Hayashi, Y., Cole, M.: Bsp-based cost analysis of skeletal programs. In: Michaelson, G., Trinder, P., Loidl, H.-W. (eds.) Trends in Functional Programming, ch. 2, pp. 20–28 (2000)Google Scholar
  12. 12.
    Hill, J.M.D., McColl, W.F.: BSPlib: The BSP Programming Library. Parallel Computing 24, 1947–1980 (1998)CrossRefGoogle Scholar
  13. 13.
    Hinsen, K.: Parallel scripting with Python. Computing in Science & Engineering 9(6) (2007)Google Scholar
  14. 14.
    Krusche, P.: Experimental Evaluation of BSP Programming Libraries. Parallel Processing Letters (to appear, 2008)Google Scholar
  15. 15.
    Loulergue, F., Gava, F., Billiet, D.: Bulk Synchronous Parallel ML: Modular Implementation and Performance Prediction. In: Sunderam, V.S., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2005. LNCS, vol. 3515, pp. 1046–1054. Springer, Heidelberg (2005)Google Scholar
  16. 16.
    Scaife, N., Michaelson, G., Horiguchi, S.: Empirical Parallel Performance Prediction From Semantics-Based Profiling. Scalable Computing: Practice and Experience 7(3) (2006)Google Scholar
  17. 17.
    Skillicorn, D.B., Hill, J.M.D., McColl, W.F.: Questions and Answers about BSP. Scientific Programming 6(3), 249–274 (1997)Google Scholar
  18. 18.
    Verlaguet, J., Chailloux, E.: HirondML: Fair Threads Migrations for Objective Caml. Parallel Processing Letters (to appear, 2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Frédéric Gava
    • 1
  1. 1.Laboratory of Algorithms, Complexity and LogicUniversity of Paris-Est 

Personalised recommendations