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

Robust Performance of Main Memory Data Structures by Configuration

Published: 31 May 2020 Publication History
  • Get Citation Alerts
  • Abstract

    In this paper, we present a new approach for achieving robust performance of data structures making it easier to reuse the same design for different hardware generations but also for different workloads. To achieve robust performance, the main idea is to strictly separate the data structure design from the actual strategies to execute access operations and adjust the actual execution strategies by means of so-called configurations instead of hard-wiring the execution strategy into the data structure. In our evaluation we demonstrate the benefits of this configuration approach for individual data structures as well as complex OLTP workloads.

    Supplementary Material

    MP4 File (3318464.3389725.mp4)
    Presentation Video

    References

    [1]
    Manos Athanassoulis, Kenneth S. Bøgh, and Stratos Idreos. 2019. Optimal Column Layout for Hybrid Workloads. Proceedings of the VLDB Endowment, Vol. 12, 13 (2019), 2393--2407. https://doi.org/10.14778/3358701.3358707
    [2]
    Nick Benton, Luca Cardelli, and Cédric Fournet. 2004. Modern Concurrency Abstractions for C#. ACM Trans. Program. Lang. Syst., Vol. 26, 5 (2004), 769--804. https://doi.org/10.1145/1018203.1018205
    [3]
    Timo Bingmann. 2013. STX B+ Tree C+ Template Classes. http://panthema.net/2007/stx-btree/, accessed 2019-05--23.
    [4]
    Robert Binna, Eva Zangerle, Martin Pichl, Günther Specht, and Viktor Leis. 2018. HOT: A Height Optimized Trie Index for Main-Memory Database Systems. In Proceedings of the 2018 International Conference on Management of Data - SIGMOD '18. ACM, 521--534. https://doi.org/10.1145/3183713.3196896
    [5]
    Trevor Brown, Alex Kogan, Yossi Lev, and Victor Luchangco. 2016. Investigating the Performance of Hardware Transactions on a Multi-Socket Machine. In Proceedings of the 28th ACM Symposium on Parallelism in Algorithms and Architectures. ACM, 121--132. https://doi.org/10.1145/2935764.2935796
    [6]
    Irina Calciu, Dave Dice, Tim Harris, Maurice Herlihy, Alex Kogan, Virendra Marathe, and Mark Moir. 2013. Message Passing or Shared Memory: Evaluating the Delegation Abstraction for Multicores. In Proceedings of the 17th International Conference on Principles of Distributed Systems - Volume 8304 (OPODIS 2013). Springer-Verlag, 83--97. https://doi.org/10.1007/978--3--319-03850--6_7
    [7]
    Irina Calciu, Siddhartha Sen, Mahesh Balakrishnan, and Marcos K. Aguilera. 2018. How to implement any concurrent data structure. Commun. ACM, Vol. 61, 12 (2018), 97--105. https://doi.org/10.1145/3282506
    [8]
    Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, and Russell Sears. 2010. Benchmarking Cloud Serving Systems with YCSB. In Proceedings of the 1st ACM Symposium on Cloud Computing (SoCC '10). ACM, New York, NY, USA, 143--154. https://doi.org/10.1145/1807128.1807152
    [9]
    Travis Craig. 1993. Building FIFO and Priority Queuing Spin Locks from Atomic Swap. Technical Report. TR 93-02-02, University of Washington.
    [10]
    Tudor David, Rachid Guerraoui, and Vasileios Trigonakis. 2013. Everything You Always Wanted to Know About Synchronization But Were Afraid to Ask. In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles. ACM, 2522714, 33--48. https://doi.org/10.1145/2517349.2522714
    [11]
    Cristian Diaconu, Craig Freedman, Erik Ismert, Per-Ake Larson, Pravin Mittal, Ryan Stonecipher, Nitin Verma, and Mike Zwilling. 2013. Hekaton: SQL Server's Memory-optimized OLTP Engine. In Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data (SIGMOD '13). ACM, 1243--1254. https://doi.org/10.1145/2463676.2463710
    [12]
    Dave Dice, Virendra J. Marathe, and Nir Shavit. 2011. Flat-Combining NUMA Locks. In Proceedings of the Twenty-Third Annual ACM Symposium on Parallelism in Algorithms and Architectures. ACM, 65--74. https://doi.org/10.1145/1989493.1989502
    [13]
    David Dice, Virendra J. Marathe, and Nir Shavit. 2015. Lock Cohorting: A General Technique for Designing NUMA Locks. ACM Trans. Parallel Comput., Vol. 1, 2 (2015), 1--42. https://doi.org/10.1145/2686884
    [14]
    Peter Dinda, Thomas Gross, David O'Hallaron, Edward Segall, and Jon Webb. 1994. The Carnegie Mellon University Task Parallel Program Suite. Report. Carnegie-Mellon University Pittsburgh, Dept. of Computer Science.
    [15]
    Markus Dreseler, Thomas Kissinger, Timo Djürken, Eric Lübke, Matthias Uflacker, Dirk Habich, Hasso Plattner, and Wolfgang Lehner. 2017. Hardware-Accelerated Memory Operations on Large-Scale NUMA Systems. In ADMS at VLDB. 34--41.
    [16]
    Jose M. Faleiro and Daniel J. Abadi. 2017. Latch-free Synchronization in Database Systems: Silver Bullet or Fool's Gold?. In In Proceedings of the 8th Biennial Conference on Innovative Data Systems Research (CIDR '17). 1--12.
    [17]
    Goetz Graefe, Arnd Christian Kö nig, Harumi Anne Kuno, Volker Markl, and Kai-Uwe Sattler (Eds.). 2010. Robust Query Processing, 19.09. - 24.09.2010. Dagstuhl Seminar Proceedings, Vol. 10381. Schloss Dagstuhl - Leibniz-Zentrum fü r Informatik, Germany.
    [18]
    Intel Corporation. 2019. Intel® 64 and IA-32 Architectures Software Developer's Manual Combined Volumes: 1, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D and 4. Report.
    [19]
    Robert Kallman, Hideaki Kimura, Jonathan Natkins, Andrew Pavlo, Alexander Rasin, Stanley Zdonik, Evan P. C. Jones, Samuel Madden, Michael Stonebraker, Yang Zhang, John Hugg, and Daniel J. Abadi. 2008. H-Store: a High-Performance, Distributed Main Memory Transaction Processing System. Proc. VLDB Endow., Vol. 1, 2 (2008), 1496--1499. https://doi.org/10.14778/1454159.1454211
    [20]
    Thomas Kissinger, Tim Kiefer, Benjamin Schlegel, Dirk Habich, Daniel Molka, and Wolfgang Lehner. 2014. ERIS: A Numa-Aware In-Memory Storage Engine for Analytical Workloads. Proceedings of the VLDB Endowment, Vol. 7, 14 (2014), 1--12. https://doi.org/10.1.1.475.3378
    [21]
    Sven O. Krumke and Clemens Thielen. 2013. The Generalized Assignment Problem with Minimum Quantities. European Journal of Operational Research, Vol. 228, 1 (2013), 46--55. https://doi.org/10.1016/j.ejor.2013.01.027
    [22]
    Viktor Leis, Peter Boncz, Alfons Kemper, and Thomas Neumann. 2014. Morsel-driven Parallelism: A NUMA-aware Query Evaluation Framework for the Many-core Age. In Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data (SIGMOD '14). ACM, New York, NY, USA, 743--754. https://doi.org/10.1145/2588555.2610507
    [23]
    Justin J. Levandoski, David B. Lomet, and Sudipta Sengupta. 2013. The Bw-Tree: A B-tree for new hardware platforms. In 29th IEEE International Conference on Data Engineering, ICDE 2013, Brisbane, Australia, April 8--12, 2013. 302--313.
    [24]
    Jean-Pierre Lozi, Florian David, Gaël Thomas, Julia Lawall, and Gilles Muller. 2012. Remote Core Locking: Migrating Critical-Section Execution to Improve the Performance of Multithreaded Applications. In Proceedings of the 2012 USENIX conference on Annual Technical Conference. USENIX Association, 6--6.
    [25]
    Ismail Oukid, Johan Lasperas, Anisoara Nica, Thomas Willhalm, and Wolfgang Lehner. 2016. FPTree: A Hybrid SCM-DRAM Persistent and Concurrent B-Tree for Storage Class Memory. In Proceedings of the 2016 International Conference on Management of Data (SIGMOD '16). ACM, 371--386. https://doi.org/10.1145/2882903.2915251
    [26]
    Oguzhan Ozmen, Kenneth Salem, Jiri Schindler, and Steve Daniel. 2010. Workload-Aware Storage Layout for Database Systems. In Proceedings of the 2010 ACM SIGMOD International Conference on Management of data. Association for Computing Machinery, 939--950. https://doi.org/10.1145/1807167.1807268
    [27]
    Ippokratis Pandis, Ryan Johnson, Nikos Hardavellas, and Anastasia Ailamaki. 2010. Data-Oriented Transaction Execution. Proceedings of the VLDB Endowment, Vol. 3, 1--2 (2010), 928--939. https://doi.org/10.14778/1920841.1920959
    [28]
    Orestis Polychroniou and Kenneth A. Ross. 2014. A Comprehensive Study of Main-Memory Partitioning and its Application to Large-Scale Comparison- and Radix-Sort. In Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data. Association for Computing Machinery, 755--766. https://doi.org/10.1145/2588555.2610522
    [29]
    Danica Porobic, Ippokratis Pandis, Miguel Branco, Pinar Tözün, and Anastasia Ailamaki. 2016. Characterization of the Impact of Hardware Islands on OLTP. The VLDB Journal, Vol. 25, 5 (2016), 625--650. https://doi.org/10.1007/s00778-015-0413--2
    [30]
    Iraklis Psaroudakis, Tobias Scheuer, Norman May, Abdelkader Sellami, and Anastasia Ailamaki. 2016. Adaptive NUMA-aware data placement and task scheduling for analytical workloads in main-memory column-stores. Proc. VLDB Endow., Vol. 10, 2 (2016), 37--48. https://doi.org/10.14778/3015274.3015275
    [31]
    Jun Rao and Kenneth A. Ross. 1999. Cache Conscious Indexing for Decision-Support in Main Memory. In VLDB'99, Proceedings of 25th International Conference on Very Large Data Bases, September 7--10, 1999, Edinburgh, Scotland, UK. 78--89.
    [32]
    Jun Rao and Kenneth A. Ross. 2000. Making B+-Trees Cache Conscious in Main Memory. In Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data, May 16--18, 2000, Dallas, Texas, USA. 475--486. https://doi.org/10.1145/342009.335449
    [33]
    James Reinders. 2007. Intel Threading Building Blocks: Outfitting C+ for Multi-Core Processor Parallelism .O'Reilly Media, Inc.
    [34]
    Kun Ren, Jose M. Faleiro, and Daniel J. Abadi. 2016. Design Principles for Scaling Multi-core OLTP Under High Contention. In Proceedings of the 2016 International Conference on Management of Data. ACM, 1583--1598. https://doi.org/10.1145/2882903.2882958
    [35]
    Sepideh Roghanchi, Jakob Eriksson, and Nilanjana Basu. 2017. Ffwd: Delegation is (Much) Faster Than You Think. In Proceedings of the 26th Symposium on Operating Systems Principles (SOSP '17). ACM, 342--358. https://doi.org/10.1145/3132747.3132771
    [36]
    Utku Sirin, Ahmad Yasin, and Anastasia Ailamaki. 2017. A Methodology for OLTP Micro-Architectural Analysis. In Proceedings of the 13th International Workshop on Data Management on New Hardware. ACM, 3076116, 1--10. https://doi.org/10.1145/3076113.3076116
    [37]
    Peter Thoman, Kiril Dichev, Thomas Heller, Roman Iakymchuk, Xavier Aguilar, Khalid Hasanov, Philipp Gschwandtner, Pierre Lemarinier, Stefano Markidis, Herbert Jordan, Thomas Fahringer, Kostas Katrinis, Erwin Laure, and Dimitrios S. Nikolopoulos. 2018. A Taxonomy of Task-Based Parallel Programming Technologies for High-Performance Computing. The Journal of Supercomputing, Vol. 74, 4 (2018), 1422--1434. https://doi.org/10.1007/s11227-018--2238--4
    [38]
    Robert Virding, Claes Wikström, Mike Williams, and Joe Armstrong. 1996. Concurrent Programming in ERLANG (2nd Ed.) .Prentice Hall International (UK) Ltd.
    [39]
    Ziqi Wang, Andrew Pavlo, Hyeontaek Lim, Viktor Leis, Huanchen Zhang, Michael Kaminsky, and David G. Andersen. 2018. Building a Bw-Tree Takes More Than Just Buzz Words. In Proceedings of the 2018 International Conference on Management of Data - SIGMOD '18. ACM, 473--488. https://doi.org/10.1145/3183713.3196895
    [40]
    Xiangyao Yu, George Bezerra, Andrew Pavlo, Srinivas Devadas, and Michael Stonebraker. 2014. Staring Into the Abyss: An Evaluation of Concurrency Control with One Thousand Cores. Proceedings of the VLDB Endowment, Vol. 8, 3 (2014), 209--220. https://doi.org/10.14778/2735508.2735511

    Cited By

    View all

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SIGMOD '20: Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data
    June 2020
    2925 pages
    ISBN:9781450367356
    DOI:10.1145/3318464
    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: 31 May 2020

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. data structure configuration
    2. data structure optimisation
    3. delegation
    4. hardware independent design
    5. robust performance
    6. robust scalability

    Qualifiers

    • Research-article

    Conference

    SIGMOD/PODS '20
    Sponsor:

    Acceptance Rates

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

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 585
      Total Downloads
    • Downloads (Last 12 months)37
    • Downloads (Last 6 weeks)5
    Reflects downloads up to

    Other Metrics

    Citations

    Cited By

    View all

    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