Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3035918.3035919acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article
Open access

Transaction Repair for Multi-Version Concurrency Control

Published: 09 May 2017 Publication History

Abstract

The optimistic variants of Multi-Version Concurrency Control (MVCC) avoid blocking concurrent transactions at the cost of having a validation phase. Upon failure in the validation phase, the transaction is usually aborted and restarted from scratch. The "abort and restart" approach becomes a performance bottleneck for use cases with high contention objects or long running transactions. In addition, restarting from scratch creates a negative feedback loop in the system, because the system incurs additional overhead that may create even more conflicts.
In this paper, we propose a novel approach for conflict resolution in MVCC for in-memory databases. This low overhead approach summarizes the transaction programs in the form of a dependency graph. The dependency graph also contains the constructs used in the validation phase of the MVCC algorithm. Then, when encountering conflicts among transactions, our mechanism quickly detects the conflict locations in the program and partially re-executes the conflicting transactions. This approach maximizes the reuse of the computations done in the initial execution round, and increases the transaction processing throughput.

Supplementary Material

Read me (3035918.3035919_readme.pdf)

References

[1]
J. Aspnes, A. Fekete, N. Lynch, M. Merritt, and W. Weihl. A theory of timestamp-based concurrency control for nested transactions. In Fourteenth International Conference on Very Large Databases, pages 431--444, Aug. 1988.
[2]
P. Bailis, A. Fekete, M. J. Franklin, A. Ghodsi, J. M. Hellerstein, and I. Stoica. Coordination avoidance in database systems. Proc. VLDB Endow., 8(3):185--196, Nov. 2014.
[3]
R. Bayer, H. Heller, and A. Reiser. Parallelism and recovery in database systems. ACM Trans. Database Syst., 5(2):139--156, June 1980.
[4]
P. A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1986.
[5]
M. J. Carey. Improving the performance of an optimistic concurrency control algorithm through timestamps and versions. IEEE Trans. Softw. Eng., 13(6):746--751, June 1987.
[6]
A. Chan, S. Fox, W.-T. K. Lin, A. Nori, and D. R. Ries. The implementation of an integrated concurrency control and recovery scheme. In Proceedings of the 1982 ACM SIGMOD International Conference on Management of Data, SIGMOD '82, pages 184--191, New York, NY, USA, 1982. ACM.
[7]
C. Diaconu, C. Freedman, E. Ismert, P.-A. Larson, P. Mittal, R. Stonecipher, N. Verma, and M. Zwilling. Hekaton: SQL Server's memory-optimized OLTP engine. In SIGMOD, 2013.
[8]
D. E. Difallah, A. Pavlo, C. Curino, and P. Cudre-Mauroux. OLTP-Bench: An Extensible Testbed for Benchmarking Relational Databases. Proc. VLDB Endow., 7(4):277--288, Dec. 2013.
[9]
J. M. Faleiro and D. J. Abadi. Rethinking serializable multiversion concurrency control. Proc. VLDB Endow., 8(11):1190--1201, July 2015.
[10]
A. Fekete, N. Lynch, M. Merritt, and W. Weihl. Commutativity-based locking for nested transactions. J. Comput. Syst. Sci., 41(1):65--156, Aug. 1990.
[11]
J. Ferrante, K. J. Ottenstein, and J. D. Warren. The program dependence graph and its use in optimization. ACM Trans. Program. Lang. Syst., 9(3):319--349, July 1987.
[12]
H. Garcia-Molina and K. Salem. Sagas. SIGMOD Rec., 16(3):249--259, Dec. 1987.
[13]
J. Gray and A. Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1st edition, 1992.
[14]
T. L. Harris. A pragmatic implementation of non-blocking linked-lists. In Proceedings of the 15th International Conference on Distributed Computing, DISC '01, pages 300--314, London, UK, UK, 2001. Springer-Verlag.
[15]
E. P. Jones, D. J. Abadi, and S. Madden. Low overhead concurrency control for partitioned main memory databases. In Proceedings of the 2010 international conference on Management of data, SIGMOD '10, pages 603--614, New York, NY, USA, 2010. ACM.
[16]
J. R. Jordan, J. Banerjee, and R. B. Batman. Precision locks. In Proceedings of the 1981 ACM SIGMOD International Conference on Management of Data, SIGMOD '81, pages 143--147, New York, NY, USA, 1981. ACM.
[17]
A. Kemper and T. Neumann. HyPer: A Hybrid OLTP & OLAP Main Memory Database System Based on Virtual Memory Snapshots. In Proceedings of the 2011 IEEE 27th International Conference on Data Engineering, ICDE '11, pages 195--206, Washington, DC, USA, 2011. IEEE Computer Society.
[18]
K. Kim, T. Wang, R. Johnson, and I. Pandis. Ermia: Fast memory-optimized database system for heterogeneous workloads. In Proceedings of the 2016 International Conference on Management of Data, SIGMOD '16, pages 1675--1687, New York, NY, USA, 2016. ACM.
[19]
H. T. Kung and J. T. Robinson. On optimistic methods for concurrency control. ACM Trans. Database Syst., 6(2):213--226, June 1981.
[20]
P. J. Landin. The mechanical evaluation of expressions. The Computer Journal, 6(4), 1964.
[21]
P.-A. k. Larson, S. Blanas, C. Diaconu, C. Freedman, J. M. Patel, and M. Zwilling. High-performance concurrency control mechanisms for main-memory databases. PVLDB, 5(4):298--309, Dec. 2011.
[22]
X. Li, D. G. Andersen, M. Kaminsky, and M. J. Freedman. Algorithmic improvements for fast concurrent cuckoo hashing. In Proceedings of the Ninth European Conference on Computer Systems, EuroSys '14, pages 27:1--27:14, New York, NY, USA, 2014. ACM.
[23]
T. Merrifield and J. Eriksson. Conversion: Multi-version concurrency control for main memory segments. In Proceedings of the 8th ACM European Conference on Computer Systems, EuroSys '13, pages 127--139, New York, NY, USA, 2013. ACM.
[24]
J. E. Moss. Nested Transactions: An Approach to Reliable Distributed Computing. Massachusetts Institute of Technology, Cambridge, MA, USA, 1985.
[25]
T. Neumann, T. Mühlbauer, and A. Kemper. Fast serializable multi-version concurrency control for main-memory database systems. In SIGMOD, 2015.
[26]
D. R. K. Ports and K. Grittner. Serializable snapshot isolation in postgresql. Proc. VLDB Endow., 5(12):1850--1861, Aug. 2012.
[27]
M. Reimer. Solving the phantom problem by predicative optimistic concurrency control. In Proceedings of the 9th International Conference on Very Large Data Bases, VLDB '83, pages 81--88, San Francisco, CA, USA, 1983. Morgan Kaufmann Publishers Inc.
[28]
A. Reuter. Concurrency on high-traffic data elements. In Proceedings of the 1st ACM SIGACT-SIGMOD Symposium on Principles of Database Systems, PODS '82, pages 83--92, New York, NY, USA, 1982. ACM.
[29]
V. Sikka, F. Färber, W. Lehner, S. K. Cha, T. Peh, and C. Bornhövd. Efficient transaction processing in SAP HANA database: The end of a column store myth. SIGMOD '12, pages 731--742, New York, NY, USA, 2012. ACM.
[30]
A. Thomson, T. Diamond, S.-C. Weng, K. Ren, P. Shao, and D. J. Abadi. Calvin: Fast distributed transactions for partitioned database systems. SIGMOD '12, pages 1--12, New York, NY, USA, 2012. ACM.
[31]
Transaction Processing Performance Council. TPC-C Benchmark Revision 5.11. http://www.tpc.org/tpcc.
[32]
Transaction Processing Performance Council. TPC-E Benchmark Revision 1.13.0. http://www.tpc.org/tpce/.
[33]
S. Tu, W. Zheng, E. Kohler, B. Liskov, and S. Madden. Speedy transactions in multicore in-memory databases. In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles, SOSP '13, pages 18--32, New York, NY, USA, 2013. ACM.
[34]
T. L. Veldhuizen. Incremental maintenance for leapfrog triejoin. CoRR, abs/1303.5313, 2013.
[35]
T. L. Veldhuizen. Transaction repair: Full serializability without locks. CoRR, abs/1403.5645, 2014.
[36]
G. Weikum and G. Vossen. Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2001.
[37]
A. Wolski. TATP Benchmark Description (Version 1.0). http://tatpbenchmark.sourceforge.net, Mar. 2009.
[38]
Y. Wu. THEDB (Cavalia). https://github.com/Cavalia/Cavalia, 2016.
[39]
Y. Wu, C.-Y. Chan, and K.-L. Tan. Transaction healing: Scaling optimistic concurrency control on multicores. In Proceedings of the 2016 International Conference on Management of Data, SIGMOD '16, pages 1689--1704, New York, NY, USA, 2016. ACM.
[40]
C. Yan and A. Cheung. Leveraging lock contention to improve OLTP application performance. Proceedings of the VLDB Endowment, 9(5):444--455, 2016.
[41]
X. Yu, G. Bezerra, A. Pavlo, S. Devadas, and M. Stonebraker. Staring into the abyss: An evaluation of concurrency control with one thousand cores. Proc. VLDB Endow., 8(3):209--220, Nov. 2014.
[42]
X. Yu, A. Pavlo, D. Sanchez, and S. Devadas. Tictoc: Time traveling optimistic concurrency control. In Proceedings of the 2016 International Conference on Management of Data, SIGMOD '16, pages 1629--1642, New York, NY, USA, 2016. ACM.

Cited By

View all
  • (2023)Fine-Grained Re-Execution for Efficient Batched Commit of Distributed TransactionsProceedings of the VLDB Endowment10.14778/3594512.359452316:8(1930-1943)Online publication date: 22-Jun-2023
  • (2023)Ad Hoc Transactions through the Looking Glass: An Empirical Study of Application-Level Transactions in Web ApplicationsACM Transactions on Database Systems10.1145/363855349:1(1-43)Online publication date: 23-Dec-2023
  • (2023)RCBench: an RDMA-enabled transaction framework for analyzing concurrency control algorithmsThe VLDB Journal10.1007/s00778-023-00821-033:2(543-567)Online publication date: 14-Dec-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGMOD '17: Proceedings of the 2017 ACM International Conference on Management of Data
May 2017
1810 pages
ISBN:9781450341974
DOI:10.1145/3035918
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication Notes

Badge change: Article originally badged under Version 1.0 guidelines https://www.acm.org/publications/policies/artifact-review-badging

Publication History

Published: 09 May 2017

Permissions

Request permissions for this article.

Check for updates

Badges

Author Tags

  1. conflict resolution
  2. multi-version concurrency control
  3. transaction
  4. transaction repair

Qualifiers

  • Research-article

Funding Sources

Conference

SIGMOD/PODS'17
Sponsor:

Acceptance Rates

Overall Acceptance Rate 785 of 4,003 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)157
  • Downloads (Last 6 weeks)27
Reflects downloads up to 30 Aug 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Fine-Grained Re-Execution for Efficient Batched Commit of Distributed TransactionsProceedings of the VLDB Endowment10.14778/3594512.359452316:8(1930-1943)Online publication date: 22-Jun-2023
  • (2023)Ad Hoc Transactions through the Looking Glass: An Empirical Study of Application-Level Transactions in Web ApplicationsACM Transactions on Database Systems10.1145/363855349:1(1-43)Online publication date: 23-Dec-2023
  • (2023)RCBench: an RDMA-enabled transaction framework for analyzing concurrency control algorithmsThe VLDB Journal10.1007/s00778-023-00821-033:2(543-567)Online publication date: 14-Dec-2023
  • (2022)Fast Concurrency Control with Thread Activity Management beyond BackoffJournal of Information Processing10.2197/ipsjjip.30.55230(552-561)Online publication date: 2022
  • (2022)Ad Hoc Transactions in Web Applications: The Good, the Bad, and the UglyProceedings of the 2022 International Conference on Management of Data10.1145/3514221.3526120(4-18)Online publication date: 10-Jun-2022
  • (2021)Discriminative Admission Control for Shared-everything Database under Mixed OLTP Workloads2021 IEEE 37th International Conference on Data Engineering (ICDE)10.1109/ICDE51399.2021.00073(780-791)Online publication date: Apr-2021
  • (2021)Locking Paradigm in Hierarchical Structure EnvironmentSoft Computing: Theories and Applications10.1007/978-981-16-1740-9_57(695-703)Online publication date: 31-Jul-2021
  • (2021)Locking Paradigm in Hierarchical Structure EnvironmentAdvances in Mechanical Engineering10.1007/978-981-16-0942-8_61(653-661)Online publication date: 27-Jun-2021
  • (2020)An analysis of concurrency control protocols for in-memory databases with CCBenchProceedings of the VLDB Endowment10.14778/3424573.342457513:13(3531-3544)Online publication date: 27-Oct-2020
  • (2020)Handling Highly Contended OLTP Workloads Using Fast Dynamic PartitioningProceedings of the 2020 ACM SIGMOD International Conference on Management of Data10.1145/3318464.3389764(527-542)Online publication date: 11-Jun-2020
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media