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

Elastic Pipelining in an In-Memory Database Cluster

Published: 14 June 2016 Publication History
  • Get Citation Alerts
  • Abstract

    An in-memory database cluster consists of multiple interconnected nodes with a large capacity of RAM and modern multi-core CPUs. As a conventional query processing strategy, pipelining remains a promising solution for in-memory parallel database systems, as it avoids expensive intermediate result materialization and parallelizes the data processing among nodes. However, to fully unleash the power of pipelining in a cluster with multi-core nodes, it is crucial for the query optimizer to generate good query plans with appropriate intra-node parallelism, in order to maximize CPU and network bandwidth utilization. A suboptimal plan, on the contrary, causes load imbalance in the pipelines and consequently degrades the query performance. Parallelism assignment optimization at compile time is nearly impossible, as the workload in each node is affected by numerous factors and is highly dynamic during query evaluation. To tackle this problem, we propose elastic pipelining, which makes it possible to optimize intra-node parallelism assignments in the pipelines based on the actual workload at runtime. It is achieved with the adoption of new elastic iterator model and a fully optimized dynamic scheduler. The elastic iterator model generally upgrades traditional iterator model with new dynamic multi-core execution adjustment capability. And the dynamic scheduler efficiently provisions CPU cores to query execution segments in the pipelines based on the light-weight measurements on the operators. Extensive experiments on real and synthetic (TPC-H) data show that our proposal achieves almost full CPU utilization on typical decision-making analytical queries, outperforming state-of-the-art open-source systems by a huge margin.

    References

    [1]
    https://github.com/dase/claims.git.
    [2]
    https://www.cloudera.com/products/apache-hadoop/ impala.html.
    [3]
    M.-C. Albutiu, A. Kemper, and T. Neumann. Massively parallel sort-merge joins in main memory multi-core database systems. PVLDB, 5(10):1064--1075, 2012.
    [4]
    C. Balkesen, G. Alonso, J. Teubner, and M. T. Ozsu. Multi-core, main-memory joins: Sort vs. hash revisited. PVLDB, 7(1), 2013.
    [5]
    S. Blanas, Y. Li, and J. M. Patel. Design and evaluation of main memory hash join algorithms for multi-core cpus. In SIGMOD, pages 37--48, 2011.
    [6]
    S. Blanas, J. M. Patel, V. Ercegovac, J. Rao, E. J. Shekita, and Y. Tian. A comparison of join algorithms for log processing in mapreduce. In SIGMOD, pages 975--986, 2010.
    [7]
    L. Bouganim, D. Florescu, P. Valduriez, et al. Dynamic load balancing in hierarchical parallel database systems. In VLDB, pages 436--447, 1996.
    [8]
    J. Cieslewicz and K. Ross. Adaptive aggregation on chip multiprocessors. In VLDB, pages 339--350, 2007.
    [9]
    J. Erickson, M. Kornacker, and D. Kumar. New sql choices in the apache hadoop ecosystem: Why impala continues to lead. http://blog.cloudera.com/blog/2014/05/new-sql -choices-in-the-apache-hadoop-ecosystem-why-impala-continues-to-lead.
    [10]
    F. F\"arber, S. K. Cha, J. Primsch, C. Bornhövd, S. Sigg, and W. Lehner. Sap hana database: data management for modern business applications. ACM Sigmod Record, 40(4):45--51, 2012.
    [11]
    A. Floratou, U. F. Minhas, and F. Ozcan. Sql-on-hadoop: Full circle back to shared-nothing database architectures. PVLDB, 7(12):1295--1306, 2014.
    [12]
    T. Z. J. Fu, J. Ding, R. T. B. Ma, M. Winslett, Y. Yang, and Z. Zhang. Drs: Dynamic resource scheduling for real-time analytics over fast streams. In ICDCS, pages 411--420, 2015.
    [13]
    G. Graefe. Volcano-an extensible and parallel query evaluation system. IEEE Trans. Knowl. Data Eng., 6(1):120--135, 1994.
    [14]
    W. Hasan. Optimization of SQL queries for parallel machines. PhD thesis, Stanford University, 1995.
    [15]
    C. Kim, T. Kaldewey, V. W. Lee, E. Sedlar, A. D. Nguyen, N. Satish, J. Chhugani, A. Di Blas, and P. Dubey. Sort vs. hash revisited: Fast join implementation on modern multi-core cpus. PVLDB, 2(2):1378--1389, 2009.
    [16]
    K. Krikellas, S. D. Viglas, and M. Cintra. Generating code for holistic query evaluation. In ICDE, pages 613--624, 2010.
    [17]
    C. Lattner and V. Adve. Llvm: A compilation framework for lifelong program analysis & transformation. In CGO, pages 75--86, 2004.
    [18]
    E. D. Lazowska, J. Zahorjan, G. S. Graham, and K. C. Sevcik. Quantitative system performance: computer system analysis using queueing network models. Prentice-Hall, Inc., 1984.
    [19]
    V. Leis, P. Boncz, A. Kemper, and T. Neumann. Morsel-driven parallelism: A numa-aware query evaluation framework for the many-core age. In SIGMOD, pages 743--754, 2014.
    [20]
    S. Manegold, P. Boncz, and M. Kersten. Optimizing main- memory join on modern hardware. IEEE Trans. Knowl. Data Eng., 14(4):709--730, 2002.
    [21]
    S. Manegold, P. A. Boncz, and M. L. Kersten. Optimizing database architecture for the new bottleneck: memory access. VLDB Journal, 9(3):231--246, 2000.
    [22]
    M. Mehta and D. J. DeWitt. Managing intra-operator parallelism in parallel database systems. In VLDB, pages 382--394, 1995.
    [23]
    T. Neumann. Efficiently compiling efficient query plans for modern hardware. PVLDB, 4(9):539--550, 2011.
    [24]
    I. Psaroudakis, T. Scheuer, N. May, and A. Ailamaki. Task scheduling for highly concurrent analytical and transactional main-memory workloads. In ADMS@ VLDB, pages 36--45, 2013.
    [25]
    V. Raman, G. Attaluri, R. Barber, N. Chainani, D. Kalmuk, V. KulandaiSamy, J. Leenstra, S. Lightstone, S. Liu, G. M. Lohman, et al. Db2 with blu acceleration: So much more than just a column store. PVLDB, 6(11):1080--1091, 2013.
    [26]
    W. Rodiger, T. Muhlbauer, P. Unterbrunner, A. Reiser, A. Kemper, and T. Neumann. Locality-sensitive operators for parallel main-memory database clusters. In ICDE, pages 592--603, 2014.
    [27]
    J. Teubner and R. Mueller. How soccer players would do stream joins. In SIGMOD, pages 625--636. ACM, 2011.
    [28]
    A. Thusoo, J. S. Sarma, N. Jain, Z. Shao, P. Chakka, S. Anthony, H. Liu, P. Wyckoff, and R. Murthy. Hive: a warehousing solution over a map-reduce framework. PVLDB, 2(2):1626--1629, 2009.
    [29]
    M. Traverso. Presto: Interacting with Petabytes of Data at Facebook. https://www.facebook.com/notes/facebook- engineering/presto-interacting-with-petabytes-of-data- at-facebook/10151786197628920.pdf, 2014.
    [30]
    L. Wang, M. Zhou, Z. Zhang, M. S. Shan, and A. Zhou. Numa-aware scalable and efficient in-memory aggregation on large domains. IEEE Trans. Knowl. Data Eng., 27(4):1071--1084, 2015.
    [31]
    R. S. Xin, J. Rosen, M. Zaharia, M. J. Franklin, S. Shenker, and I. Stoica. Shark: Sql and rich analytics at scale. In SIGMOD, pages 13--24, 2013.
    [32]
    J. Zhou, P.-A. Larson, and R. Chaiken. Incorporating partitioning and parallel plans into the scope optimizer. In ICDE, pages 1060--1071, 2010.
    [33]
    M. Zukowski, M. van de Wiel, and P. Boncz. Vectorwise: A vectorized analytical dbms. In ICDE, pages 1349--1350, 2012.

    Cited By

    View all
    • (2023)Krypton: Real-Time Serving and Analytical SQL Engine at ByteDanceProceedings of the VLDB Endowment10.14778/3611540.361154516:12(3528-3542)Online publication date: 1-Aug-2023
    • (2022)Karst: Transactional Data Ingestion Without Blocking on a Scalable ArchitectureIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2020.301151034:5(2241-2253)Online publication date: 1-May-2022
    • (2022)On inter-operator data transfers in query processing2022 IEEE 38th International Conference on Data Engineering (ICDE)10.1109/ICDE53745.2022.00066(820-832)Online publication date: May-2022
    • 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 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 History

    Published: 14 June 2016

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. distributed query processing
    2. in-memory database
    3. multi-core
    4. numa architecture
    5. query processing

    Qualifiers

    • Research-article

    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)28
    • Downloads (Last 6 weeks)1

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Krypton: Real-Time Serving and Analytical SQL Engine at ByteDanceProceedings of the VLDB Endowment10.14778/3611540.361154516:12(3528-3542)Online publication date: 1-Aug-2023
    • (2022)Karst: Transactional Data Ingestion Without Blocking on a Scalable ArchitectureIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2020.301151034:5(2241-2253)Online publication date: 1-May-2022
    • (2022)On inter-operator data transfers in query processing2022 IEEE 38th International Conference on Data Engineering (ICDE)10.1109/ICDE53745.2022.00066(820-832)Online publication date: May-2022
    • (2021)Pipelined XPath Query Based on Cost OptimizationScientific Programming10.1155/2021/55599412021Online publication date: 1-Jan-2021
    • (2020)Out-of-order execution of database queriesProceedings of the VLDB Endowment10.14778/3415478.341557113:12(3489-3501)Online publication date: 14-Sep-2020
    • (2020)A-DSP: An Adaptive Join Algorithm for Dynamic Data Stream on Cloud SystemIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2019.2947055(1-1)Online publication date: 2020
    • (2020)Scheduling Resources to Multiple Pipelines of One Query in a Main Memory Database ClusterIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2018.288472432:3(533-546)Online publication date: 1-Mar-2020
    • (2020)PA-Tree: Polled-Mode Asynchronous B+ Tree for NVMe2020 IEEE 36th International Conference on Data Engineering (ICDE)10.1109/ICDE48307.2020.00054(553-564)Online publication date: Apr-2020
    • (2020)Handling Data Skew for Aggregation in Spark SQL Using Task StealingInternational Journal of Parallel Programming10.1007/s10766-020-00657-z48:6(941-956)Online publication date: 25-Mar-2020
    • (2019)HetExchangeProceedings of the VLDB Endowment10.14778/3303753.330376012:5(544-556)Online publication date: 1-Jan-2019
    • Show More Cited By

    View Options

    Get Access

    Login options

    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