Formal models of distributed memory management
Abstract
We develop am abstract model of memory management in distributed systems. The model is low-level enough so that we can express communication, allocation and garbage collection, but otherwise hides many of the lower-level details of an actual implementation.Recently, such formal models have been developed for memory management in a functional, sequential setting [10]. The models are rewriting systems whose terms are programs. Programs have both the "code" (control string) and the "store" syntactically apparent. Evaluation is expressed as conditional rewriting and includes store operations. Garbage collection becomes a rewriting relation that removes part of the store without affecting the behavior of the program.Distribution adds another dimension to an already complex problem. By using techniques developed for communicating and concurrent systems [9], we extend their work to a distributed environment. Sending and receiving messages is also made apparent at the syntactic level. A very general garbage collection rule based on reachability is introduced and proved correct. Now proving correct a specific collection strategy is reduced to showing that the relation between programs defined by the strategy is a sub-relation of the general relation. Any actual implementation which is capable of providing the transitions (including their atomicity constraints) specified by the strategy is therefore correct.This model allows us to specify and prove correct in a compact manner two garbage collectors; the first one does a simple garbage collection local to a node. The second garbage collector uses migration of data in order to be able to reclaim inter-node cyclic garbage.
References
[1]
M. Ben-Art. Algorithms for on-the-fly garbage collection. A CM Transactions on Programming Languages and Systems, 6, 1984.
[2]
Gerard Boudol. Towards a lambda-calculus for concurrent and communicating systems. TAPSOFT'89 LNCS 351, pages 149-161, 1989.
[3]
Edsger Dijkstra, Leslie Lamport, A.J. Martin, C.S. Scholten, and E.F.M. Steffens. On-the-fly garbage collection: An exercise in cooperation. Communications of the ACM, 21(11):966-975, 1978.
[4]
Matthias Felleisen and Robert Hieb. The revised report on the syntactic theories of sequential control and state. Theoretical Computer Science, 102, 1992.
[5]
Benjamin Goldberg and Michael Gloger. Polymorphic type reconstruction for garbage collection without tags. Symposium on LISP and Functional Programming, 1992.
[6]
Paul Hudak and Robert Keller. Garbage collection and task deletion in distributed applicative processing systems. Symposium on LISP and Functional Programming, pages 168-178, 1982.
[7]
john Hughes. A distributed garbage collection algorithm. In knanctional Programming Languages and Computer Architectures, number 201 in Lecture Notes in Computer Science, pages 256-271. Springer-Verlag, 1985.
[8]
Robin Milner. A calculus for communicating systems. Lecture Notes in Computer Science, 92, 1980.
[9]
Robin Milner. Communication and Concurrency. International Series in Computer Science. Prentice Hall, 1989.
[10]
Greg Morrisett, Matthias Felleisen, and Robert Harper. Abstract models of memory management. in Functional Programming Languages and Computer Architectures, 1995.
[11]
Gordon Plotkin. Call-by-name, call-by-value and the A-calculus. Theoretical Computer Science, 1:125-159, 1975.
[12]
Mark Shapiro, David Plainfoss~, and Olivier Gruber. A garbage detection protocol for a realistic distributed object-support system. Technical Report 1320, IN- RIA, 1990.
Index Terms
- Formal models of distributed memory management
Recommendations
Formal models of distributed memory management
ICFP '97: Proceedings of the second ACM SIGPLAN international conference on Functional programmingWe develop am abstract model of memory management in distributed systems. The model is low-level enough so that we can express communication, allocation and garbage collection, but otherwise hides many of the lower-level details of an actual ...
Comments
Information & Contributors
Information
Published In
Aug. 1997
322 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/258949
- Chairmen:
- Simon Peyton Jones,
- Mads Tofte,
- Editor:
- A. Michael Berman
- August 1997326 pages
Copyright © 1997 ACM.
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]
Publisher
Association for Computing Machinery
New York, NY, United States
Publication History
Published: 01 August 1997
Published in SIGPLAN Volume 32, Issue 8
Check for updates
Qualifiers
- Article
Contributors
Other Metrics
Bibliometrics & Citations
Bibliometrics
Article Metrics
- 0Total Citations
- 415Total Downloads
- Downloads (Last 12 months)103
- Downloads (Last 6 weeks)20
Reflects downloads up to 31 Dec 2024
Other Metrics
Citations
View Options
Login options
Check if you have access through your login credentials or your institution to get full access on this article.
Sign in