Abstract
We propose a high-level approach to program distributed applications; it is based on the annotation future by which the programmer specifies which expressions may be evaluated remotely in parallel. We present the CEKDS-Machine, an abstract machine with a distributed memory, able to evaluate Scheme-like future-based programs. In this paper, we focus on the issue of task migration and prove that task migration is transparent to the user, i.e. task migration does not change the observable behaviour of programs.
This research was supported in part by the Engineering and Physical Sciences Research Council, grant GR/K30773.
Chapter PDF
References
Robert D. Blumofe, Christopher F. Joerg, Bradley C. Kuszmaul, C. E. Leiserson, Keith H. Randall, and Y. Zhou. Cilk: an Efficient Multithreaded Runtime System. In PPOPP'95, 1995.
K. M. Chandy and Kesselman C. CC++: A Declarative, Concurrent, Object Oriented Programming Notation. Technical Report CS-92-01, California Institute of Technology, 1992.
Marc Feeley. An Efficient and General Implementation of Futures on Large Scale Shared-Memory Multiprocessors. PhD thesis, Brandeis University, 1993.
M. Felleisen and D. Friedman. Control Operators, the SECD-Machine and the λ-Calculus. In Formal Description of Programming Concepts III, pages 193–217, 1986. Elsevier Pub.
Matthias Felleisen and Daniel P. Friedman. A Reduction Semantics for Imperative Higher-Order Languages. In PARLE'87, LNCS 259, pages 206–223. Springer-Verlag, 1987.
Cormac Flanagan and Matthias Felleisen. The Semantics of Future and Its Use in Program Optimization. In POPL'95. Also in Technical Reports 238, 239, Rice University, 1994.
I. Foster, R. Olson, and S. Tuecke. Productive Parallel Programming: The PCN Approach. Scientific Programming, 1(1):51–66, 1992.
Message Passing Interface Forum. A Message-Passing Interface Standard. Technical report, University of Tennessee, Knoxville, Tennessee, June 1995.
I. Foster, C. Kesselman, and S. Tuecke. The Nexus Apporach to Integrating Multithreading and Communications. Math. and Comp. Sci. Division, Argonne National Laboratory, 1995.
Al. Geist and al. PVM 3 User's Guide and Reference Manual. Technical report, Oak Ridge National Laboratory, Knoxville, Tennessee, May 1993.
Robert H. Halstead, Jr. New Ideas in Parallel Lisp: Language Design, Implementation. In Parallel Lisp: Languages and Systems, LNCS 441, pages 2–57, 1990.
Nevin Heintze. Set-Based Analysis of ML Programs. In Proceedings of the 1994 ACM Conference on Lisp and Functional Programming, pages 306–317, Orlando, Florida, June 1994.
Takayasu Ito and Manabu Matsui. A Parallel Lisp Language Pailisp and its Kernel Specification. In Parallel Lisp: Languages and Systems, LNCS 441, pages 58–100, 1990.
Takayasu Ito and Tomohiro Seino. On Pailisp Continuation and its Implementation. In Proceedings of the ACM SIGPLAN workshop on Continuations CW92, pages 73–90, 1992.
Morry Katz and Daniel Weise. Continuing Into the Future: On the Interaction of Futures and First-Class Continuations. In LFP'90, pages 176–184, June 1990.
Bernard Lang, Christian Queinnec, and José Piquer. Garbage Collecting the World. In POPL'92, pages 39–50, Albuquerque, New Mexico, 1992.
James S. Miller. MultiScheme: A Parallel Processing System Based on MIT Scheme. PhD thesis, MIT, 1987.
Eric Mohr, David A. Kranz, and Robert H. Halstead. Lazy Task Creation: a Technique for Increasing the Granularity of Parallel Programs. In LFP'90, pages 185–197, June 1990.
Luc Moreau. Sound Evaluation of Parallel Functional Programs with First-Class Continuations. PhD thesis, University of Liège, June 1994. Also available by anonymous ftp from ftp.montefiore.ulg.ac.be in directory pub/moreau.
Luc Moreau. The Semantics of Scheme with Future. In In ACM SIGPLAN International Conference on Functional Programming (ICFP'96), Philadelphia, May 1996.
Luc Moreau. Correctness of a Distributed-Memory Model for Scheme. Technical report M96/3, University of Southampton, 1996.
Luc Moreau and Daniel Ribbens. The Semantics of pcall and fork. In PSLS 95 — Parallel Symbolic Langages and Systems, LNCS 1068, Beaune, France, October 1995.
Julian Padget. Controlling (Virtual) Multicomputers. In Massively Parallel Computer Systems (MPCS'94), pages 102–112. IEEE Computer Society Press, 1994.
Christian Queinnec. Locality, Causality and Continuations. In Proceedings of the 1994 ACM Conference on Lisp and Functional Programming, Orlando, Florida, June 1994.
Christian Queinnec. Sharing mutable objects and controlling groups of tasks in a concurrent and distributed language. In TPPP'94, LNCS 700, pages 70–93, Sendai (Japan), 1994.
Christian Queinnec. DMEROON: a Distributed Class-based Causally-coherent Data Model: Preliminary Report. In Parallel Symbolic Languages and Systems., LNCS 1068, 1995.
C. Queinnec and D. De Roure. Design of a Concurrent and Distributed Language. In Parallel Symbolic Computing: Languages, Systems and Applications, LNCS'748, p. 234–259, 1992.
Pete Tinker and Morry Katz. Parallel Execution of Sequential Scheme with ParaTran. In LFP'88, pages 28–39, 1988.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Moreau, L. (1996). Correctness of a distributed-memory model for scheme. In: Bougé, L., Fraigniaud, P., Mignotte, A., Robert, Y. (eds) Euro-Par'96 Parallel Processing. Euro-Par 1996. Lecture Notes in Computer Science, vol 1123. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61626-8_82
Download citation
DOI: https://doi.org/10.1007/3-540-61626-8_82
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61626-9
Online ISBN: 978-3-540-70633-5
eBook Packages: Springer Book Archive