Skip to main content

A Formal Programming Model of Orléans Skeleton Library

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6873))

Abstract

Orléans Skeleton Library (OSL) is a library of parallel algorithmic skeletons in C++ on top of MPI. It provides a structured approach to parallel programming. Skeletons in OSL are based on the bulk synchronous parallelism model. In this paper we present a formal semantics of OSL: its programming model formalised with the Coq proof assistant.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aldinucci, M., Danelutto, M.: Skeleton-based parallel programming: Functional and parallel semantics in a single shot. Computer Languages, Systems and Structures 33(3-4), 179–192 (2007)

    Article  MATH  Google Scholar 

  2. Aldinucci, M., Danelutto, M., Teti, P.: An advanced environment supporting structured parallel programming in Java. Future Generation Computer Systems 19, 611–626 (2003)

    Article  Google Scholar 

  3. Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development. Springer, Heidelberg (2004)

    Book  MATH  Google Scholar 

  4. Bertot, Y.: Coq in a hurry (2006), http://hal.inria.fr/inria-00001173

  5. Bisseling, R.: Parallel Scientific Computation. A structured approach using BSP and MPI. Oxford University Press, Oxford (2004)

    MATH  Google Scholar 

  6. Bousdira, W., Gesbert, L., Loulergue, F.: Syntaxe et sémantique de Revised Bulk Synchronous Parallel ML. In: Conchon, S., Mahboubi, A. (eds.) Journées Francophones des Langages Applicatifs (JFLA), pp. 117–146. Studia Informatica Universalis, Hermann (2011)

    Google Scholar 

  7. Caromel, D., Henrio, L., Leyton, M.: Type safe algorithmic skeletons. In: 16th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP 2008), pp. 45–53. IEEE Computer Society, Los Alamitos (2008)

    Chapter  Google Scholar 

  8. Cole, M.: Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press, Cambridge (1989), http://homepages.inf.ed.ac.uk/mic/Pubs

    MATH  Google Scholar 

  9. Darlington, J., Field, A.J., Harrison, P.G., Kelly, P., Sharp, D., Wu, Q., While, R.: Parallel Programming Using Skeleton Functions. In: Reeve, M., Bode, A., Wolf, G. (eds.) PARLE 1993. LNCS, vol. 694. Springer, Heidelberg (1993)

    Google Scholar 

  10. Di Cosmo, R., Pelagatti, S., Li, Z.: A calculus for parallel computations over multidimensional dense arrays. Computer Language Structures and Systems 33(3-4), 82–110 (2007)

    Article  MATH  Google Scholar 

  11. Falcou, J., Sérot, J.: Formal Semantics Applied to the Implementation of a Skeleton-Based Parallel Programming Library. In: Bischof, C.H., Bücker, H.M., Gibbon, P., Joubert, G.R., Lippert, T., Mohr, B., Peters, F.J. (eds.) Advances in Parallel Computing Parallel Computing: Architectures, Algorithms and Applications, ParCo 2007, vol. 15, pp. 243–252. IOS Press, Amsterdam (2007)

    Google Scholar 

  12. Gava, F., Loulergue, F.: A Polymorphic Type System for Bulk Synchronous Parallel ML. In: Malyshkin, V. (ed.) PaCT 2003. LNCS, vol. 2763, pp. 215–229. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  13. Gesbert, L., Hu, Z., Loulergue, F., Matsuzaki, K., Tesson, J.: Systematic Development of Correct Bulk Synchronous Parallel Programs. In: The 11th International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT), pp. 334–340. IEEE Computer Society, Los Alamitos (2010)

    Google Scholar 

  14. González-Vélez, H., Leyton, M.: A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers. Software, Practrice & Experience 40(12), 1135–1160 (2010)

    Article  Google Scholar 

  15. Hidalgo-Herrero, M., Ortega-Mallén, Y.: An Operational Semantics for the Parallel Language Eden. Parallel Processing Letters 12(2), 211–228 (2002)

    Article  Google Scholar 

  16. Javed, N., Loulergue, F.: OSL: Optimized Bulk Synchronous Parallel Skeletons on Distributed Arrays. In: Dou, Y., Gruber, R., Joller, J.M. (eds.) APPT 2009. LNCS, vol. 5737, pp. 436–451. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  17. Leroy, X.: Formal verification of a realistic compiler. CACM 52(7), 107–115 (2009)

    Article  Google Scholar 

  18. Leroy, X.: A formally verified compiler back-end. Journal of Automated Reasoning 43(4), 363–446 (2009)

    Article  MATH  Google Scholar 

  19. Leyton, M., Henrio, L., Piquer, J.M.: Exceptions for algorithmic skeletons. In: D’Ambra, P., Guarracino, M., Talia, D. (eds.) Euro-Par 2010. LNCS, vol. 6272, pp. 14–25. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  20. Loogen, R., Ortega-Mallen, Y., Pena-Mari, R.: Parallel functional programming in eden. Journal of Functional Programming 3(15), 431–475 (2005)

    Article  MATH  Google Scholar 

  21. 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)

    Chapter  Google Scholar 

  22. McColl, W.F.: Scalability, portability and predictability: The BSP approach to parallel programming. Future Generation Computer Systems 12, 265–272 (1996)

    Article  Google Scholar 

  23. Pelagatti, S.: Structured Development of Parallel Programs. Taylor & Francis, Abington (1998)

    Google Scholar 

  24. Rabhi, F.A., Gorlatch, S. (eds.): Patterns and Skeletons for Parallel and Distributed Computing. Springer, Heidelberg (2003)

    MATH  Google Scholar 

  25. Skillicorn, D.B., Hill, J.M.D., McColl, W.F.: Questions and Answers about BSP. Scientific Programming 6(3), 249–274 (1997)

    Article  Google Scholar 

  26. The Coq Development Team: The Coq Proof Assistant, http://coq.inria.fr

  27. Valiant, L.G.: A bridging model for parallel computation. Comm. of the ACM 33(8), 103 (1990)

    Article  Google Scholar 

  28. Veldhuizen, T.: Techniques for Scientific C++. Computer science technical report 542, Indiana University (2000)

    Google Scholar 

  29. Wadler, P.: Monads for Functional Programming. In: Jeuring, J., Meijer, E. (eds.) AFP 1995. LNCS, vol. 925, pp. 24–52. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Javed, N., Loulergue, F. (2011). A Formal Programming Model of Orléans Skeleton Library. In: Malyshkin, V. (eds) Parallel Computing Technologies. PaCT 2011. Lecture Notes in Computer Science, vol 6873. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-23178-0_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-23178-0_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-23177-3

  • Online ISBN: 978-3-642-23178-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics