Skip to main content

Sharing mutable objects and controlling groups of tasks in a concurrent and distributed language

  • Invited Talk 2
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 907))

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.

Unable to display preview. Download preview PDF.

Bibliography

  1. 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.

    Google Scholar 

  2. William Clinger and Jonathan A Rees. The revised4 report on the algorithmic language scheme. Lisp Pointer, 4(3), 1991.

    Google Scholar 

  3. J. Fidge. Timestamps in message passing systems that preserve the partial ordering. In Proc. 11th. Australian Computer Science Conference, pages 55–66, 1988.

    Google Scholar 

  4. Daniel P Friedman, Mitchell Wand, and Christopher Haynes. Essentials of Programming Languages. MIT Press, Cambridge MA and McGraw-Hill, 1992.

    Google Scholar 

  5. Peter Henderson. Functional Programming, Application and Implementation. International Series in Computer Science. Prentice-Hall, 1980.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. F. Mattern. Virtual time and global states of distributed systems. In Parallel and Distributed Algorithms, pages 215–226. North-Holland, 1988.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. Masaaki Mizuno, Gurdip Singh, Michel Raynal, and Mitchell L Neilsen. Communication efficient distributed shared memories. Research Report 1817, INRIA, December 1992.

    Google Scholar 

  11. Katia Obraczka, Peter B Danzig, and Shih-Hao Li. Internet resource discovery services. Computer, 26(9):8–24, September 1993.

    Article  Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. David A Schmidt. Denotational Semantics, a Methodology for Language Development. Allyn and Bacon, 1986.

    Google Scholar 

  18. Joseph E Stoy. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press, Cambridge Massachusetts USA, 1977.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Takayasu Ito Akinori Yonezawa

Rights and permissions

Reprints 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

Publish with us

Policies and ethics