Abstract
Minimally Synchronous Parallel ML (MSPML) is a functional parallel programming language. It is based on a small number of primitives on a parallel data structure. MSPML programs are written like usual sequential ML program and use this small set of functions. MSPML is deterministic and deadlock free. The execution time of the programs can be estimated.
Divide-and-conquer is a natural way of expressing parallel algorithms. MSPML is a flat language: it is not possible to split the parallel machine in order to implement divide-and-conquer parallel algorithms. This paper presents an extension of MSPML to deal with this kind of algorithms: a parallel composition primitive.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Leroy, X., Doligez, D., Garrigue, J., Rémy, D., Vouillon, J.: The Objective Caml System release 3.09 (2005), web pages at: www.ocaml.org
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)
Valiant, L.G.: A bridging model for parallel computation. Communications of the ACM 33(8), 103–111 (1990)
Gava, F., Loulergue, F.: A Functional Language for Departmental Metacomputing. Parallel Processing Letters 15(3), 289–304 (2005)
Roda, J.L., Rodríguez, C., Morales, D.G., Almeida, F.: Predicting the execution time of message passing models. Concurrency: Practice and Experience 11(9), 461–477 (1999)
Loulergue, F., Gava, F., Arapinis, M., Dabrowski, F.: Semantics and Implementation of Minimally Synchronous Parallel ML. International Journal of Computer and Information Science 5(3), 182–199 (2004)
Cole, M.: Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press, Cambridge (1989)
Pelagatti, S.: Structured Development of Parallel Programs. Taylor & Francis, Abington (1998)
Bamha, M.: L’implémentation d’un langage portable à parallélisme emboîté en processus statiques. Master thesis, University of Orléans, LIFO (1996)
Blelloch, G., Chatterjee, S., Hardwick, J., Sipelstein, J., Zagha, M.: Implementation of a portable nested data-parallel language. Journal of Parallel and Distributed Computing 21(1), 4–14 (1994)
Hu, Z., Takahashi, T., Iwasaki, H., Takeichi, M.: Segmented Diffusion Theorem. In: IEEE International Conference on Systems, Man and Cybernetics (SMC 2002), October 6-9, 2002, IEEE Press, Los Alamitos (2002)
Melin, E., Raffin, B., Rebeuf, X., Virot, B.: A Structured Synchronization and Communication Model Fitting Irregular Data Accesses. Journal of Parallel and Distributed Computing 50, 3–27 (1998)
Tiskin, A.: A New Way to Divide and Conquer. Parallel Processing Letters (4) (2001)
Martin, J.M.R., Tiskin, A.: BSP modelling a two-tiered parallel architectures. In: Cook, B.M. (ed.) WoTUG 1990, pp. 47–55 (1999)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Benheddi, R., Loulergue, F. (2008). Divide-and-Conquer Parallel Programming with Minimally Synchronous Parallel ML. In: Wyrzykowski, R., Dongarra, J., Karczewski, K., Wasniewski, J. (eds) Parallel Processing and Applied Mathematics. PPAM 2007. Lecture Notes in Computer Science, vol 4967. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-68111-3_114
Download citation
DOI: https://doi.org/10.1007/978-3-540-68111-3_114
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-68105-2
Online ISBN: 978-3-540-68111-3
eBook Packages: Computer ScienceComputer Science (R0)