skip to main content
article
Free access

Garbage collection for a client-server persistent object store

Published: 01 August 1999 Publication History

Abstract

We describe an efficient server-based algorithm for garbage collecting persistent object stores in a client-server environmnet. The algorithm is incremental and runs concurrently with client transactions. Unlike previous algorithms, it does not hold any transactional locks on data and does non require callbacks to clients. It is fault-tolerant, but performs very little logging. The algorithm has been designed to be integrated into existing systems, and therefore it works with standard implementation techniques such as Two-Phase Locking and Write-Ahead-Logging. In addition, it supports client-server performance optimizations such as client caching and flexible management of client buffers. We describe an implementation of the algorithm in the EXODUS storage manager and present the results of a performance study of the implementation.

References

[1]
ABDULLAHI, S. E. AND RINGWOOD, G.A. 1998. Garbage collecting the Internet: a survey of distributed garbage collection. ACM Comput. Surv. 30, 3, 330-373.
[2]
AMSALEG, L. 1995. Conception et r alisation d'un glaneur de cellules adapt aux SGBDO client-serveur. Ph.D. Dissertation. Universit Paris 6 Pierre et Marie Curie, Paris, France.
[3]
APPEL, A. W., ELLIS, J. R., AND LI, K. 1988. Real-time concurrent collection on stock multiprocessors. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '88, Atlanta, GA, June 22-24), R. L. Wexelblat, Ed. ACM Press, New York, NY, 11-20.
[4]
ASHWIN, S., ROY, P., SILBERSCHATZ, n., AND SUDARSHAN, S. 1997. Garbage collection in objectoriented databases using transactional cyclic reference counting. In Proceedings of the 23rd International Conference on Very Large Databases (VLDB '97, Athens, Greece, Aug.). VLDB Endowment, Berkeley, CA, 366-375.
[5]
ATKINSON, M. P., BAILEY, P. J., CHISHOLM, K. J., COCKSHOTT, P. W., AND MORRISON, R. 1990. An approach to persistent programming. In Readings in object-oriented database systems, S. B. Zdonik and D. Maier, Eds. Morgan Kaufmann series in data management systems. Morgan Kaufmann Publishers Inc., San Francisco, CA, 141-146.
[6]
BAKER, H. 1978. List processing in real time on a serial computer. Commun. ACM 21, 4 (Apr.), 280-294.
[7]
BANCILHON, F., DELOBEL, C., AND KANELLAKIS, P. 1991. Building an Object-Oriented Database: The 02 Story. Morgan Kaufmann, San Mateo, Calif.
[8]
BENZAKEN, V. AND DELOBEL, C. 1990. Enhancing performance in a persistent object store: Clustering strategies in 02. In Proceedings of the 4th International Workshop on Persistent Object Systems (Martha's Vineyard, MA, Sept.). 403-412.
[9]
BERENSON, H., BERNSTEIN, P., GRAY, J., MELTON, J., O'NEIL, E., AND O'NEIL, P. 1995. A critique of ANSI SQL isolation levels. In Proceedings of the 1995 ACM SIGMOD International Conference on Management of Data (SIGMOD '95, San Jose, CA, May 23-25), M. Carey and D. Schneider, Eds. ACM Press, New York, NY, 1-10.
[10]
BISHOP, P. 1977. Computer systems with a very large address space and garbage collection. Ph.D. Dissertation. MIT Laboratory for Computer Science, Cambridge, MA.
[11]
BROWNBRIDGE, D. R. 1985. Cyclic reference counting for combinator machines. In Proceedings of the ACM Conference on Functional Programming Languages and Computer Architecture (Nancy, France, Sept.), J.-P. Jouannaud, Ed. Springer Lecture Notes in Computer Science, vol. 201. Springer-Verlag, New York, NY, 273-288.
[12]
BUTLER, M. 1987. Storage reclamation in object oriented database systems. In Proceedings of the ACM SIGMOD Annual Conference on Management of Data (SIGMOD '87, San Francisco, CA, May 27-29), U. Dayal, Ed. ACM Press, New York, NY, 410-425.
[13]
CAREY, M., DEWITT, D., AND NAUGHTON, J. 1993. The 007 benchmark. In Proceedings of the 1993 ACM SIGMOD Conference on Management of Data. ACM Press, New York, NY, 12-21.
[14]
CAREY, M., DEWITT, D., RICHARDSON, J., AND SHEKITA, E. 1986. Object and file management in the Exodus extensible system. In Proceedings of the 12th International Conference on Very Large Data Bases (Kyoto, Japan, Aug.). VLDB Endowment, Berkeley, CA, 91-100.
[15]
CAREY, M., FRANKLIN, M., LIVNY, M., AND SHEKITA, E. 1991. Data caching tradeoffs in client-server DBMS architectures. In Proceedings of the 1991 ACM SIGMOD International Conference on Management of Data (SIGMOD '91, Denver, CO, May 29-31), J. Clifford and R. King, Eds. ACM Press, New York, NY, 357-366.
[16]
CAREY, M., FRANKLIN, M., AND ZAHARIOUDAKIS, M. 1994. Fine-grained sharing in a page server OODBMS. In Proceedings of the 1994 ACM SIGMOD International Conference on Management of Data (SIGMOD '94, Minneapolis, MN, May 24-27), R. T. Snodgrass and M. Winslett, Eds. ACM Press, New York, NY.
[17]
COOK, J., KLAUSER, A., WOLF, A., AND ZORN, B. 1994a. Effectively controlling garbage collection rates in object databases. Tech. Rep. CU-CS-758-94. Department of Computer Science, University of Colorado at Boulder, Boulder, CO.
[18]
COOK, J., WOLF, A., AND ZORN, B. 1994b. Partition selection policies on object database garbage collection. In Proceedings of the 1994 ACM SIGMOD International Conference on Management of Data (SIGMOD '94, Minneapolis, MN, May 24-27), R. T. Snodgrass and M. Winslett, Eds. ACM Press, New York, NY, 371-382.
[19]
DETLEFS, D. 1991. Concurrent, atomic garbage collection. Ph.D. Dissertation. School of Computer Science, Carnegie Mellon University, Pittsburgh, PA.
[20]
DEWITT, D. g., FUTTERSACK, P., MAIER, D., AND VELEZ, F. 1990. A study of three alternative workstation server architectures for object-oriented database systems. In Proceedings of the 16th International Conference on Very Large Databases (Brisbane, Australia, Aug. 13-16, 1990), D. McLeod, R. Sacks-Davis, and H. Schek, Eds. Morgan Kaufmann Publishers Inc., San Francisco, CA, 107-121.
[21]
DIJKSTRA, E., LAMPORT, L., MARTIN, A., SCHOLTEN, C., AND STEFFENS, E. 1978. On-the-fly garbage collection: An exercise in cooperation. Commun. ACM 21, 11 (Nov.), 966-975.
[22]
EFFELSBERG, W. AND HAERDER, T. 1984. Principles of database buffer management. ACM Trans. Database Syst. 9, 4 (Dec. 1984), 560-595.
[23]
EXODUS PROJECT GROUP.1993. EXODUS storage manager architectural overview. Computer Science Department, Univ. of Wisconsin at Madison, Madison, WI. ftp://ftp.cs.wisc.edu/exodus/sm/doc/arch_overview.3.0.ps.
[24]
FERREIRA, P. AND SHAPIRO, M. 1995. Garbage collection in the Larchant persistent distributed shared store. In Future Trends in Distributed Computing Systems (Cheju Island, Korea, Aug.).
[25]
FRANKLIN, M. 1997. Concurrency control and recovery. In The Computer Science and Engineering Handbook, A. B. Tucker, Ed. CRC Press, Inc., Boca Raton, FL, 1058-1077.
[26]
FRANKLIN, M., CAREY, M., AND LIVNY, M. 1993. Local disk caching in client-server database systems. In Proceedings of the 19th International Conference on Very Large Data Bases (VLDB '93, Dublin, Ireland, Aug.). Morgan Kaufmann Publishers Inc., San Francisco, CA, 641-654.
[27]
FRANKLIN, M. J., CAREY, M. J., AND LIVNY, M. 1997. Transactional client-server cache consistency: alternatives and performance. ACM Trans. Database Syst. 22, 3, 315-363.
[28]
FRANKLIN, M., ZWILLING, M., TAN, C., CAREY, M., AND DEWITT, D. 1992. Crash recovery in client-server EXODUS. In Proceedings of the 1992 ACM SIGMOD International Conference on Management of Data (SIGMOD '92, San Diego, CA, June 2-5), M. Stonebraker, Ed. ACM Press, New York, NY, 165-174.
[29]
GRAY, J. AND REUTER, A. 1993. Transaction Processing: Concepts and Techniques. Morgan Kaufmann Publishers Inc., San Francisco, CA.
[30]
GRUBER, O. AND AMSALEG, L. 1994. Object grouping in EOS. In Distributed Object Management, T. zsu, U. Dayal, and P. Valduriez, Eds. Morgan Kaufmann, San Mateo, CA, 117-131.
[31]
KOLODNER, E. AND WEIHL, W. 1993. Atomic incremental garbage collection and recovery for large stable heap. In Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data (SIGMOD '93, Washington, DC, May 26-28), P. Buneman and S. Jajodia, Eds. ACM Press, New York, NY, 177-185.
[32]
KOLODNER, E., LISKOV, B., AND WEIHL, W. 1989. Atomic garbage collection: Managing a stable heap. In Proceedings of the 1989 ACM SIGMOD International Conference on Management of Data (SIGMOD '89, Portland, OR, June), J. Clifford, B. Lindsay, and D. Maier, Eds. ACM Press, New York, NY, 15-25.
[33]
LAMB, C., LANDIS, G., ORENSTEIN, J., AND WEINREB, D. 1991. The ObjectStore database system. Commun. ACM 34, 10 (Oct. 1991), 50-63.
[34]
LE FESSANT, F., PIUMARTA, I., AND SHAPIRO, M. 1998. An implementation of complete, asynchronous, distributed garbage collection. SIGPLAN Not. 33, 5, 152-161.
[35]
MAHESHWARI, U. AND LISKOV, B. 1994. Fault-tolerant distributed garbage collection in a client-server object-oriented database. In Proceedings of the 3rd International Conference on Parallel and Distributed Information Systems (PDIS, Austin, TX, Sept.).
[36]
MAHESHWARI, U. AND LISKOV, B. 1997. Partitioned garbage collection or a large object store. In Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD '97, Tucson, AZ, May 13-15), J. M. Peckman, S. Ram, and M. Franklin, Eds. ACM Press, New York, NY, 313-323.
[37]
MCBETH, J. 1963. On the reference counter method. Commun. ACM 6, 9 (Sept.), 575.
[38]
MOHAN, C. AND NARANG, I. 1994. ARIES/CSA: A method for database recovery in client-server architectures. In Proceedings of the 1994 ACM SIGMOD International Conference on Management of Data (SIGMOD '94, Minneapolis, MN, May 24-27), R. T. Snodgrass and M. Winslett, Eds. ACM Press, New York, NY, 55-66.
[39]
MOHAN, C., HADERLE, D., LINDSAY, B., PIRAHESH, H., AND SCHWARZ, P. 1992. ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Trans. Database Syst. 17, 1 (Mar. 1992), 94-162.
[40]
O'TOOLE, J., NETTLES, S., AND GIFFORD, D. 1993. Concurrent compacting garbage collection of a persistent heap. ACM SIGOPS Oper. Syst. Rev. 27, 5 (Dec. 1993), 161-174.
[41]
SHAPIRO, M., GRUBER, O., AND PLAINFOSS, D. 1990. A garbage detection protocol for a realistic distributed object-support system. Tech. Rep. INRIA-1320. INRIA, Rennes, France.
[42]
SKUBISZEWSKI, M. AND VALDURIEZ, P. 1993. Concurrent garbage collection in 02. In Proceedings of the 19th International Conference on Very Large Data Bases (VLDB '93, Dublin, Ireland, Aug.). Morgan Kaufmann Publishers Inc., San Francisco, CA, 356-365.
[43]
UNGAR, D. 1984. Generation scavenging: A non-disruptive high-performance storage reclamation algorithm. In Proceedings of the SIGSOFT/SIGPLAN Workshop on Practical Software Development Environments. ACM, New York, NY.
[44]
WILSON, P. 1992. Uniprocessor garbage collection techniques. In Proceedings of the International Workshop on Memory Management (St. Malo, France, Sept.). Lecture Notes in Computer Science, vol. 637. Springer-Verlag, New York, 1-43.
[45]
YONG, V., NAUGHTON, J., AND YU, J. 1994. Storage reclamation and reorganization in client-server persistent object stores. In Proceedings of the lOth IEEE Conference on Data Engineering. IEEE Press, Piscataway, NJ, 120-133.

Cited By

View all

Recommendations

Reviews

Özgür Ulusoy

A garbage collection algorithm is described for persistent object stores in a client/server environment. The algorithm is based on a partitioned mark-and-sweep approach, and it is tailored to cope with the problems introduced by persistence. The correctness of the algorithm is enforced by exploiting the flow of log records between the clients and the server, and the locking, logging, and recovery protocols of the system. The algorithm was implemented, tested, and measured in the client/server EXODUS storage manager. The performance evaluation results provided show that the collector bookkeeping mechanisms add little overhead to client operations. The paper is well organized and clearly written. Necessary background on client/server persistent systems and garbage collection techniques is provided at the beginning of the paper. Therefore, any reader with some interest in the area should be able to understand the material. The paper makes a valuable contribution to the literature on storage management.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Computer Systems
ACM Transactions on Computer Systems  Volume 17, Issue 3
Aug. 1999
96 pages
ISSN:0734-2071
EISSN:1557-7333
DOI:10.1145/320656
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 August 1999
Published in TOCS Volume 17, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. client-server system
  2. logging
  3. persistent object-store
  4. recovery

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)70
  • Downloads (Last 6 weeks)8
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media