Skip to main content

Platypus: Design and Implementation of a Flexible High Performance Object Store

  • Conference paper
  • First Online:

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

Abstract

This paper reports the design and implementation of Platypus, a transactional object store. The twin goals of flexibility and performance dominate the design of Platypus. The design includes: support for SMP concurrency; standalone, client-server and client-peer distribution configurations; configurable logging and recovery; and object management which can accommodate garbage collection and clustering mechanisms. The first implementation of Platypus incorporates a number of innovations. (1) A new recovery algorithm derived from ARIES that removes the need for log sequence numbers to be present in store pages. (2) A zero-copy memory-mapped buffer manager with controlled write-back behavior. (3) A data structure for highly concurrent map querying. We present performance results comparing Platypus with SSM, the storage layer of the SHORE object store. For both medium and small OO7 workloads Platypus outperforms SHORE across a wide range of benchmark operations in both ‘hot’ and ‘cold’ settings.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Agrawal, R. AND Srikant, R. 1994. Fast algorithms for mining association rules in large databases. In J. B. Bocca, M. Jarke, AND C. Zaniolo Eds., VLDB’ 94, Proceedings of 20th International Conference on Very Large Data Bases, September 12-15, 1994, Santiago de Chile, Chile (1994), pp. 487–499. Morgan Kaufmann.

    Google Scholar 

  2. Blackburn, S. M. 1998. Persistent Store Interface: A foundation for scalable persistent system design. PhD thesis, Australian National University, Canberra, Australia. http://cs.anu.edu.au/~Steve.Blackburn.

    Google Scholar 

  3. Blackburn, S. M. AND Stanton, R. B. 1998. The transactional object cache: A foundation for high performance persistent system construction. In R. Morrison, M. Jordan, AND M. 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, 1998), pp. 37–50. Morgan Kaufmann.

    Google Scholar 

  4. Brown, A. AND Morrison, R. 1992. A generic persistent object store. Software Engineering Journal 7, 2, 161–168.

    Article  Google Scholar 

  5. Carey, M. J., DeWitt, D. J., Franklin, M. J., Hall, N. E., McAuliffe, M. L., Naughton, J. F., Schuh, D. T., Solomon, M. H., Tan, C. K., Tsatalos, O. G., White, S. J., AND Zwilling, M. J. 1994. Shoring up persistent applications. 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, Volume 23 of SIGMOD Record (June 1994), pp. 383–394. ACM Press.

    Google Scholar 

  6. Carey, M. J., DeWitt, D. J., AND Naughton, J. F. 1993. The 007 benchmark. In P. Buneman AND S. Jajodia Eds., Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data, Washington, D.C., May 26–28, 1993 (1993), pp. 12–21. ACM Press.

    Google Scholar 

  7. Carey, M.J., DeWitt, D.J., AND Vandenberg, S. L. 1988. A data model and query language for exodus. In H. Boral AND P.-A. Larson Eds., Proceedings of the 1988 ACM SIGMOD International Conference on Management of Data, Chicago, Illinois, June 1–3, 1988 (1988), pp. 413–423. ACM Press.

    Google Scholar 

  8. Deutsch, P. 1996. RCF 1950 ZLIB compressed data format specification version 3.3. Network Working Group Request for Comments: 1950. http://www.faqs.org/rfcs/rfc1950.html.

  9. Fletcher, J. 1982. An arithmetic checksum for serial transmissions. IEEE Transactions on Communications 30, 1 (Jan.), 247–253.

    Article  Google Scholar 

  10. Franklin, M. J. 1996. Client Data Caching: A Foundation for High Performance Object Database Systems, Volume 354 of The Kluwer International Series in Engineering and Computer Science. Kluwer Academic Publishers, Boston, MA, U.S.A. This book is an updated and extended version of Franklin’s PhD thesis.

    Google Scholar 

  11. Franklin, M. J. 1997. Concurrency control and recovery. In A. B. Tucker Ed., The Computer Science and Engineering Handbook, pp. 1058–1077. CRC Press.

    Google Scholar 

  12. Fürer, M. 1999. Randomized splay trees. In Proceedings of the tenth annual ACM-SIAM Symposium on Discrete Algorithms, 17–19 January 1999, Baltimore, Maryland. (1999), pp. 903–904. ACM/SIAM.

    Google Scholar 

  13. Harder, T. AND Reuter, A. 1983. Principles of transaction-oriented database recovery. ACM Computing Surveys 15, 4 (Dec.), 287–317.

    Article  Google Scholar 

  14. Kemper, A. AND Kossmann, D. 1994. Dual-buffering strategies in object bases. In J. B. Bocca, M. Jarke, AND C. Zaniolo Eds., VLDB’94, Proceedings of 20th International Conference on Very Large Data Bases, September 12–15, 1994, Santiago de Chile, Chile (1994), pp. 427–438. Morgan Kaufmann.

    Google Scholar 

  15. Kleiman, S., Smalders, B., AND Shah, D. 1995. Programming with Threads. Prentice Hall.

    Google Scholar 

  16. Knuth, D. E. 1997. The Art of Computer Programming (second ed.), Volume 3. Addison Wesley.

    Google Scholar 

  17. Larson, P.-Å. 1980. Linear hashing with partial expansions. In Sixth International Conference on Very Large Data Bases, October 1–3, 1980, Montreal, Quebec, Canada, tProceedings (1980), pp. 224–232. IEEE Computer Society Press.

    Google Scholar 

  18. Larson, P.-Å. 1988. Dynamic hash tables. Communications of the ACM 31, 4 (April), 446–457.

    Article  MathSciNet  Google Scholar 

  19. Liskov, B., Castro, M., Shrira, L., AND Adya, A. 1999. Providing persistent objects in distributed systems. In R. Guerraoui Ed., ECCOP’99-Object-Oriented Programming, 13th European Conference, Lisbon, Portugal, June 14–18, 1999, Proceedings, Volume 1628 of Lecture Notes in Computer Science (1999), pp. 230–257.

    Google Scholar 

  20. Litwin, W. 1980. Linear hashing: A new tool for file and table addressing. In Sixth International Conference on Very Large Data Bases, October 1-3, 1980, Montreal, Quebec, Canada, Proceedings (1980), pp. 212–223. IEEE Computer Society Press.

    Google Scholar 

  21. Matthes, F., Muller, R., AND Schmidt, J. W. 1996. Towards aunified model of untyped object stores: Experiences with the Tycoon Store Protocol. In Advances in Databases and Information Systems (ADBIS’96), Proceedings of the Third International Workshop of the Moscow ACM SIGMOD Chapter (1996).

    Google Scholar 

  22. Mohan, C. 1990. Commit LSN: A novel and simple method for reducing locking and latching in transaction processing systems. In D. McLeod, R. Sacks-Davis, AND H.-J. Schek Eds., 16th International Conference on Very Large Data Bases, August 13–16, 1990, Brisbane, Queensland, Australia, Proceedings (1990), pp. 406–418. Morgan Kaufmann.

    Google Scholar 

  23. Mohan, C. 1999. Repeating history beyond ARIES. In M. P. Atkinson, M. E. Orlowska, P. Valduriez, S. B. Zdonik, AND M. L. Brodie Eds., VLDB’99, Proceedings of 25th International Conference on Very Large Data Bases, September 7–10, 1999, Edinburgh, Scotland, UK (1999), pp. 1–17. Morgan Kaufmann.

    Google Scholar 

  24. Mohan, C., Haderle, D. J., Lindsay, B. G., Pirahesh, H., AND Schwarz, P. 1992. ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. TODS 17, 1, 94–162.

    Article  Google Scholar 

  25. Sleator, D. D. AND Tarjan, R. E. 1985. Self-adjusting binary search trees. Journal of the ACM 32, 3, 652–686.

    Article  MATH  MathSciNet  Google Scholar 

  26. Taylor, R., Jana, R., AND Grigg, M. 1998. Checksum testing of remote synchronsation tool. Technical Report DSTO-TR-0627 (March), Defence Science and Technology Organisation, Canberra, Australia. http://www.dsto.defence.gov.au.

    Google Scholar 

  27. Tridgell, A. 1999. Efficient Algorithms for Sorting and Synchronization. PhD thesis, Australian National University.

    Google Scholar 

  28. Tridgell, A. AND Mackerras, P. 1998. The rsync algorithm. Technical report, Australian National University. http://rsync.samba.org.

  29. Voruganti, K., Ozsu, M. T., AND Unrau, R. C. 1999. An adaptive hybrid server architecture for client caching ODBMSs. In M. P. Atkinson, M. E. Orlowska, P. Valduriez, S. B. Zdonik, AND M. L. Brodie Eds., VLDB’99, Proceedings of 25th International Conference on Very Large Data Bases, September 7–10, 1999, Edinburgh, Scotland, UK(1999), pp. 150–161. Morgan Kaufmann.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

He, Z., Blackburn, S.M., Kirby, L., Zigman, J. (2001). Platypus: Design and Implementation of a Flexible High Performance Object Store. In: Kirby, G.N.C., Dearle, A., Sjøberg, D.I.K. (eds) Persistent Object Systems: Design, Implementation, and Use. POS 2000. Lecture Notes in Computer Science, vol 2135. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45498-5_10

Download citation

  • DOI: https://doi.org/10.1007/3-540-45498-5_10

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42735-3

  • Online ISBN: 978-3-540-45498-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics