Advertisement

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

  • Zhen He
  • Stephen M. Blackburn
  • Luke Kirby
  • John Zigman
Conference paper
Part of the Lecture Notes in Computer Science book series (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.

Keywords

Large Data Base Recovery Algorithm Object Store Buffer Cache Object Cache 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Agrawal and Srikant 1994]
    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 1998]
    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 and Stanton 1998]
    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 and Morrison 1992]
    Brown, A. AND Morrison, R. 1992. A generic persistent object store. Software Engineering Journal 7, 2, 161–168.CrossRefGoogle Scholar
  5. [Carey et al. 1994]
    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 et al. 1993]
    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 et al. 1988]
    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 1996]
    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 1982]
    Fletcher, J. 1982. An arithmetic checksum for serial transmissions. IEEE Transactions on Communications 30, 1 (Jan.), 247–253.CrossRefGoogle Scholar
  10. [Franklin 1996]
    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 1997]
    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 1999]
    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. [Härder and Reuter 1983]
    Harder, T. AND Reuter, A. 1983. Principles of transaction-oriented database recovery. ACM Computing Surveys 15, 4 (Dec.), 287–317.CrossRefGoogle Scholar
  14. [Kemper and Kossmann 1994]
    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 et al. 1995]
    Kleiman, S., Smalders, B., AND Shah, D. 1995. Programming with Threads. Prentice Hall.Google Scholar
  16. [Knuth 1997]
    Knuth, D. E. 1997. The Art of Computer Programming (second ed.), Volume 3. Addison Wesley.Google Scholar
  17. [Larson 1980]
    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 1988]
    Larson, P.-Å. 1988. Dynamic hash tables. Communications of the ACM 31, 4 (April), 446–457.CrossRefMathSciNetGoogle Scholar
  19. [Liskov et al. 1999]
    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 1980]
    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 et al. 1996]
    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 1990]
    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 1999]
    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 et al. 1992]
    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.CrossRefGoogle Scholar
  25. [Sleator and Tarjan 1985]
    Sleator, D. D. AND Tarjan, R. E. 1985. Self-adjusting binary search trees. Journal of the ACM 32, 3, 652–686.MATHCrossRefMathSciNetGoogle Scholar
  26. [Taylor et al. 1998]
    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 1999]
    Tridgell, A. 1999. Efficient Algorithms for Sorting and Synchronization. PhD thesis, Australian National University.Google Scholar
  28. [Tridgell and Mackerras 1998]
    Tridgell, A. AND Mackerras, P. 1998. The rsync algorithm. Technical report, Australian National University. http://rsync.samba.org.
  29. [Voruganti et al. 1999]
    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

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Zhen He
    • 1
  • Stephen M. Blackburn
    • 2
  • Luke Kirby
    • 1
  • John Zigman
    • 1
  1. 1.Department of Computer ScienceAustralian National UniversityCanberraAustralia
  2. 2.Department of Computer ScienceUniversity of MassachusettsAmherstUSA

Personalised recommendations