TMOS: A Transactional Garbage Collector

  • John Zigman
  • Stephen M. Blackburn
  • J. Eliot B. Moss
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2135)


Defining persistence in terms of reachability is fundamental to achieving orthogonality of persistence. It is implicit to the principles of orthogonal persistence and is a part of the ODMG 3.0 data objects standard. Although space reclamation in the context of persistence by reachability can be achieved automatically using garbage collection, relatively few papers address the problem of implementing garbage collection in a transactional storage system. A transactional GC algorithm must operate correctly in the face of failure, and in particular must deal with the problem of transaction abort, which by undoing changes such as the deletion of references, subverts the GC reachability axiom of ‘once garbage always garbage’.

In this paper we make two key contributions. First, we present a generic approach to the design of transactional collectors that promotes clarity, generality, and understandability, and then using this approach, we present a new transactional garbage collection algorithm, TMOS. Our design approach brings together three independent components—a mutator, a transactional store, and a GC algorithm. TMOS represents the application of the Mature Object Space family of GC algorithms to the transactional context through our approach to transactional GC design.


Garbage Collection Object Graph Garbage Collector Global Collection Collection Algorithm 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Amsaleg et al. 1995]
    Amsaleg, L., Franklin, M. J., ANDGruber, O. 1995. Efficient incremental garbage collection for client-server object database systems. In U.Dayal, P. M. D. Gray, AND S. Nishio Eds., VLDB’95, Proceedings of 21 th International Conference on Very Large Data Bases, September 11–15, 1995, Zurich, Switzerland (1995), pp. 42–53. Morgan Kaufmann.Google Scholar
  2. [Atkinson and Morrison 1995]
    Atkinson, M. P.ANDMorrison, R. 1995. Orthogonally persistent systems. The VLDB Journal 4,3 (July), 319–402.Google Scholar
  3. [Blackburn and Stanton 1999]
    Blackburn, S. M.ANDStanton, R. B. 1999. The transactional object cache: A foundation for high performance persistent system construction. In R.Morrison, M.Jordan, ANDM.Atkinson Eds., Advances in Persistent Object Systems: Proceedings of the Eighth International Workshop on Persistent Object Systems, Aug. 30–Sept. 1, 1998, Tiburon, CA, U.S.A. (San Francisco, 1999), pp. 37–50. Morgan Kaufmann.Google Scholar
  4. [Blackburn and Zigman 1999]
    Blackburn, S. M.ANDZigman, J. N. 1999. Concurrency—The fly in the ointment? In R.Morrison, M.Jordan, AND M. Atkinson Eds., Advances in Persistent Object Systems: Third International Workshop on Persistence and Java, Sept. 1–3, 1998, Tiburon, CA, U.S.A. (San Francisco, 1999), pp. 250–258. Morgan Kaufmann.Google Scholar
  5. [Cattell et al. 2000]
    Cattell, R. G. G., Barry, D. K., Berler, M., Eastman, J., Jordan, D., Russell, C., Schadow, O., Stanienda, T., ANDVelez, F. Eds. 2000. The Object Data Standard: ODMG 3.0. Morgan Kaufmann Publishers.Google Scholar
  6. [Cook et al. 1994]
    Cook, J. E., Wolf, A. L., ANDZorn, B. G. 1994. Partition selection policies in object database garbage collection. In R. T.Snodgrass AND M. Winslett Eds., Proceedings of the 1994 ACM SIGMOD International Conference on Management of Data, Minneapolis, Minnesota, May 24–27, 1994 (1994), pp. 371–382. ACM Press.Google Scholar
  7. [Dijkstra et al. 1978]
    Dijkstra, E. W., Lamport, L., Martin, A. J., Scholten, C. S., ANDSteffens, E. F. M. 1978. On-the-fly garbage collection: an exercise in cooperation. Communications of the ACM 21,11, 966–975.zbMATHCrossRefGoogle Scholar
  8. [Härder and Reuter 1983]
    Härder, T.ANDReuter, A. 1983. Principles of transaction-oriented database recovery. ACM Computing Surveys 15,4 (Dec.), 287–317.Google Scholar
  9. [He et al. 2000]
    He, Z., Blackburn, S. M., Kirby, L., ANDZigman, J. N. 2000. Platypus: Design and implementation of a flexible high performance object store. In Proceedings of the Ninth International Workshop on Persistent Object Systems, Lillehammer, Norway September 6–9, 2000 (2000).Google Scholar
  10. [He et al. 2000]
    He, Z., Marquez, A., ANDBlackburn, S. M. 2000. Opportunistic prioritised clustering framework (OPCF). In ECOOP2000 Symposium on Objects and Databases-Object-Oriented Programming, Sophia Antipolis, France, June 13, 2000, Proceedings, Lecture Notes in Computer Science (LNCS) (2000). Springer. To appear.Google Scholar
  11. [Hudson and Moss 1992]
    Hudson, R.ANDMoss, J. E. B. 1992. Incremental garbage collection of mature objects. In Y.Bekkers AND J. Cohen Eds., International Workshop on Memory Management, St. Malo, France Sept. 17–19, 1992, Volume 637 of Lecture Notes in Computer Science (LNCS) (1992, 1992), pp. 388–403. Springer.Google Scholar
  12. [Kolodner and Weihl 1993]
    Kolodner, E. K.ANDWeihl, W. E. 1993. Atomic incremental garbage collection and recovery for large stable heap. In P.Buneman AND S. Jajodia Eds., SIGMOD 1993, Proceedings ACM SIGMOD International Conference on the Management of Data, May 26–28, Washington, DC, Volume 22 of SIGMOD Record (June 1993), pp. 177–186. ACM Press.Google Scholar
  13. [Lakhamraju et al. 2000]
    Lakhamraju, M. K., Rastogi, R., Seshadri, S., ANDSudarshan, S. 2000. On-line reorganization in object databases. In SIGMOD 2000, Proceedings ACM SIGMOD International Conference on Management of Data, May 14–19, 2000, Dallas, Texas, USA, Volume 28 of SIGMOD Record (May 2000). ACM Press.Google Scholar
  14. [Maheshwari and Liskov 1997]
    Maheshwari, U.ANDLiskov, B. 1997. Partitioned garbage collection of large object store. In J.Peckham Ed., SIGMOD 1997, Proceedings ACM SIGMOD International Conference on Management of Data, May 13–15, 1997, Tucson, Arizona, USA, Volume 26 of SIGMOD Record (June 1997), pp. 313–323. ACM Press.Google Scholar
  15. [Maier 1999]
    Maier, D. 1999. Review-An approach to persistent programming. ACM SIGMOD Digital Review 1.Google Scholar
  16. [Moss et al. 1996]
    Moss, J. E. B., Munro, D. S., ANDHudson, R. L. 1996. PMOS: A complete and coarse-grained incremental garbage collector. In R.Connor AND S. Nettles Eds., Seventh (Cape May, NJ, U.S.A., May 29–31 1996), pp. 140–150. Morgan Kaufmann.Google Scholar
  17. [Munro et al. 1999]
    Munro, D. S., Brown, A. L., Morrison, R., ANDMoss, J. E. B. 1999. Incremental garbage collection of a persistent object store using PMOS. In R.Morrison, M. J. Jordan, AND M. P. Atkinson Eds., Advances in Persistent Object Systems: Eigth International Workshop on Persistence Object SystemsSept. 1–3, 1998, Tiburon, CA, U.S.A. (San Francisco, 1999), pp. 78–91. Morgan Kaufmann.Google Scholar
  18. [Skubiszewski and Valduriez 1997]
    Skubiszewski, M.ANDValduriez, P. 1997. Concurrent garbage collection in o2. In M.Jarke, M. J. Carey, K. R. Dittrich, F. H. Lochovsky, P. Loucopoulos, and M. A. Jeusfeld Eds., VLDB’97, Proceedings of 23rd International Conference on Very Large Data Bases, August 25–29, 1997, Athens, Greece (1997), pp. 356–365. Morgan Kaufmann.Google Scholar
  19. [Snodgrass 1999]
    Snodgrass, R. T. 1999. Review-PM3: An orthogonal persistent systems programming language-design, implementation, performance. ACM SIGMOD Digital Review 1.Google Scholar
  20. [Sun Microsystems 1999]
    Sun Microsystems. 1999. Java Data Objects Specification, JSR-12. (July), Sun Microsystems Inc., 2550 Garcia Avenue, Mountain View, CA 94043.Google Scholar
  21. [Yong et al. 1994]
    Yong, V.-F., Naughton, J., andYu, J.-B. 1994. Storage reclamation and reorganization in client-server persistent stores. In Proceedings of the 10th International Conference on Data Engineering, IEEE Computing Society (Feb. 1994), pp. 120–131.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • John Zigman
    • 1
  • Stephen M. Blackburn
    • 2
  • J. Eliot B. Moss
    • 2
  1. 1.Department of Computer ScienceAustralian National UniversityCanberraAustralia
  2. 2.Department of Computer ScienceUniversity of MassachusettsAmherstUSA

Personalised recommendations