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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
Brown, A. AND Morrison, R. 1992. A generic persistent object store. Software Engineering Journal 7, 2, 161–168.
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.
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.
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.
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.
Fletcher, J. 1982. An arithmetic checksum for serial transmissions. IEEE Transactions on Communications 30, 1 (Jan.), 247–253.
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.
Franklin, M. J. 1997. Concurrency control and recovery. In A. B. Tucker Ed., The Computer Science and Engineering Handbook, pp. 1058–1077. CRC Press.
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.
Harder, T. AND Reuter, A. 1983. Principles of transaction-oriented database recovery. ACM Computing Surveys 15, 4 (Dec.), 287–317.
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.
Kleiman, S., Smalders, B., AND Shah, D. 1995. Programming with Threads. Prentice Hall.
Knuth, D. E. 1997. The Art of Computer Programming (second ed.), Volume 3. Addison Wesley.
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.
Larson, P.-Å. 1988. Dynamic hash tables. Communications of the ACM 31, 4 (April), 446–457.
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.
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.
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).
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.
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.
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.
Sleator, D. D. AND Tarjan, R. E. 1985. Self-adjusting binary search trees. Journal of the ACM 32, 3, 652–686.
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.
Tridgell, A. 1999. Efficient Algorithms for Sorting and Synchronization. PhD thesis, Australian National University.
Tridgell, A. AND Mackerras, P. 1998. The rsync algorithm. Technical report, Australian National University. http://rsync.samba.org.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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