Platypus: Design and Implementation of a Flexible High Performance Object Store
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.
KeywordsLarge Data Base Recovery Algorithm Object Store Buffer Cache Object Cache
Unable to display preview. Download preview PDF.
- [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
- [Blackburn 1998]
- [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
- [Brown and Morrison 1992]
- [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
- [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
- [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
- [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.
- [Fletcher 1982]
- [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
- [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
- [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
- [Härder and Reuter 1983]
- [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
- [Kleiman et al. 1995]Kleiman, S., Smalders, B., AND Shah, D. 1995. Programming with Threads. Prentice Hall.Google Scholar
- [Knuth 1997]Knuth, D. E. 1997. The Art of Computer Programming (second ed.), Volume 3. Addison Wesley.Google Scholar
- [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
- [Larson 1988]
- [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
- [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
- [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
- [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
- [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
- [Mohan et al. 1992]
- [Sleator and Tarjan 1985]
- [Taylor et al. 1998]
- [Tridgell 1999]Tridgell, A. 1999. Efficient Algorithms for Sorting and Synchronization. PhD thesis, Australian National University.Google Scholar
- [Tridgell and Mackerras 1998]Tridgell, A. AND Mackerras, P. 1998. The rsync algorithm. Technical report, Australian National University. http://rsync.samba.org.
- [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