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

Design Principles for Scaling Multi-core OLTP Under High Contention

Published: 26 June 2016 Publication History

Abstract

Although significant recent progress has been made in improving the multi-core scalability of high throughput transactional database systems, modern systems still fail to achieve scalable throughput for workloads involving frequent access to highly contended data. Most of this inability to achieve high throughput is explained by the fundamental constraints involved in guaranteeing ACID --- the addition of cores results in more concurrent transactions accessing the same contended data for which access must be serialized in order to guarantee isolation. Thus, linear scalability for contended workloads is impossible. However, there exist flaws in many modern architectures that exacerbate their poor scalability, and result in throughput that is much worse than fundamentally required by the workload. In this paper we identify two prevalent design principles that limit the multi-core scalability of many (but not all) transactional database systems on contended workloads: the multi-purpose nature of execution threads in these systems, and the lack of advanced planning of data access. We demonstrate the deleterious results of these design principles by implementing a prototype system, Orthrus, that is motivated by the principles of separation of database component functionality and advanced planning of transactions. We find that these two principles alone result in significantly improved scalability on high-contention workloads, and an order of magnitude increase in throughput for a non-trivial subset of these contended workloads.

References

[1]
P. Bailis, A. Fekete, M. J. Franklin, A. Ghodsi, J. M. Hellerstein, and I. Stoica. Coordination avoidance in database systems. PVLDB, 8(3), 2014.
[2]
A. Baumann, P. Barham, P.-E. Dagand, T. Harris, R. Isaacs, S. Peter, T. Roscoe, A. Schüpbach, and A. Singhania. The multikernel: A new OS architecture for scalable multicore systems. In SOSP, 2009.
[3]
P. A. Bernstein and S. Das. Scaling optimistic concurrency control by approximately partitioning the certifier and log. DE Bull, 38(1), 2015.
[4]
S. Boyd-Wickizer, M. F. Kaashoek, R. Morris, and N. Zeldovich. Non-scalable locks are dangerous. In Linux OLS, 2012.
[5]
I. Calciu, D. Dice, T. Harris, M. Herlihy, A. Kogan, V. Marathe, and M. Moir. Message passing or shared memory: Evaluating the delegation abstraction for multicores. In OPODIS. 2013.
[6]
A. Cheung, S. Madden, O. Arden, and A. C. Myers. Automatic partitioning of database applications. PVLDB, 5(11), 2012.
[7]
A. T. Clements, M. F. Kaashoek, N. Zeldovich, R. T. Morris, and E. Kohler. The scalable commutativity rule: Designing scalable software for multicore processors. In SOSP, 2013.
[8]
N. Conway, W. R. Marczak, P. Alvaro, J. M. Hellerstein, and D. Maier. Logic and lattices for distributed programming. In SoCC, 2012.
[9]
B. F. Cooper, A. Silberstein, E. Tam, R. Ramakrishnan, and R. Sears. Benchmarking cloud serving systems with YCSB. In SoCC, 2010.
[10]
G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels. Dynamo: Amazon's highly available key-value store. In SOSP, 2007.
[11]
B. Ding, L. Kot, A. Demers, and J. Gehrke. Centiman: Elastic, high performance optimistic concurrency control by watermarking. In SoCC, 2015.
[12]
J. M. Faleiro and D. J. Abadi. FIT: A distributed database performance tradeoff. DE Bull, 38(1), 2015.
[13]
J. M. Faleiro and D. J. Abadi. Rethinking serializable multiversion concurrency control. PVLDB, 8(11), 2015.
[14]
J. M. Faleiro, A. Thomson, and D. J. Abadi. Lazy evaluation of transactions in database systems. In SIGMOD, 2014.
[15]
J. Gray and A. Reuter. Transaction processing. Morgan Kaufmann Publishers, 1992.
[16]
S. Harizopoulos, D. Abadi, S. Madden, and M. Stonebraker. OLTP through the looking glass, and what we found there. In SIGMOD, 2008.
[17]
S. Harizopoulos and A. Ailamaki. A case for staged database systems. In CIDR, 2003.
[18]
J. M. Hellerstein, M. Stonebraker, and J. Hamilton. Architecture of a database system. Now Publishers, 2007.
[19]
D. Hendler, I. Incze, N. Shavit, and M. Tzafrir. Flat combining and the synchronization-parallelism tradeoff. In SPAA, 2010.
[20]
R. Huebsch, B. N. Chun, J. M. Hellerstein, B. T. Loo, P. Maniatis, T. Roscoe, S. Shenker, I. Stoica, and A. R. Yumerefendi. The architecture of PIER: An internet-scale query processor. In CIDR, 2005.
[21]
R. Johnson, I. Pandis, and A. Ailamaki. Improving OLTP scalability using speculative lock inheritance. PVLDB, 2(1), 2009.
[22]
R. Johnson, I. Pandis, N. Hardavellas, A. Ailamaki, and B. Falsafi. Shore-MT: A scalable storage manager for the multicore era. In EDBT, 2009.
[23]
H. Jung, H. Han, A. D. Fekete, G. Heiser, and H. Y. Yeom. A scalable lock manager for multicores. In SIGMOD, 2013.
[24]
A. Kemper and T. Neumann. Hyper: A hybrid OLTP & OLAP main memory database system based on virtual memory snapshots. In ICDE, 2011.
[25]
H. Kimura. FOEDUS: OLTP engine for a thousand cores and NVRAM. In SIGMOD, 2015.
[26]
E. Koskinen and M. Herlihy. Dreadlocks: Efficient Deadlock Detection. In SPAA, 2008.
[27]
H.-T. Kung and J. T. Robinson. On optimistic methods for concurrency control. ACM TODS, 6(2), 1981.
[28]
A. Lakshman and P. Malik. Cassandra: A decentralized structured storage system. ACM SIGOPS OSR, 44(2), 2010.
[29]
P.-A. 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), 2011.
[30]
V. Leis, A. Kemper, and T. Neumann. Exploiting hardware transactional memory in main-memory databases. In ICDE, 2014.
[31]
J. Levandoski, D. Lomet, S. Sengupta, R. Stutsman, and R. Wang. Multi-version range concurrency control in deuteronomy. PVLDB, 8(13), 2015.
[32]
D. B. Lomet, S. Sengupta, and J. J. Levandoski. The bw-tree: A b-tree for new hardware platforms. In ICDE, 2013.
[33]
J.-P. Lozi, F. David, G. Thomas, J. L. Lawall, G. Muller, et al. Remote core locking: Migrating critical-section execution to improve the performance of multithreaded applications. In USENIX ATC, 2012.
[34]
N. Narula, C. Cutler, E. Kohler, and R. Morris. Phase reconciliation for contended in-memory transactions. In OSDI, 2014.
[35]
T. Neumann, T. Mühlbauer, and A. Kemper. Fast serializable multi-version concurrency control for main-memory database systems. In SIGMOD, 2015.
[36]
P. E. O'Neil. The escrow transactional method. TODS, 11(4), 1986.
[37]
I. Pandis, R. Johnson, N. Hardavellas, and A. Ailamaki. Data-oriented transaction execution. PVLDB, 3(1-2), 2010.
[38]
I. Pandis, P. Tözün, R. Johnson, and A. Ailamaki. Plp: page latch-free shared-everything oltp. PVLDB, 4(10), 2011.
[39]
A. Pavlo, C. Curino, and S. Zdonik. Skew-aware automatic database partitioning in shared-nothing, parallel oltp systems. In SIGMOD, 2012.
[40]
D. Porobic, I. Pandis, M. Branco, P. Tözün, and A. Ailamaki. Oltp on hardware islands. PVLDB, 5(11), 2012.
[41]
K. Ren, A. Thomson, and D. J. Abadi. Lightweight locking for main memory database systems. PVLDB, 6(2), 2012.
[42]
K. Ren, A. Thomson, and D. J. Abadi. An evaluation of the advantages and disadvantages of deterministic database systems. PVLDB, 7(10), 2014.
[43]
S. Roy, L. Kot, G. Bender, B. Ding, H. Hojjat, C. Koch, N. Foster, and J. Gehrke. The homeostasis protocol: Avoiding transaction coordination through program analysis. In SIGMOD, 2015.
[44]
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, 2007.
[45]
R. Taft, E. Mansour, M. Serafini, J. Duggan, A. J. Elmore, A. Aboulnaga, A. Pavlo, and M. Stonebraker. E-store: Fine-grained elastic partitioning for distributed transaction processing systems. PVLDB, 8(3), 2014.
[46]
A. Thomson, T. Diamond, S. chun Weng, K. Ren, P. Shao, and D. J. Abadi. Calvin: Fast distributed transactions for partitioned database systems. In SIGMOD, 2012.
[47]
P. Tözün, I. Atta, A. Ailamaki, and A. Moshovos. Addict: Advanced instruction chasing for transactions. PVLDB, 7(14), 2014.
[48]
S. Tu, W. Zheng, E. Kohler, B. Liskov, and S. Madden. Speedy Transactions in Multicore In-memory Databases. In SOSP, 2013.
[49]
Z. Wang, H. Qian, J. Li, and H. Chen. Using restricted transactional memory to build a scalable in-memory database. In Eurosys, 2014.
[50]
M. Welsh, D. Culler, and E. Brewer. Seda: An architecture for well-conditioned, scalable internet services. In SOSP, 2001.
[51]
D. Wentzlaff and A. Agarwal. Factored operating systems (fos): the case for a scalable operating system for multicores. ACM SIGOPS OSR, 43(2), 2009.
[52]
C. Yan and A. Cheung. Leveraging lock contention to improve OLTP application performance. PVLDB, 9(5), 2016.
[53]
X. Yu, G. Bezerra, A. Pavlo, S. Devadas, and M. Stonebraker. Staring into the abyss: An evaluation of concurrency control with one thousand cores. PVLDB, 8(3), 2014.
[54]
L.-Y. Yuan, L. Wu, J.-H. You, and Y. Chi. Rubato DB: A highly scalable staged grid database system for OLTP and big data applications. In CIKM, 2014.

Cited By

View all
  • (2024)SC-Chef: Turboboosting Smart Contract Concurrent Execution for High Contention Workloads via Chopping TransactionsIEEE Transactions on Reliability10.1109/TR.2023.329627873:1(216-229)Online publication date: Mar-2024
  • (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)An Optimized Solution for Highly Contended Transactional WorkloadsDependable Software Engineering. Theories, Tools, and Applications10.1007/978-981-99-8664-4_23(402-418)Online publication date: 15-Dec-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGMOD '16: Proceedings of the 2016 International Conference on Management of Data
June 2016
2300 pages
ISBN:9781450335317
DOI:10.1145/2882903
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 the author(s) 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 History

Published: 26 June 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. concurrency control
  2. database architecture
  3. multicore
  4. scalability
  5. transaction processing

Qualifiers

  • Research-article

Funding Sources

Conference

SIGMOD/PODS'16
Sponsor:
SIGMOD/PODS'16: International Conference on Management of Data
June 26 - July 1, 2016
California, San Francisco, USA

Acceptance Rates

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

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)84
  • Downloads (Last 6 weeks)15
Reflects downloads up to 03 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)SC-Chef: Turboboosting Smart Contract Concurrent Execution for High Contention Workloads via Chopping TransactionsIEEE Transactions on Reliability10.1109/TR.2023.329627873:1(216-229)Online publication date: Mar-2024
  • (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)An Optimized Solution for Highly Contended Transactional WorkloadsDependable Software Engineering. Theories, Tools, and Applications10.1007/978-981-99-8664-4_23(402-418)Online publication date: 15-Dec-2023
  • (2022)SortledtonProceedings of the VLDB Endowment10.14778/3514061.351406515:6(1173-1186)Online publication date: 22-Jun-2022
  • (2022)How Good is My HTAP System?Proceedings of the 2022 International Conference on Management of Data10.1145/3514221.3526148(1810-1824)Online publication date: 10-Jun-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
  • (2022)Competitive Consistent Caching for Transactions2022 IEEE 38th International Conference on Data Engineering (ICDE)10.1109/ICDE53745.2022.00207(2154-2167)Online publication date: May-2022
  • (2022)An Optimized Transaction Processing Scheme for Highly Contented E-commerce Workloads Optimized Scheme for Contended Workloads2022 IEEE 24th Int Conf on High Performance Computing & Communications; 8th Int Conf on Data Science & Systems; 20th Int Conf on Smart City; 8th Int Conf on Dependability in Sensor, Cloud & Big Data Systems & Application (HPCC/DSS/SmartCity/DependSys)10.1109/HPCC-DSS-SmartCity-DependSys57074.2022.00189(1202-1207)Online publication date: Dec-2022
  • (2022)Scalable and quantitative contention generation for performance evaluation on OLTP databasesFrontiers of Computer Science10.1007/s11704-022-1056-217:2Online publication date: 9-Aug-2022
  • (2022)Transaction Processing on Modern HardwareundefinedOnline publication date: 26-Feb-2022
  • 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