Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Improving optimistic concurrency control through transaction batching and operation reordering

Published: 01 October 2018 Publication History

Abstract

OLTP systems can often improve throughput by batching transactions and processing them as a group. Batching has been used for optimizations such as message packing and group commits; however, there is little research on the benefits of a holistic approach to batching across a transaction's entire life cycle. In this paper, we present a framework to incorporate batching at multiple stages of transaction execution for OLTP systems based on optimistic concurrency control. Storage batching enables reordering of transaction reads and writes at the storage layer, reducing conflicts on the same object. Validator batching enables reordering of transactions before validation, reducing conflicts between transactions. Dependencies between transactions make transaction reordering a non-trivial problem, and we propose several efficient and practical algorithms that can be customized to various transaction precedence policies such as reducing tail latency. We also show how to reorder transactions with a thread-aware policy in multi-threaded OLTP architecture without a centralized validator.
In-depth experiments on a research prototype, an opensource OLTP system, and a production OLTP system show that our techniques increase transaction throughput by up to 2.2x and reduce their tail latency by up to 71% compared with the start-of-the-art systems on workloads with high data contention.

References

[1]
R. Abbott et al. Scheduling real-time transactions: A performance evaluation. TODS, 17(3), 1992.
[2]
A. Adya and B. Liskov. Lazy consistency using loosely synchronized clocks. In PODC, 1997.
[3]
R. Agrawal et al. Concurrency control performance modeling: alternatives and implications. TODS, 1987.
[4]
M. Alomari et al. The cost of serializability on platforms that use snapshot isolation. In ICDE, 2008.
[5]
R. Appuswamy, A. C. Anadiotis, D. Porobic, M. K. Iman, and A. Ailamaki. Analyzing the impact of system architecture on the scalability of oltp engines for high-contention workloads. PVLDB, 11(2):121--134, 2017.
[6]
J. Baker, C. Bond, et al. Megastore: Providing scalable, highly available storage for interactive services. In CIDR, 2011.
[7]
R. Bayer et al. Dynamic timestamp allocation for transactions in database systems. In DDB, 1982.
[8]
P. A. Bernstein, S. Das, B. Ding, et al. Optimizing optimistic concurrency control for tree-structured, log-structured databases. In SIGMOD, 2015.
[9]
P. A. Bernstein et al. Hyder - A transactional record manager for shared flash. In CIDR, 2011.
[10]
P. A. Bernstein, C. W. Reid, et al. Optimistic concurrency control by melding trees. PVLDB, 4(11):944--955, 2011.
[11]
C. Boksenbaum, M. Cart, et al. Concurrent certifications by intervals of timestamps in distributed database systems. TSE, SE-13(4), 1987.
[12]
M. Castro and B. Liskov. Practical byzantine fault tolerance and proactive recovery. TODS, 20(4), 2002.
[13]
J. C. Corbett et al. Spanner: Google's globally-distributed database. In OSDI, 2012.
[14]
V. Cutello et al. Targeting the minimum vertex set problem with an enhanced genetic algorithm improved with local search strategies. In Intelligent Computing Theories and Methodologies. 2015.
[15]
J. DeBrabant, A. Pavlo, et al. Anti-caching: A new approach to database management system architecture. PVLDB, 6(14):1942--1953, 2013.
[16]
B. Ding, L. Kot, A. Demers, and J. Gehrke. Centiman: elastic, high performance optimistic concurrency control by watermarking. In SOCC, 2015.
[17]
R. Escriva, B. Wong, and E. G. Sirer. Warp: Lightweight multi-key transactions for key-value stores. Technical report, 2013.
[18]
J. M. Faleiro and D. J. Abadi. Rethinking serializable multiversion concurrency control. PVLDB, 8(11):1190--1201, 2015.
[19]
J. M. Faleiro, A. Thomson, et al. Lazy evaluation of transactions in database systems. In SIGMOD, 2014.
[20]
P. Franaszek and J. Robinson. Limitations of concurrency in transaction processing. TODS, 1985.
[21]
R. Friedman and E. Hadad. Adaptive batching for replicated servers. In SRDS, Oct 2006.
[22]
R. Friedman and R. Van Renesse. Packing messages as a tool for boosting the performance of total ordering protocols. In HPDC, 1997.
[23]
L. Glendenning, I. Beschastnikh, et al. Scalable consistency in Scatter. In SOSP, 2011.
[24]
J. Gray et al. Quickly generating billion-record synthetic databases. In SIGMOD Rec., 1994
[25]
R. Hagmann. Reimplementing the cedar file system using logging and group commit. SIGOPS Oper. Syst. Rev., 21(5), Nov. 1987.
[26]
J. Haritsa, M. Carey, et al. Dynamic real-time optimistic concurrency control. In RTSS, 1990.
[27]
J. Haritsa et al. Value-based scheduling in real-time database systems. VLDB J., 2(2):117--152, 1993.
[28]
A. Helal et al. Adaptive transaction scheduling. In CIKM, 1993.
[29]
C. A. R. Hoare. Algorithm 65: Find. Commun. ACM, 4(7):321--322, July 1961.
[30]
J. Huang, J. A. Stankovic, et al. Experimental evaluation of real-time optimistic concurrency control schemes. In VLDB, pages 35--46, 1991.
[31]
V. Kann. On the approximability of NP-complete optimization problems. PhD thesis, 1992.
[32]
R. M. Karp. Reducibility among combinatorial problems. In Proceedings of a symposium on the Complexity of Computer Computations, held March 20-22, 1972, at the IBM Thomas J. Watson Research Center, Yorktown Heights, New York, USA, pages 85--103, 1972.
[33]
K. Kim, T. Wang, R. Johnson, and I. Pandis. Ermia: Fast memory-optimized database system for heterogeneous workloads. In SIGMOD, pages 1675--1687. ACM, 2016.
[34]
H. T. Kung and J. T. Robinson. On optimistic methods for concurrency control. ACM Trans. Database Syst., 6(2), 1981.
[35]
K.-W. Lam, K.-Y. Lam, et al. Real-time optimistic concurrency control protocol with dynamic adjustment of serialization order. In RTSS, 1995.
[36]
P.-A. Larson et al. High-performance concurrency control mechanisms for main-memory databases. PVLDB, 5(4):298--309, 2011.
[37]
J. Lee et al. Using dynamic adjustment of serialization order for real-time database systems. In RTSS, 1993.
[38]
H. Lim, M. Kaminsky, and D. G. Andersen. Cicada: Dependably fast multi-core in-memory transactions. In SIGMOD, pages 21--35. ACM, 2017.
[39]
Y. Lin and S. H. Son. Concurrency control in real-time databases by dynamic adjustment of serialization order. In RTSS, 1990.
[40]
S. Mu, Y. Cui, et al. Extracting more concurrency from distributed transactions. In OSDI, 2014.
[41]
J. Nagle. Congestion control in IP/TCP internetworks. SIGCOMM Comput. Commun. Rev., 14(4), Oct. 1984.
[42]
S. Patterson, A. J. Elmore, et al. Serializability, not serial: Concurrency control and availability in multi-datacenter datastores. PVLDB, 5(11):1459--1470, 2012.
[43]
D. Peng and F. Dabek. Large-scale incremental processing using distributed transactions and notifications. In OSDI, 2010.
[44]
T. M. Qadah and M. Sadoghi. Quecc: A queue-oriented, control-free concurrency architecture. In ACM/IFIP International Middleware Conference, 2018.
[45]
N. Santos and A. Schiper. Tuning paxos for high-throughput with batching and pipelining. In Distributed Computing and Networking. 2012.
[46]
D. Shasha et al. Transaction chopping: Algorithms and performance studies. TODS, 20(3), 1995.
[47]
R. Tarjan. Depth-first search and linear graph algorithms. SIAM journal on computing, 1(2), 1972.
[48]
A. Thomasian. Distributed optimistic concurrency control methods for high-performance transaction processing. TKDE, 10(1), 1998.
[49]
A. Thomson, T. Diamond, et al. Calvin: fast distributed transactions for partitioned database systems. In SIGMOD, 2012.
[50]
S. Tu, W. Zheng, et al. Speedy transactions in multicore in-memory databases. In SOSP, 2013.
[51]
T. Wang and H. Kimura. Mostly-optimistic concurrency control for highly contended dynamic workloads on a thousand cores. PVLDB, 10(2):49--60, 2016.
[52]
Z. Wang, S. Mu, Y. Cui, H. Yi, H. Chen, and J. Li. Scaling multicore databases via constrained parallel execution. In SIGMOD, pages 1643--1658. ACM, 2016.
[53]
C. Xie, C. Su, et al. Salt: Combining ACID and BASE in a distributed database. In OSDI, volume 14, 2014.
[54]
C. Xie, C. Su, et al. High-performance ACID via modular concurrency control. In SOSP, 2015.
[55]
P. Yu and D. Dias. Analysis of hybrid concurrency control schemes for a high data contention environment. TSE, 18(2), 1992.
[56]
X. Yu, A. Pavlo, D. Sanchez, and S. Devadas. Tictoc: Time traveling optimistic concurrency control. In SIGMOD, pages 1629--1642. ACM, 2016.

Cited By

View all
  • (2024)DoppelGanger++: Towards Fast Dependency Graph Generation for Database ReplayProceedings of the ACM on Management of Data10.1145/36393222:1(1-26)Online publication date: 26-Mar-2024
  • (2024)TimeCloth: Fast Point-in-Time Database Recovery in The CloudCompanion of the 2024 International Conference on Management of Data10.1145/3626246.3653382(214-226)Online publication date: 9-Jun-2024
  • (2023)Tigger: A Database Proxy That Bounces with User-BypassProceedings of the VLDB Endowment10.14778/3611479.361153016:11(3335-3348)Online publication date: 24-Aug-2023
  • Show More Cited By

Index Terms

  1. Improving optimistic concurrency control through transaction batching and operation reordering
    Index terms have been assigned to the content through auto-classification.

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Proceedings of the VLDB Endowment
    Proceedings of the VLDB Endowment  Volume 12, Issue 2
    October 2018
    98 pages
    ISSN:2150-8097
    Issue’s Table of Contents

    Publisher

    VLDB Endowment

    Publication History

    Published: 01 October 2018
    Published in PVLDB Volume 12, Issue 2

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

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

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)DoppelGanger++: Towards Fast Dependency Graph Generation for Database ReplayProceedings of the ACM on Management of Data10.1145/36393222:1(1-26)Online publication date: 26-Mar-2024
    • (2024)TimeCloth: Fast Point-in-Time Database Recovery in The CloudCompanion of the 2024 International Conference on Management of Data10.1145/3626246.3653382(214-226)Online publication date: 9-Jun-2024
    • (2023)Tigger: A Database Proxy That Bounces with User-BypassProceedings of the VLDB Endowment10.14778/3611479.361153016:11(3335-3348)Online publication date: 24-Aug-2023
    • (2023)TiQuE: Improving the Transactional Performance of Analytical Systems for True Hybrid WorkloadsProceedings of the VLDB Endowment10.14778/3598581.359859816:9(2274-2288)Online publication date: 10-Jul-2023
    • (2023)When Private Blockchain Meets Deterministic DatabaseProceedings of the ACM on Management of Data10.1145/35889521:1(1-28)Online publication date: 30-May-2023
    • (2023)Polaris: Enabling Transaction Priority in Optimistic Concurrency ControlProceedings of the ACM on Management of Data10.1145/35887241:1(1-24)Online publication date: 30-May-2023
    • (2023)Transaction Scheduling: From Conflicts to Runtime ConflictsProceedings of the ACM on Management of Data10.1145/35887061:1(1-26)Online publication date: 30-May-2023
    • (2023)Concurrency control for database theoristsACM SIGMOD Record10.1145/3582302.358230451:4(6-17)Online publication date: 25-Jan-2023
    • (2023)Xfast: Extreme File Attribute Stat Acceleration for LustreProceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis10.1145/3581784.3607080(1-12)Online publication date: 12-Nov-2023
    • (2023)OCC2T: An Early-Read Dual-Track OCC Algorithm For Mixed Mode SystemsProceedings of the 38th ACM/SIGAPP Symposium on Applied Computing10.1145/3555776.3577757(321-330)Online publication date: 27-Mar-2023
    • Show More Cited By

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media