Abstract
Distributed Places bring new support for distributed, message-passing parallelism to Racket. This paper gives an overview of the programming model and how we had to modify our existing, runtime-system to support distributed places. We show that the freedom to design the programming model helped us to make the implementation tractable. The paper presents an evaluation of the design, examples of higher-level API’s that can be built on top of distributed places, and performance results of standard parallel benchmarks.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Apache Software Foundation. Hadoop (2012), http://hadoop.apache.org
Blelloch, G.E.: Programming Parallel Algorithms. Communications of the ACM (1996)
Cejtin, H., Jagannathan, S., Kelsey, R.: Higher-Order Distributed Objects. ACM Transactions on Programming Languages and Systems, TOPLAS (1995)
Dean, J., Ghemawat, S.: MapReduce: Simplified Data Processing on Large Clusters. In: OSDI 2004: Sixth Symposium on Operating System Design and Implementation (2004)
Epstein, J., Black, A.P., Peyton-Jones, S.: Haskell for the Cloud. In: Proceedings of the 4th ACM Symposium on Haskell, Haskell 2011 (2011)
Epstein, J.: Functional programming for the data centre. MS thesis, University of Cambridge (2011)
Fuchs, M.: Dreme: for Life in the Net. PhD dissertation, New York University (1995)
Germain, G., Feeley, M., Monnier, S.: Concurrency Oriented Programming in Termite Scheme. In: Proc. Scheme and Functional Programming (2006)
Blelloch, G.E., Hardwick, J.C., Chatterjee, S., Sipelstein, J., Zagha, M.: Implementation of a portable nested data-parallel lang. In: Proceedings of the Fourth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 1993 (1993)
Hewitt, C., Bishop, P., Steiger, R.: A Universal Modular ACTOR Formalism for Artificial Intelligence. In: Proceedings of the 3rd International Joint Conference on Artificial Intelligence, IJCAI 1973 (1973)
Isard, M., Budiur, M., Yu, Y., Birrell, A., Fetterly, D.: Dryad: Distributed Data-Parallel Programs from Sequential Building Blocks. In: European Conference on Computer Systems, EuroSys (2007)
Maier, P., Trinder, P., Loidl, H.-W.: High-level Distributed-Memory Parallel Haskell in Haskell. In: Symposium on Implementation and Application of Functional Languages (2011)
Message Passing Interface Forum. MPI-2: Extensions to the Message-Passing Interface (2003), http://www.mpi-forum.org/docs/mpi2-report.pdf
MPICH. MPICH (2013), http://www.mcs.anl.gov/mpich2
Rinard, M.C., Lam, M.S.: The Design, Implementation, and Evaluation of Jade. ACM Transactions on Programming Languages and Systems 20(1), 1–63 (1998)
Sagonas, K., Wilhelmsson, J.: Efficient Memory Management for Concurrent Programs that use Message Passing. Science of Computer Programming 62(2), 98–121 (2006)
Schwendner, A.: Distributed Functional Programming in Scheme. MS thesis, Massachusetts Institute of Technology (2010), http://groups.csail.mit.edu/commit/papers/2010/alexrs-meng-thesis.pdf
Tew, K., Swaine, J., Flatt, M., Findler, R.B., Dinda, P.: Places: Adding Message-Passing Parallelism to Racket. In: Dynamic Language Symposium (2011)
Typesafe Inc. Akka (2012), http://akka.io
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tew, K., Swaine, J., Flatt, M., Findler, R.B., Dinda, P. (2014). Distributed Places. In: McCarthy, J. (eds) Trends in Functional Programming. TFP 2013. Lecture Notes in Computer Science, vol 8322. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-45340-3_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-45340-3_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-45339-7
Online ISBN: 978-3-642-45340-3
eBook Packages: Computer ScienceComputer Science (R0)