Skip to main content

Providing Persistent Objects in Distributed Systems

  • Conference paper
  • First Online:
ECOOP’ 99 — Object-Oriented Programming (ECOOP 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1628))

Included in the following conference series:

Abstract

THOR is a persistent object store that provides a powerful programming model. THOR ensures that persistent objects are accessed only by calling their methods and it supports atomic transactions. The result is a system that allows applications to share objects safely across both space and time.

The paper describes how the THOR implementation is able to support this powerful model and yet achieve good performance, even in a wide-area, large-scale distributed environment. It describes the techniques used in THOR to meet the challenge of providing good performance in spite of the need to manage very large numbers of very small objects. In addition, the paper puts the performance of THOR in perspective by showing that it substantially outperforms a system based onmemorymapped files, even though that system provides much less functionality than THOR.

This research was supported in part by DARPA contract DABT63-95-C-005, monitored by Army Fort Huachuca, and in part by DARPA contract N00014-91-J-4136, monitored by the Office of Naval Research.M. Castro is supported by a PRAXIS XXI fellowship.

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. Adya. Transaction Management for Mobile Objects Using Optimistic Concurrency Control. Master’s thesis, Massachusetts Institute of Technology, Jan. 1994. Also available as MIT Laboratory for Computer Science Technical Report MIT/LCS/TR-626.

    Google Scholar 

  2. A. Adya. Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions. PhD thesis, Massachusetts Institute of Technology, Cambridge, MA, Mar. 1999.

    Google Scholar 

  3. A. Adya, R. Gruber, B. Liskov, and U. Maheshwari. Efficient Optimistic Concurrency Control using Loosely Synchronized Clocks. In Proc. of ACM SIGMOD International Conference on Management of Data, pages 23–34, San Jose, CA, May 1995.

    Google Scholar 

  4. P. B._ Bishop. Computer Systems with a Very Large Address Space and Garbage Collection. Technical Report MIT/LCS/TR-178, Laboratory for Computer Science, MIT, Cambridge, MA, May 1977.

    Google Scholar 

  5. P. Bogle and B. Liskov. Reducing Cross-Domain Call Overhead Using Batched Futures. In Proc. OOPSLA’ 94, pages 341–359.ACM Press, 1994.

    Google Scholar 

  6. M. Blaze. Caching in Large-Scale Distributed File Systems. Technical Report TR-397-92, Princeton University, January 1993.

    Google Scholar 

  7. C. Boyapati. JPS: A Distributed Persistent Java System. Master’s thesis, Massachusetts Institute of Technology, Sept. 1998.

    Google Scholar 

  8. M.J. Carey et al. Shoring Up Persistent Applications. In Proc. of ACM SIGMOD International Conference on Management of Data, pages 383–394, Minneapolis, MN, May 1994. ACM Press.

    Google Scholar 

  9. M. Castro, A. Adya, and B. Liskov. Lazy Reference Counting for TransactionalStorage Systems. Technical Report MIT-LCS-TM-567, MIT Lab for Computer Science, June 1997.

    Google Scholar 

  10. M. Castro, A. Adya, B. Liskov, and A. Myers. HAC: Hybrid Adaptive Caching for Distributed Storage Systems. In Proc. 17th ACM Symp. on Operating System Principles (SOSP), pages 102–115, St. Malo, France, Oct. 1997.

    Google Scholar 

  11. M. J. Carey, D. J. DeWitt, and J. F. Naughton. The OO7 Benchmark. In Proc. of ACM SIGMOD International Conference on Management of Data, pages 12–21, Washington D.C., May 1993.

    Google Scholar 

  12. M. J. Carey, D. J. DeWitt, and J. F. Naughton. The OO7 benchmark. Technical Report; Revised Version dated 7/21/1994 1140, University of Wisconsin-Madison, 1994. At ftp://ftp.cs.wisc.edu/OO7.

  13. M. Carey, M. Franklin, and M. Zaharioudakis. Fine-Grained Sharing in a Page Server OODBMS. In Proc. of ACM SIGMOD International Conference on Management of Data, pages 359–370, Minneapolis,MN, June 1994.

    Google Scholar 

  14. J. S. Chase, H. M. Levy, M. J. Feeley, and E. D. Lazowska. Sharing and Protection in a Single-Address-Space Operating System. In ACM Transactions on Computer Systems, volume 12, Feb. 1994.

    Google Scholar 

  15. F. J. Corbato. A Paging Experimentwith the Multics System, in Festschrift: In Honor of P. M. Morse, pages 217–228. MIT Press, 1969.

    Google Scholar 

  16. W.W. Chang and H. J. Schek. A Signature AccessMethod for the Starburst Database System. In Proceedings of the Fifteenth International Conference on Very Large Data Bases, pages 145–153, Amsterdam, Netherlands, August 1989.

    Google Scholar 

  17. O. Deux et al. The Story of O2. IEEE Transactions on Knowledge and Data Engineering, 2(1):91–108, March 1990.

    Article  Google Scholar 

  18. M. Day. Client Cache Management in a Distributed Object Database. PhD thesis, Massachusetts Institute of Technology, 1995. Also available as MIT Laboratory for Computer Science Technical Report MIT/LCS/TR-652.

    Google Scholar 

  19. M. Day, R. Gruber, B. Liskov, and A. C. Myers. Subtypes vs.Where Clauses: Constraining Parametric Polymorphism. In Proc. OOPSLA’ 95, pages 156–168, Austin TX, Oct. 1995. ACM SIGPLAN Notices 30(10).

    Google Scholar 

  20. M. Day, B. Liskov, U. Maheshwari, and A. C. Myers. References to Remote Mobile Objects in Thor. ACM Letters on Programming Languages and Systems, Mar. 1994.

    Google Scholar 

  21. S. Ghemawat. The Modified Object Buffer: a Storage Management Technique for Object-Oriented Databases. PhD thesis, Massachusetts Institute of Technology, 1995. Also available as MIT Laboratory for Computer Science Technical Report MIT/LCS/TR-656.

    Google Scholar 

  22. D. Gifford. Information Storage in a Decentralized Computer System. Technical Report CSL-81-8, Xerox Corporation, March 1983.

    Google Scholar 

  23. C. Gerlhof, A. Kemper, and G. Moerkotte. On the Cost of Monitoring and Reorganization of Object Bases for Clustering. SIGMOD Record, 25(3):22–27, September 1996.

    Article  Google Scholar 

  24. J. N. Gray and A. Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann Publishers Inc., 1993.

    Google Scholar 

  25. R. Gruber. Optimism vs. Locking: A Study of ConcurrencyControl for Client-Server Object-Oriented Databases. PhD thesis, M.I.T., Cambridge, MA, 1997.

    Google Scholar 

  26. T. Haerder. Observations on Optimistic Concurrency Control Schemes. Information Systems, 9(2):111–120, June 1984.

    Article  Google Scholar 

  27. T. Johnson and D. Shasha. A Low Overhead High Performance Buffer Replacement Algorithm. In Proceedings of International Conference on Very Large Databases, pages 439–450, 1994.

    Google Scholar 

  28. W. Kim et al. Architecture of the ORION Next-Generation Database System. IEEE Transactions on Knowledge and Data Engineering, 2(1):109–124, June 1989.

    Article  Google Scholar 

  29. D. Kossmann. Efficient Main-Memory Management of Persistent Objects. Shaker-Verlag, 1995. Dissertation, RWTH Aachen.

    Google Scholar 

  30. B. Liskov, A. Adya, M. Castro, M. Day, S. Ghemawat, R. Gruber, U. Maheshwari, A. Myers, and L. Shrira. Safe and Efficient Sharing of Persistent Objects in Thor. In Proc. of ACM SIGMOD International Conference on Management of Data, pages 318–329, Montreal, Canada, June 1996.

    Google Scholar 

  31. B. Liskov, A. Adya, M. Castro, and Q. Zondervan. Type-safe Heterogenous Sharing Can Be Fast. In Proceedings of the 7th InternationalWorkshop on PersistentObject Systems, Cape May, NJ, May 1996.

    Google Scholar 

  32. B. Liskov, D. Curtis, M. Day, S. Ghemawat, R. Gruber, P. Johnson, and A. C. Myers. Theta Reference Manual. Programming Methodology Group Memo 88, MIT Laboratory for Computer Science, Cambridge, MA, Feb. 1994. Available at http://www.pmg.lcs.mit.edu/papers/thetaref/.

    Google Scholar 

  33. B. Liskov, S. Ghemawat, R. Gruber, P. Johnson, L. Shrira, and M. Williams. Replication in the Harp File System. In Proc. 13th ACM Symp. on Operating System Principles (SOSP), pages 226–238. ACM Press, 1991.

    Google Scholar 

  34. C. Lamb, G. Landis, J. Orenstein, and D. Weinreb. The ObjectStore Database System. Comm. of the ACM, 34(10):50–63, October 1991.

    Article  Google Scholar 

  35. G. Morrisett et al. TALx86: A Realistic Typed Assembly Language. Submitted for publication, 1999.

    Google Scholar 

  36. J. C. Mogul, J. F. Barlett, R. N. Mayo, and A. Srivastava. Performance Implications of Multiple Pointer Sizes. In USENIX 1995 Tech. Conf. on UNIX and Advanced Computing Systems, pages 187–200, New Orleans, LA, 1995.

    Google Scholar 

  37. D. Muntz and P. Honeyman. Multi-level Caching in Distributed File Systems or Your Cache ain’t nothin’ but trash. In Winter Usenix Technical Conference, 1992.

    Google Scholar 

  38. D. L. Mills. Network Time Protocol (Version 3) Specification, Implementation and Analysis. Network Working Report RFC 1305, March 1992.

    Google Scholar 

  39. W. J. McIver and R. King. Self Adaptive, On-Line Reclustering of Complex Object Data. In Proc. of ACM SIGMOD International Conference on Management of Data, pages 407–418, Minneapolis, MN, May 1994.

    Google Scholar 

  40. U. Maheshwari and B. Liskov. Fault-Tolerant Distributed Garbage Collection in a Client-Server Object-Oriented Database. In Third International Conference on Parallel and Distributed Information Systems, Austin, Sept. 1994.

    Google Scholar 

  41. U. Maheshwari and B. Liskov. Collecting Cyclic Distributed Garbage by Controlled Migration. Distributed Computing, 10(2):79–86, 1997.

    Article  Google Scholar 

  42. U. Maheshwari and B. Liskov. Partitioned Collection of a Large Object Store. In Proc. of SIGMOD International Conference on Management of Data, pages 313–323, Tucson, Arizona, May 1997. ACM Press.

    Google Scholar 

  43. U. Maheswari and B. Liskov. Collecting Cyclic Distributed Garbage using Back Tracing. In Proc. of the ACM Symposium on Principles of Distributed Computing, Santa Barbara, California, Aug. 1997.

    Google Scholar 

  44. J. E. B. Moss. Design of the Mneme Persistent Object Store. ACM Transactions on Office Information Systems, 8(2):103–139, March 1990.

    Article  Google Scholar 

  45. J. E. B. Moss. Working with Persistent Objects: To Swizzle or Not to Swizzle. IEEE Transactions on Software Engineering, 18(3), August 1992.

    Google Scholar 

  46. M. McAuliffe and M. Solomon. A Trace-Based Simulation of Pointer Swizzling Techniques. In Proc. International Conf. on Data Engineering, Mar. 1995.

    Google Scholar 

  47. G. Morrisett, D. Walker, K. Crary, and N. Glew. From system F to typed assembly language. In Proc. 25th ACM Symp. on Principles of Programming Languages (POPL), San Diego, California, Jan. 1998.

    Google Scholar 

  48. Ontos. Inc. Ontos reference manual, 1992.

    Google Scholar 

  49. E. J. O’Neil, P. E. O’Neil, and G. Weikum. The LRU-KPage Replacement Algorithm For Database Disk Buffering. In Proc. of ACM SIGMOD International Conference on Management of Data, Washington, D.C., May 1993.

    Google Scholar 

  50. J. O’Toole and L. Shrira. Opportunistic Log: Efficient Reads in a Reliable Storage Server. In Proc. of First Usenix Symposium on Operating Systems Design and Implementation, pages 119–128. ACM Press, 1994.

    Google Scholar 

  51. J. O’Toole and L. Shrira. Shared Data Management Needs Adaptive Methods. In In Proc. of IEEE Workshop on Hot Topics in Operating Systems, May 1995.

    Google Scholar 

  52. A. Parthasarathi. The NetLog: An Efficient, Highly Available, Stable Storage Abstraction. Master’s thesis, Massachusetts Institute of Technology, June 1998.

    Google Scholar 

  53. J. Robinson and N. Devarakonda. Data Cache Management Using Frequency-Based Replacement. In Proceedings of ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, pages 134–142, 1990.

    Google Scholar 

  54. Seagate Technology, Inc. http://www.seagate.com/, 1997.

  55. V. Singhal, S. V. Kakkad, and P. R. Wilson. Texas: An Efficient, Portable Persistent Store. In 5th Int’l Workshop on Persistent Object Systems, San Miniato, Italy, Sept. 1992.

    Google Scholar 

  56. LOOM-Large Object-Oriented Memory for Smalltalk-80 Systems, pages 298–307. Morgan Kaufmann Publishers, Inc., San Mateo, CA, 1990.

    Google Scholar 

  57. M. Tsangaris and J. Naughton. A stochastic approach for clustering in object bases. In Proc. ACM SIGMOD International Conference on Management of Data, pages 12–21, Denver, CO, 1991. ACM.

    Google Scholar 

  58. S. J. White and D. J. Dewitt. A performance study of alternative object faulting and pointer swizzling strategies. In Proceedings of the Eighteenth International Conference on Very Large Data Bases, pages 419–431, Vancouver, BC, Canada, 1992.

    Google Scholar 

  59. S. J. White and D. J. Dewitt. Quickstore: A high performance mapped object store. In SIGMOD’ 94, pages 187–198, 1994.

    Google Scholar 

  60. S. J. White and D. J. Dewitt. Implementing crash recovery in QuickStore: A performance study. In SIGMOD’ 95, pages 187–198. ACM Press, 1995.

    Google Scholar 

  61. M. Zaharioudakis, M. J. Carey, and M. J. Franklin. Adaptive, Fine-Grained Sharing in a Client-Server OODBMS: A Callback-Based Approach. ACM Transactions on Database Systems, 22(4):570–627, Dec. 1997.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Liskov, B., Castro, M., Shrira, L., Adya, A. (1999). Providing Persistent Objects in Distributed Systems. In: Guerraoui, R. (eds) ECOOP’ 99 — Object-Oriented Programming. ECOOP 1999. Lecture Notes in Computer Science, vol 1628. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48743-3_11

Download citation

  • DOI: https://doi.org/10.1007/3-540-48743-3_11

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66156-6

  • Online ISBN: 978-3-540-48743-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics