This Article 
 Bibliographic References 
 Add to: 
A Highly Effective Partition Selection Policy for Object Database Garbage Collection
January/February 1998 (vol. 10 no. 1)
pp. 153-172

Abstract—We investigate methods to improve the performance of algorithms for automatic storage reclamation of object databases. These algorithms are based on a technique called partitioned garbage collection, in which a subset of the entire database is collected independently of the rest. We evaluate how different application, database system, and garbage collection implementation parameters affect the performance of garbage collection in object database systems. We focus specifically on investigating the policy that is used to select which partition in the database should be collected. Three of the policies that we investigate are based on the intuition that the values of overwritten pointers provide good hints about where to find garbage. A fourth policy investigated chooses the partition with the greatest presence in the I/O buffer. Using simulations based on a synthetic database, we show that one of our policies requires less I/O to collect more garbage than any existing implementable policy. Furthermore, that policy performs close to a locally optimal policy over a wide range of simulation parameters, including database size, collection rate, and database connectivity. We also show what impact these simulation parameters have on application performance and investigate the expected costs and benefits of garbage collection in such systems.

[1] L. Amsaleg, M. Franklin, and O. Gruber, "Efficient Incremental Garbage Collection for Client-Server Object Database Systems," Proc. 21st VLDB Conf.,Zurich, Switzerland, Sept. 1995.
[2] H. Baker, “List Processing in Real Time on a Serial Computer,” Comm. ACM, vol. 21, pp. 280-294, 1978.
[3] P.B. Bishop, "Computer Systems with a Very Large Address Space and Garbage Collection," PhD thesis, Mass. Inst. of Technology Lab for Computer Science, Cambridge, Mass., May 1977.
[4] A. Björnerstedt, "Secondary Storage Garbage Collection for Decentralized Object-Based Systems," PhD thesis, Dept. of Computer System Sciences, Stockholm Univ., Royal Inst. of Technology and Stockholm Univ., Kista, Sweden, 1993; also appears as Systems Development and AI Lab. Report No. 77.
[5] M.H. Butler, "Storage Reclamation in Object-Oriented Database Systems," Proc. ACM SIGMOD Int'l Conf. Management Data, pp. 410-423,San Francisco, 1987.
[6] J. Campin and M. Atkinson, "A Persistent Store Garbage Collector with Statistical Facilities," Persistent Programming Research Report 29, Dept. of Computing Science, Univ. of Glasgow, Glasgow, Scotland, 1986.
[7] M.J. Carey, D.J. DeWitt, and J.F. Naughton, “The OO7 Benchmark,” Proc. ACM-SIGMOD Int'l Conf. Management of Data, pp. 12–21, May 1993.
[8] M. Cart and J. Ferrié, "Integrating Concurrency Control into an Object-Oriented Database System," Proc. Second Int'l Conf. Extending Database Technology, Springer-Verlag, Mar. 1989.
[9] R.G.G. Cattell, The Benchmark Handbook for Database and Transaction Processing Systems, chapter 6, pp. 247-281.San Mateo, Calif.: Morgan Kaufmann, 1991.
[10] The Object Database Standard: ODMG-93, R.G.G. Cattell, ed. Morgan Kaufmann, 1993.
[11] H.-T. Chou and D.J. DeWitt, "An Evaluation of Buffer Management Strategies for Relational Database Systems," Proc. 11th Int'l Conf. Very Large Data Bases, pp. 127-141, Morgan Kaufmann, Aug. 1985.
[12] J. Cohen, "Garbage Collection of Linked Data Structures," ACM Computing Surveys, vol. 13, no. 3, pp. 341-367, Sept. 1981.
[13] J.E. Cook, A.W. Klauser, A.L. Wolf, and B.G. Zorn, "Semi-Automatic, Self-Adaptive Control of Garbage Collection Rates in Object Databases," Proc. ACM SIGMOD Int'l Conf. Managment Data, pp. 377-388, June 1996.
[14] J.E. Cook, A.L. Wolf, and B.G. Zorn, "The Design of a Simulation System for Persistent Object Storage Management," Technical Report CU-CS-647-93, Dept. of Computer Science, Univ. of Colorado, Boulder, Colo., Mar. 1993.
[15] D.L. Detlefs, "Concurrent, Atomic Garbage Collection," PhD thesis, Carnegie Mellon Univ., Pittsburgh, Oct. 1990.
[16] D. DeWitt, D. Maier, P. Futtersack, and F. Velez, "A Study of Three Alternative Workstation-Server Architectures for Object-Oriented Database Systems," Proc. 16th Very Large Data Bases Conf., pp. 107-121,Brisbane, Australia, 1990.
[17] A. Gupta and W.K. Fuchs, "Garbage Collection in a Distributed Object-Oriented System," IEEE Trans. Knowledge and Data Eng., vol. 5, no. 2, pp. 257-265, Apr. 1993.
[18] A.L. Hosking, J. Eliot, B. Moss, and D. ${\rm Stefanovi \acute c}$, "A Comparative Performance Evaluation of Write Barrier Implementations," ACM SIGPLAN 1992 Conf. Object-Oriented Programming Systems, Languages and Applications (OOPSLA '92), pp. 92-109,Vancouver, B.C., Canada, Oct. 1992.
[19] W. Kim, Introduction to Object-Oriented Databases, MIT Press, Cambridge, Mass., 1990.
[20] E. Kolodner, B. Liskov, and W. Weihl, "Atomic Garbage Collection: Managing a Stable Heap," Proc. ACM SIGMOD Int'l Conf. Management Data, pp. 15-25,Portland, Ore., June 1989.
[21] E. Kolodner and W. Weihl, "Atomic Incremental Garbage Collection and Recovery for a Large Stable Heap," Proc. ACM SIGMOD Int'l Conf. Management Data, pp. 177-186,Washington, D.C., June 1993.
[22] H. Lieberman and C. Hewitt, "A Real-Time Garbage Collector Based on the Lifetimes of Objects," Comm. ACM, vol. 26, no. 6, pp. 419-429, June 1983.
[23] D.C.J. Matthews, "Poly Manual," SIGPLAN Notices, vol. 20, no. 9, Sept. 1985.
[24] S. Nettles and J. O'Toole, "Real-Time Replication Garbage Collection," SIGPLAN '93 Conf. Programming Language Design and Implementation, pp. 217-226,Albuquerque, N.M., June 1993.
[25] K.P. Shannon and R.T. Snodgrass, "Semantic Clustering," Proc. Fourth Int'l Workshop Persistent Object Systems, pp. 361-374. Morgan Kaufmann, 1991.
[26] M. Shapiro, D. Plainfossé, P. Ferreira, and L. Amsaleg, "Some Key Issues in the Design of Distributed Garbage Collection and References," Unifying Theory and Practice in Distributed Systems,Dagstuhl, Germany, Sept. 1994.
[27] R.A. Shaw, "Empirical Analysis of a Lisp System," PhD thesis, Stanford Univ., Stanford, Calif., Feb. 1988; also appears as Technical Report CSL-TR-88-351.
[28] A.J. Smith, "Cache Memories," ACM Computing Surveys, Vol. 14, 1982, pp. 473-540.
[29] M.M. Tsangaris and J.F. Naughton, "A Stochastic Approach for Clustering in Object Bases," Proc. SIGMOD Conf. Management of Data, pp. 12-21, ACM, 1991.
[30] D. Ungar,“Generation scavenging: A non-disruptive high performance storagereclamation algorithm,” Proc. ACM Symp. on Practical Software Development Environments, pp. 157-167, Apr. 1984.
[31] D. Ungar and F. Jackson, "An Adaptive Tenuring Policy for Generation Scavengers," ACM Trans. Programming Languages and Systems, vol. 14, no. 1, pp. 1-27, Jan. 1992.
[32] P.R. Wilson, "Uniprocessor Garbage Collection Techniques," Proc. Int'l Workshop Memory Management,St. Malo, France, Sept. 1992.
[33] V.-F. Yong, J. Naughton, and J.-B. Yu, "Storage Reclamation and Reorganization in Client-Server Persistent Object Stores," Proc. 10th Int'l Conf. Data Eng., pp. 120-131, Feb. 1994.
[34] B.G. Zorn, "Comparative Performance Evaluation of Garbage Collection Algorithms," PhD thesis, Univ. of California at Berkeley, Nov. 1989; also appears as Technical Report UCB/CSD 89/544.

Index Terms:
Garbage collection, storage reclamation, storage management, object databases, partition selection, performance evaluation.
Jonathan E. Cook, Alexander L. Wolf, Benjamin G. Zorn, "A Highly Effective Partition Selection Policy for Object Database Garbage Collection," IEEE Transactions on Knowledge and Data Engineering, vol. 10, no. 1, pp. 153-172, Jan.-Feb. 1998, doi:10.1109/69.667100
Usage of this product signifies your acceptance of the Terms of Use.