Abstract
This paper presents: (i) an operational semantics, based on a functional framework, for a concurrent and distributed extension of the Scheme programming language, (ii) a coherency protocol taking care of shared mutable objects, (iii) a new coherency protocol to imperatively control hierarchical groups of cooperating tasks. These two protocols do not require broadcast, nor FIFO communications, nor a centralized machine; they allow to manage an unbound number of shared mutable values and groups of tasks. This paper also advocates for the use of a functional continuation-based presentation for these protocols.
This work has been partially funded by GDR-PRC de Programmation du CNRS.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
Bibliography
Gul Agha, Ian Mason, Scott Smith, and Carolyn Talcott. Towards a theory of actor computation. In W R Cleaveland, editor, CONCUR '92 — Proceedings of the Third International Conference on Concurrency Theory, LNCS630, pages 565–579. Springer-Verlag, 1992.
William Clinger and Jonathan A Rees. The revised4 report on the algorithmic language scheme. Lisp Pointer, 4(3), 1991.
J. Fidge. Timestamps in message passing systems that preserve the partial ordering. In Proc. 11th. Australian Computer Science Conference, pages 55–66, 1988.
Daniel P Friedman, Mitchell Wand, and Christopher Haynes. Essentials of Programming Languages. MIT Press, Cambridge MA and McGraw-Hill, 1992.
Peter Henderson. Functional Programming, Application and Implementation. International Series in Computer Science. Prentice-Hall, 1980.
David Kranz, Richard Kelsey, Jonathan A. Rees, Paul Hudak, James Philbin, and Norman I. Adams. Orbit: an optimizing compiler for scheme. In Proceedings of the SIGPLAN '86 Symposium on Compiler Construction, pages 219–233. ACM, June 1986.
Bernard Lang, Christian Queinnec, and José Piquer. Garbage collecting the world. In POPL '92 — Nineteenth Annual ACM symposium on Principles of Programming Languages, pages 39–50, Albuquerque (New Mexico, USA), January 1992.
F. Mattern. Virtual time and global states of distributed systems. In Parallel and Distributed Algorithms, pages 215–226. North-Holland, 1988.
Thanasis Mitsolides and Malcolm Harrison. Generators and the replicator control structure in the parallel environment of alloy. In PLDI '90 — ACM SIGPLAN Programming Languages Design and Implementation, pages 189–196, White Plains (New-York USA), 1990.
Masaaki Mizuno, Gurdip Singh, Michel Raynal, and Mitchell L Neilsen. Communication efficient distributed shared memories. Research Report 1817, INRIA, December 1992.
Katia Obraczka, Peter B Danzig, and Shih-Hao Li. Internet resource discovery services. Computer, 26(9):8–24, September 1993.
José Miguel Piquer. Indirect reference counting: A distributed garbage collection algorithm. In PARLE '91 — Parallel Architectures and Languages Europe, pages 150–165. Lecture Notes in Computer Science 505, Springer-Verlag, June 1991.
Christian Queinnec and David De Roure. Design of a concurrent and distributed language. In Robert H Halstead Jr and Takayasu Ito, editors, Parallel Symbolic Computing: Languages, Systems, and Applications, (US/Japan Workshop Proceedings), volume Lecture Notes in Computer Science 748, pages 234–259, Boston (Massachussetts USA), October 1993.
Christian Queinnec. A concurrent and distributed extension to scheme. In D. Etiemble and J-C. Syre, editors, PARLE '92 — Parallel Architectures and Languages Europe, pages 431–446, Paris (France), June 1992. Lecture Notes in Computer Science 605, Springer-Verlag.
Christian Queinnec. Designing Meroon v3. In Christian Rathke, Jürgen Kopp, Hubertus Hohl, and Harry Bretthauer, editors, Object-Oriented Programming in Lisp: Languages and Applications. A Report on the ECOOP'93 Workshop, number 788, Sankt Augustin (Germany), September 1993.
Christian Queinnec. Locality, causality and continuations. In LFP '94 — ACM Symposium on Lisp and Functional Programming, pages 91–102, Orlando (Florida, USA), June 1994. ACM Press.
David A Schmidt. Denotational Semantics, a Methodology for Language Development. Allyn and Bacon, 1986.
Joseph E Stoy. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press, Cambridge Massachusetts USA, 1977.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Queinnec, C. (1995). Sharing mutable objects and controlling groups of tasks in a concurrent and distributed language. In: Ito, T., Yonezawa, A. (eds) Theory and Practice of Parallel Programming. TPPP 1994. Lecture Notes in Computer Science, vol 907. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0026565
Download citation
DOI: https://doi.org/10.1007/BFb0026565
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-59172-6
Online ISBN: 978-3-540-49218-4
eBook Packages: Springer Book Archive