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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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)
Aldinucci, M., Danelutto, M., Teti, P.: An advanced environment supporting structured parallel programming in Java. Future Generation Computer Systems 19, 611–626 (2003)
Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development. Springer, Heidelberg (2004)
Bertot, Y.: Coq in a hurry (2006), http://hal.inria.fr/inria-00001173
Bisseling, R.: Parallel Scientific Computation. A structured approach using BSP and MPI. Oxford University Press, Oxford (2004)
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)
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)
Cole, M.: Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press, Cambridge (1989), http://homepages.inf.ed.ac.uk/mic/Pubs
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)
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)
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)
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)
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)
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)
Hidalgo-Herrero, M., Ortega-Mallén, Y.: An Operational Semantics for the Parallel Language Eden. Parallel Processing Letters 12(2), 211–228 (2002)
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)
Leroy, X.: Formal verification of a realistic compiler. CACM 52(7), 107–115 (2009)
Leroy, X.: A formally verified compiler back-end. Journal of Automated Reasoning 43(4), 363–446 (2009)
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)
Loogen, R., Ortega-Mallen, Y., Pena-Mari, R.: Parallel functional programming in eden. Journal of Functional Programming 3(15), 431–475 (2005)
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)
McColl, W.F.: Scalability, portability and predictability: The BSP approach to parallel programming. Future Generation Computer Systems 12, 265–272 (1996)
Pelagatti, S.: Structured Development of Parallel Programs. Taylor & Francis, Abington (1998)
Rabhi, F.A., Gorlatch, S. (eds.): Patterns and Skeletons for Parallel and Distributed Computing. Springer, Heidelberg (2003)
Skillicorn, D.B., Hill, J.M.D., McColl, W.F.: Questions and Answers about BSP. Scientific Programming 6(3), 249–274 (1997)
The Coq Development Team: The Coq Proof Assistant, http://coq.inria.fr
Valiant, L.G.: A bridging model for parallel computation. Comm. of the ACM 33(8), 103 (1990)
Veldhuizen, T.: Techniques for Scientific C++. Computer science technical report 542, Indiana University (2000)
Wadler, P.: Monads for Functional Programming. In: Jeuring, J., Meijer, E. (eds.) AFP 1995. LNCS, vol. 925, pp. 24–52. Springer, Heidelberg (1995)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)