Skip to main content

Concurrent Tracking of Stable Objects

  • Conference paper
Persistent Object Systems

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

  • 37 Accesses

Abstract

A stable heap is storage that is managed automatically using garbage collection, manipulated using atomic transactions, and accessed using a uniform storage model. These features enhance reliability and simplify programming by preventing errors due to explicit deallocation, by masking failures and concurrency using transactions, and by eliminating the distinction between accessing temporary storage and permanent storage. Stable heap management is useful for programming languages for reliable distributed computing, programming languages with persistent storage, and object-oriented database systems.

In a stable heap, some programmer specified roots are stable; the rest are volatile. An object becomes stable when it becomes reachable from a stable root. A recovery system ensures that the stable objects survive failures. Many objects are volatile (e.g., objects local to a procedure invocation) and do not need to persist across failures. We would like to avoid recovery costs for these volatile objects, incurring the costs of recovery only for stable objects. To this end, the recovery system uses a tracking algorithm to find objects as they become stable and ensure that they survive failure. This paper presents a concurrent tracking algorithm: tracking runs concurrently with transactions and other trackers.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Albano, L. Cardelli, and R. Orsini. A Strongly Typed Interactive Conceptual Language. ACM Transactions on Database Systems,10(2):230–260, June 1985.

    Google Scholar 

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

    MATH  Google Scholar 

  3. Alfred Brown and John Rosenberg. Persistent Object Stores: An Implementation Technique. In Alan Dearle, Gail M. Shaw, and Stanley B. Zdonik, editors, Implementing Persistent Object Bases: Principles and Practice/ The Fourth International Workshop on Persistent Object Systems, pages 199–212. Morgan-Kaufmann Publishers, San Mateo, California, 1990.

    Google Scholar 

  4. M. Carey, D. DeWitt, J. Richardson, and E. Sheikta. Object and File Management in the EXODUS Extensible Database System. In Proceedings of the 12th International Conference on Very Large Databases, August 1986.

    Google Scholar 

  5. W. P. Cockshott, M. P. Atkinson, K. J. Chisholm, P. J. Bailey, and R. Morrison. Persistent Object Management System. Software-Practice and Experience, 14: 49–71, 1984.

    Article  Google Scholar 

  6. David Detlefs, Maurice Herlihy, and Jeannette Wing. Inheritance of Synchronization and Recovery Properties in Avalon/C++. IEEE Computer, 21 (12), December 1988.

    Google Scholar 

  7. James N. Gray. Notes on Database Operating Systems. In R. Bayer, R. M. Graham, and G. Seegmuller, editors, Operating Systems-An Advanced Course, volume 60 of Lecture Notes in Computer Science, pages 393–481. Springer-Verlag, New York, 1978.

    Google Scholar 

  8. Elliot Kolodner. Atomic Incremental Garbage Collection and Recovery for a Large Stable Heap. In Alan Dearle, Gail M. Shaw, and Stanley B. Zdonik, editors, Implementing Persistent Object Bases: Principles and Practice/ The Fourth International Workshop on Persistent Object Systems, pages 185–198. Morgan-Kaufmann Publishers, San Mateo, California, 1990.

    Google Scholar 

  9. Elliot Kolodner, Barbara Liskov, and William Weihl. Atomic Garbage Collection: Managing a Stable Heap. In Proceedings of the 1989 ACM SIGMOD International Conference on the Management of Data, pages 15–25, June 1989.

    Google Scholar 

  10. Elliot K. Kolodner. Atomic Incremental Garbage Collection and Recovery for a Large Stable Heap. Technical Report MIT/LCS/TR-534, Laboratory for Computer Science, MIT, Cambridge, Ma., February 1992.

    Google Scholar 

  11. Butler. W. Lampson. Atomic Transactions, volume 105 of Lecture Notes in Computer Science, pages 246–265. Springer-Verlag, New York, 1981. This is a revised version of Lampson and Sturgis’s unpublished Crash Recovery in a Distributed Data Storage System.

    Google Scholar 

  12. Barbara Liskov. Overview of the Argus Language and System. Programming Methodology Group Memo 40, Laboratory for Computer Science, MIT, Cambridge, Ma., February 1984.

    Google Scholar 

  13. Barbara Liskov, Paul Johnson, and Robert Scheifler. Implementation of Argus. In Proceedings of the Eleventh Symposium on Operating Systems Principles, November 1987.

    Google Scholar 

  14. David Maier, Jacob Stein, Allen Otis, and Alan Purdy. Development of an Object-Oriented DBMS. In Proceedings of the Object-Oriented Programming Systems, Languages and Applications, pages 472–482, November 1986.

    Google Scholar 

  15. C. Mohan, D. Haderle, B. Lindsay, H. Pirahesh, and P. Schwarz. A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging. Technical Report R16649, IBM Almaden Research Center, San Jose, Ca., January 1989.

    Google Scholar 

  16. Brian Oki. Reliable Object Storage to Support Atomic Actions. Technical Report MIT/LCS/TR-308, Laboratory for Computer Science, MIT, Cambridge, Ma., May 1983.

    Google Scholar 

  17. Brian Oki, Barbara Liskov, and Robert Scheifler. Reliable Object Storage to Support Atomic Actions. In Proceedings of the Tenth Symposium on Operating Systems Principles, pages 147–159, December 1985.

    Google Scholar 

  18. Satish M. Thatte. Persistent Memory: A Storage Architecture for Object-Oriented Database Systems. In U. Dayal and K. Dittrich, editors, Proceedings of the International Workshop on Object-Oriented Databases, Pacific Grove, CA, September 1986.

    Google Scholar 

  19. William Weihl and Barbara Liskov. Implementation of Resilient, Atomic Data Types. ACM Transactions on Programming Languages and Systems, 7(2): 244–269, April 1985.

    Google Scholar 

  20. Daniel Weinreb, Neal Feinberg, Dan Gerson, and Charles Lamb. An Object-Oriented Database System to Support an Integrated Programming Environment. Submitted for publication, 1988.

    Google Scholar 

  21. Stanley Zdonik and Peter Wegner. Language and Methodology for Object-Oriented Database Environments. In Proceedings of the 19th Annual Hawaiian Conference on Systems Science, January 1986.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1993 British Computer Society

About this paper

Cite this paper

Kolodner, E.K. (1993). Concurrent Tracking of Stable Objects. In: Albano, A., Morrison, R. (eds) Persistent Object Systems. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3209-7_24

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3209-7_24

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19800-0

  • Online ISBN: 978-1-4471-3209-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics