Larchant-RDOSS: A distributed shared persistent memory and its garbage collector

  • Marc Shapiro
  • Paulo Ferreira
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 972)

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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.Google Scholar
  2. 2.
    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.Google Scholar
  3. 3.
    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.Google Scholar
  4. 4.
    Ö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.Google Scholar
  5. 5.
    Kenneth Birman, Andre Schiper, and Pat Stephenson. Lightweight causal and atomic group multicast. ACM Transactions on Computer Systems, 9(3):272–314, August 1991.CrossRefGoogle Scholar
  6. 6.
    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.Google Scholar
  7. 7.
    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.Google Scholar
  8. 8.
    Hans-Juergen Boehm and Mark Weiser. Garbage collection in an uncooperative environment. Software-Practice and Experience, 18(9):807–820, September 1988.Google Scholar
  9. 9.
    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.Google Scholar
  10. 10.
    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.Google Scholar
  11. 11.
    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.Google Scholar
  12. 12.
    Olivier Gruber and Laurent Amsaleg. Object grouping in Eos. In Proc. Int. Workshop on Distributed Object Management, pages 184–201, Edmonton (Canada), August 1992.Google Scholar
  13. 13.
    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.Google Scholar
  14. 14.
    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.Google Scholar
  15. 15.
    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.Google Scholar
  16. 16.
    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.Google Scholar
  17. 17.
    R. Morrison, M. P. Atkinson, A. L. Brown, and A. Dearle. Bindings in persistent programming languages. SIGPLAN Notices, 23(4):27–34, April 1988.Google Scholar
  18. 18.
    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.Google Scholar
  19. 19.
    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.CrossRefGoogle Scholar
  20. 20.
    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.Google Scholar
  21. 21.
    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.Google Scholar
  22. 22.
    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.Google Scholar
  23. 23.
    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.Google Scholar

Copyright information

© Springer-Verlag 1995

Authors and Affiliations

  • Marc Shapiro
    • 1
  • Paulo Ferreira
    • 1
    • 2
  1. 1.INRIA RocquencourtFrance
  2. 2.Université Pierre et Marie CurieParis

Personalised recommendations