skip to main content
article

Lightweight locking for main memory database systems

Published:01 December 2012Publication History
Skip Abstract Section

Abstract

Locking is widely used as a concurrency control mechanism in database systems. As more OLTP databases are stored mostly or entirely in memory, transactional throughput is less and less limited by disk IO, and lock managers increasingly become performance bottlenecks.

In this paper, we introduce very lightweight locking (VLL), an alternative approach to pessimistic concurrency control for main-memory database systems that avoids almost all overhead associated with traditional lock manager operations. We also propose a protocol called selective contention analysis (SCA), which enables systems implementing VLL to achieve high transactional throughput under high contention workloads. We implement these protocols both in a traditional single-machine multi-core database server setting and in a distributed database where data is partitioned across many commodity machines in a shared-nothing cluster. Our experiments show that VLL dramatically reduces locking overhead and thereby increases transactional throughput in both settings.

References

  1. D. Agrawal and S. Sengupta. Modular synchronization in distributed, multiversion databases: Version control and concurrency control. IEEE TKDE, 5, 1993. Google ScholarGoogle Scholar
  2. R. Agrawal and M. J. C. M. Livny. Concurrency control performance modeling: Alternatives and implications. volume 12, pages 609-654, 1987. Google ScholarGoogle Scholar
  3. P. A. Bernstein and N. Goodman. Concurrency control in distributed database systems. ACM Comput. Surv., 13(2):185-221, 1981. Google ScholarGoogle Scholar
  4. P. A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987. Google ScholarGoogle Scholar
  5. V. Gottemukkala and T. Lehman. Locking and latching in a memory-resident database system. VLDB, 1992. Google ScholarGoogle Scholar
  6. J. Gray. Notes on database operating systems. Operating System, An Advanced Course. Springer-Verlag, Berlin, 1979. Google ScholarGoogle Scholar
  7. J. Gray and Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, New York, 1993. Google ScholarGoogle Scholar
  8. S. Harizopoulos, D. J. Abadi, S. R. Madden, and M. Stonebraker. OLTP through the looking glass, and what we found there. In SIGMOD, 2008. Google ScholarGoogle Scholar
  9. R. Johnson, I. Pandis, and A. Ailamaki. Improving oltp scalability using speculative lock inheritance. PVLDB, 2(1):479-489, 2009. Google ScholarGoogle Scholar
  10. E. P. C. Jones, D. J. Abadi, and S. R. Madden. Concurrency control for partitioned databases. In SIGMOD, 2010. Google ScholarGoogle Scholar
  11. A. Joshi. Adaptive locking strategies in a multi-node data sharing environment. VLDB, 1991. Google ScholarGoogle Scholar
  12. H. Kimura, G. Graefe, and H. Kuno. Efficient locking techniques for databases on modern hardware. In Workshop on Accelerating Data Management Systems Using Modern Processor and Storage Architectures, 2012.Google ScholarGoogle Scholar
  13. H. T. Kung and J. T. Robinson. On optimistic methods for concurrency control. TODS, 6(2), 1981. Google ScholarGoogle Scholar
  14. P. Larson, S. Blanas, C. Diaconu, C. Freedman, J. Patel, and M. Zwilling. High-performance concurrency control mechanisms for main-memory database. PVLDB, 5(4):298-309, 2011. Google ScholarGoogle Scholar
  15. T. Lehman. Design and Performance Evaluation of a Main Memory Relational Database System. PhD thesis, University of Wisconsin-Madison, 1986. Google ScholarGoogle Scholar
  16. T. J. Lehman and V. Gottemukkala. The Design and Performance Evaluation of a Lock Manager for a Memory-Resident Database System. Performance of Concurrency Control Mechanisms in Centralised Database System, Addison-Wesley, 1996. Google ScholarGoogle Scholar
  17. C. Mohan and I. Narang. Recovery and coherency-control protocols for fast inter-system page transfer and fine-granularity locking in shared disks transaction environment. VLDB, 1991. Google ScholarGoogle Scholar
  18. I. Pandis, R. Johnson, N. Hardavellas, and A. Ailamaki. Data-oriented transaction execution. PVLDB, 3(1):928-939, 2010. Google ScholarGoogle Scholar
  19. M. Stonebraker, S. R. Madden, D. J. Abadi, S. Harizopoulos, N. Hachem, and P. Helland. The end of an architectural era (it's time for a complete rewrite). In VLDB, Vienna, Austria, 2007. Google ScholarGoogle Scholar
  20. A. Thomasian. Two-phase locking performance and its thrashing behavior. TODS, 18(4):579-625, 1993. Google ScholarGoogle Scholar
  21. A. Thomson and D. J. Abadi. The case for determinism in database systems. VLDB, 2010. Google ScholarGoogle Scholar
  22. A. Thomson, T. Diamond, P. Shao, K. Ren, S.-C. Weng, and D. J. Abadi. Calvin: Fast distributed transactions for partitioned database systems. In SIGMOD, 2012. Google ScholarGoogle Scholar
  23. A. Whitney, D. Shasha, and S. Apter. High volume transaction processing without concurrency control, two phase commit, SQL or C++. In HPTS, 1997.Google ScholarGoogle Scholar

Index Terms

  1. Lightweight locking for main memory database systems

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image Proceedings of the VLDB Endowment
            Proceedings of the VLDB Endowment  Volume 6, Issue 2
            December 2012
            120 pages

            Publisher

            VLDB Endowment

            Publication History

            • Published: 1 December 2012
            Published in pvldb Volume 6, Issue 2

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader