Abstract
Larchant-RDOSS is a distributed shared memory that persists on reliable storage across process lifetimes. Memory management is automatic: caching of data and of locks, coherence, collecting objects unreachable from the persistent root, writing reachable objects to disk, and reducing store fragmentation. Memory management is based on a novel garbage collection algorithm, that (i) approximates a global trace by a series of partial traces within dynamically determined subsets of the memory, (ii) causes no extra I/O or locking traffic, and (iii) needs no extra synchronization between the collector and the application processes. This results in a simple programming model, and expected minimal added application latency. The algorithm is designed for the most unfavorable environment (uncontrolled programming language, reference by pointers, non-coherent shared memory) and should work well also in more favorable settings.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Work conducted in part during sabbatical year at Cornell University, supported by funding from Cornell University, Isis Distributed Systems Inc., INRIA, and NATO.
With support from a JNICT Fellowship of Program Ciência (Portugal)
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Laurent Amsaleg, Michael Franklin, and Olivier Gruber. Efficient incremental garbage collection for workstation/server database systems. Rapport de Recherche RR-2409, Institut National de la Recherche en Informatique et Automatique, Rocquencourt (France), November 1994.
Andrew W. Appel, John R. Ellis, and Kai Li. Real-time concurrent garbage collection on stock multiprocessors. In Proc. Prog. Lang. Design and Implementation, pages 11–20, 1988.
M. P. Atkinson, P. J. Bailey, K. J. Chisholm, P. W. Cockshott, and R. Morrison. An approach to persistent programming. The Computer Journal, 26(4):360–365, 1983.
Özalp Babaoğlu and Keith Marzullo. Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms, chapter 4, pages 55–93. Addison-Wesley, ACM Press, second edition edition, 1993.
Kenneth Birman, Andre Schiper, and Pat Stephenson. Lightweight causal and atomic group multicast. ACM Transactions on Computer Systems, 9(3):272–314, August 1991.
Andrew Birrell, Greg Nelson, Susan Owicki, and Edward Wobber. Network objects. In Proceedings of the 14th ACM Symposium on Operating Systems Principles, pages 217–230, Asheville, NC (USA), December 1993.
Peter B. Bishop. Computer Systems with a Very Large Address Space and Garbage Collection. PhD thesis, Massachusetts Institute of Technology Laboratory for Computer Science, Cambridge, Mass. (USA), May 1977. Technical report MIT/LCS/TR-178.
Hans-Juergen Boehm and Mark Weiser. Garbage collection in an uncooperative environment. Software-Practice and Experience, 18(9):807–820, September 1988.
Jonathan E. Cook, Alexander L. Wolf, and Benjamin G. Zorn. Partition selection policies in object database garbage collection. In Proc. Int. Conf. on Management of Data (SIGMOD), pages 371–382, Minneapolis MN (USA), May 1994. ACM SIGMOD.
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 Lang., pages 113–123, Charleston SC (USA), January 1993.
Paulo Ferreira and Marc Shapiro. Garbage collection and DSM consistency. In Proc. of the First Symposium on Operating Systems Design and Implementation (OSDI), pages 229–241, Monterey CA (USA), November 1994. ACM.
Olivier Gruber and Laurent Amsaleg. Object grouping in Eos. In Proc. Int. Workshop on Distributed Object Management, pages 184–201, Edmonton (Canada), August 1992.
Bett Koch, Tracy Schunke, Alan Dearle, Francis Vaughan, Chris Marlin, Ruth Fazakerley, and Chris Barter. Cache coherency and storage management in a persistent object system. In Proceedings of the Fourth International Workshop on Persistent Object Systems, pages 99–109, Martha's Vineyard, MA (USA), September 1990.
Bernard Lang, Christian Queinnec, and José Piquer. Garbage collecting the world. In Proc. of the 19th Annual ACM SIGPLAN-SIGACT Symp. on Principles of Programming Lang., Albuquerque, New Mexico (USA), January 1992.
T. Le Sergent and B. Berthomieu. Incremental multi-threaded garbage collection on virtually shared memory architectures. In Proc. Int. Workshop on Memory Management, number 637 in Lecture Notes in Computer Science, pages 179–199, Saint-Malo (France), September 1992. Springer-Verlag.
Umesh Maheshwari. Distributed garbage collection in a client-server, transactional, persistent object system. Technical Report MIT/LCS/TM-574, Mass. Inst. of Technology, Lab. for Comp. Sc., Cambridge, MA (USA), October 1993.
R. Morrison, M. P. Atkinson, A. L. Brown, and A. Dearle. Bindings in persistent programming languages. SIGPLAN Notices, 23(4):27–34, April 1988.
James O'Toole, Scott Nettles, and David Gifford. Concurrent compacting garbage collection of a persistent heap. In Proceedings of the 14th ACM Symposium on Operating Systems Principles, pages 161–174, Asheville, NC (USA), December 1993.
Mendel Rosenblum and John K. Ousterhout. The design and implementation of a logstructured file system. ACM Transactions on Computer Systems, 10(1):26–52, February 1992.
Marc Shapiro, Peter Dickman, and David Plainfossé. SSP chains: Robust, distributed references supporting acyclic garbage collection. Rapport de Recherche 1799, Institut National de la Recherche en Informatique et Automatique, Rocquencourt France, nov 1992. Also available as Broadcast Technical Report #1.
Paul R. Wilson. Uniprocessor garbage collection techniques. In Proc. Int. Workshop on Memory Management, number 637 in Lecture Notes in Computer Science, Saint-Malo (France), September 1992. Springer-Verlag.
Paul R. Wilson and Sheetal V. Kakkad. Pointer swizzling at page fault time: Efficiently and compatibly supporting huge address spaces on standard hardware. In 1992 Int. Workshop on Object Orientation and Operating Systems, pages 364–377, Dourdan (France), October 1992. IEEE Comp. Society, IEEE Comp. Society Press.
V. Yong, J. Naughton, and J. Yu. Storage reclamation and reorganization in client-server persistent object stores. In Proc. of the Data Engineering Int. Conf., pages 120–133, Houston TX (USA), February 1994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Shapiro, M., Ferreira, P. (1995). Larchant-RDOSS: A distributed shared persistent memory and its garbage collector. In: Hélary, JM., Raynal, M. (eds) Distributed Algorithms. WDAG 1995. Lecture Notes in Computer Science, vol 972. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0022148
Download citation
DOI: https://doi.org/10.1007/BFb0022148
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60274-3
Online ISBN: 978-3-540-44783-2
eBook Packages: Springer Book Archive