Abstract
Standard ML is an established programming language with a well-understood semantics. Several projects have enriched the language with primitives or constructions for concurrency, among them Poly/ML and LCS. We describe first the previous run-time systems for Poly/ML and LCS and then the development of a new memory management system, LEMMA, which allows parallel programs to be run on networks of workstations. LEMMA provides a distributed shared virtual memory with global garbage collection, and in addition allows each machine to run independent local collections. LEMMA is written as a separate layer from the run-time systems of Poly/ML and LCS and is independent of the object representations and process management schemes used in the languages. We give a description of LEMMA and the results of the execution of some preliminary test programs.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Andrew W. Appel, John R. Ellis, and Kai Li. Real-time concurrent collection on stock multiprocessors. In ACM SIGPLAN'88 Conference on Programming Language Design and Implementation, pages 11–20, June 1988.
Bernard Berthomieu and Thierry Le Sergent. Programming with behaviors in an ML framework: the syntax and semantics of LCS In Programming Languages and Systems — ESOP'94, LNCS 788, pages 89–104, April 1994
John B. Carter, John K. Bennet, and Willy Zwaenepoel. Implementation and performance of Munin. In Proceedings of the Thirteenth ACM Symposium on Operating Systems Principles, pages 152–164, October 1991.
Damien Doligez and Xavier Leroy. A concurrent, generational garbage collector for a multithreaded implementation of ML. In Proc. of the 20th Annual ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, pages 113–123, Charleston SC (USA), January 1993.
Paulo Ferreira and Marc Shapiro. Garbage Collection and DSM Consistency. Proceedings of the First Symposium on Operating Systems Design and Implementation (OSDI), Monterey, California, USA, November 1994.
Alessandro Giacalone, Prateek Mishra, and Sanjiva Prasad. Facile: A symmetric integration of concurrent and functional programming. International Journal of Parallel Programming, pages 121–160, 1989.
Robert H. Halstead Jr. Implementation of multilisp: Lisp on a multiprocessor. In 1984 ACM Symposium on LISP and Functional Programming, pages 9–17, August 1984.
Thierry Le Sergent and Bernard Berthomieu. Incremental Multi-threaded Garbage Collection on Virtually Shared Memory Architectures In Memory Management — IWMM'92, LNCS 637, pages 179–199, September 1992.
Thierry Le Sergent. Méthodes d'exécution, et machines virtuelles parallèles pour l'implantation distribuée du langage de programmation parallèle LCS. Thèse de doctorat de l'Université Paul Sabatier, Toulouse, Février 1993.
Kai Li and Paul Hudak. Memory coherence in shared virtual memory systems. ACM Transactions on Computer Systems, 7(4):321–359, November 1989.
Thierry Le Sergent and David C. J. Matthews. Actaptive selection of protocols for strict coherency in distributed shared memory. Report ECS-LFCS-94-306, LFCS, September 1994.
David C. J. Matthews. Papers on Poly/ML. Technical Report 161, Computer Laboratory, University of Cambridge, 1989
David C. J Matthews. A distributed concurrent implementation of Standard ML. In Proceedings of EurOpen Autumn 1991 Conference, Budapest, Hungary, September 1991. Also in LFCS Report Series ECS-LFCS-91-174.
David C. J. Matthews and Thierry Le Sergent. LEMMA Interface Definition. Report ECS-LFCS-95-316, LFCS, January 1995.
Robin Milner, Mads Tofte, and Robert Harper. The Definition of Standard ML. The MIT Press, 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag
About this paper
Cite this paper
Matthews, D.C.J., Le Sergent, T. (1995). LEMMA: A distributed shared memory with global and local garbage collection. In: Baler, H.G. (eds) Memory Management. IWMM 1995. Lecture Notes in Computer Science, vol 986. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60368-9_30
Download citation
DOI: https://doi.org/10.1007/3-540-60368-9_30
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60368-9
Online ISBN: 978-3-540-45511-0
eBook Packages: Springer Book Archive