skip to main content
research-article

Adaptive NUMA-aware data placement and task scheduling for analytical workloads in main-memory column-stores

Published:01 October 2016Publication History
Skip Abstract Section

Abstract

Non-uniform memory access (NUMA) architectures pose numerous performance challenges for main-memory column-stores in scaling up analytics on modern multi-socket multi-core servers. A NUMA-aware execution engine needs a strategy for data placement and task scheduling that prefers fast local memory accesses over remote memory accesses, and avoids an imbalance of resource utilization, both CPU and memory bandwidth, across sockets. State-of-the-art systems typically use a static strategy that always partitions data across sockets, and always allows inter-socket task stealing.

In this paper, we show that adapting data placement and task stealing to the workload can improve throughput by up to a factor of 4 compared to a static approach. We focus on highly concurrent workloads dominated by operators working on a single table or table group (copartitioned tables). Our adaptive data placement algorithm tracks the resource utilization of tasks, partitions of tables and table groups, and sockets. When a utilization imbalance across sockets is detected, the algorithm corrects it by moving or repartitioning tables. Also, inter-socket task stealing is dynamically disabled for memory-intensive tasks that could otherwise hurt performance.

References

  1. SAP HANA Platform SPS 11 Administration Guide, Dec. 2015. http://help.sap.com/hana_platform.Google ScholarGoogle Scholar
  2. SAP HANA Data Distribution Optimizer Administration Guide, Mar. 2016. http://help.sap.com/hana_options_dwf.Google ScholarGoogle Scholar
  3. TPC Benchmark H Rev. 2.17.1, 2016. http://www.tpc.org/.Google ScholarGoogle Scholar
  4. S. Agrawal et al. Database Tuning Advisor for Microsoft SQL Server 2005. In VLDB, pp. 1110--1121, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  5. M. Albutiu et al. Massively Parallel Sort-Merge Joins in Main Memory Multi-Core Database Systems. PVLDB, 5(10):1064--1075, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. C. Balkesen et al. Multi-Core, Main-Memory Joins: Sort vs. Hash Revisited. PVLDB, 7(1):85--96, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Blagodurov et al. A Case for NUMA-aware Contention Management on Multicore Systems. In USENIX, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Dashti et al. Traffic management: A holistic approach to memory placement on NUMA systems. In ASPLOS, pp. 381--394, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. Dementiev et al. Intel Performance Counter Monitor, Mar. 2016. https://software.intel.com/articles/intel-performance-counter-monitor.Google ScholarGoogle Scholar
  10. K. P. Eswaran. Placement of records in a file and file allocation in a computer network. In Information Processing, pp. 304--307, 1974.Google ScholarGoogle Scholar
  11. F. Färber et al. The SAP HANA Database --- An Architecture Overview. IEEE Data Eng. Bull., 35(1):28--33, 2012.Google ScholarGoogle Scholar
  12. J. Giceva et al. Deployment of Query Plans on Multicores. PVLDB, 8(3):233--244, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. L. Golab et al. Distributed data placement to minimize communication costs via graph partitioning. In SSDBM, pp. 20:1--20:12, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. T. Gubner. Achieving many-core scalability in Vectorwise. 2014. Master's thesis. TU Ilmenau.Google ScholarGoogle Scholar
  15. G. Hill and A. Ross. Reducing outer joins. The VLDB Journal, 18(3):599--610, Aug. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. T. Kissinger et al. ERIS: A NUMA-Aware In-Memory Storage Engine for Analytical Workloads. ADMS, pp. 74--85, 2014.Google ScholarGoogle Scholar
  17. C. Lameter et al. NUMA (Non-Uniform Memory Access): An Overview. ACM Queue, 11(7):40:40--40:51, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. H. Lang et al. Massively Parallel NUMA-aware Hash Joins. In IMDM, pp. 1--12, 2013.Google ScholarGoogle Scholar
  19. P.-A. Larson et al. Enhancements to SQL server column stores. In SIGMOD, pp. 1159--1168, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. V. Leis et al. Morsel-Driven Parallelism: A NUMA-Aware Query Evaluation Framework for the Many-Core Age. In SIGMOD, pp. 743--754, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. C. Lemke et al. Speeding up queries in column stores: a case for compression. In DaWaK, pp. 117--129, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Y. Li et al. NUMA-aware algorithms: the case of data shuffling. In CIDR, 2013.Google ScholarGoogle Scholar
  23. N. Mukherjee et al. Distributed Architecture of Oracle Database In-memory. In PVLDB, volume 8, pp. 1630--1641, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. I. Müller et al. Cache-Efficient Aggregation: Hashing Is Sorting. In SIGMOD, pp. 1123--1136, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. M. T. Özsu et al. Principles of Distributed Database Systems, Third Edition. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. D. Porobic et al. ATraPos: Adaptive transaction processing on hardware Islands. In ICDE, pp. 688--699, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  27. I. Psaroudakis et al. Task Scheduling for Highly Concurrent Analytical and Transactional Main-Memory Workloads. In ADMS, pp. 36--45, 2013.Google ScholarGoogle Scholar
  28. I. Psaroudakis et al. Scaling Up Concurrent Main-memory Column-store Scans: Towards Adaptive NUMA-aware Data and Task Placement. PVLDB, 8(12):1442--1453, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. I. Psaroudakis et al. Scaling Up Mixed Workloads: A Battle of Data Freshness, Flexibility, and Scheduling. In TPCTC, pp. 97--112, 2015.Google ScholarGoogle ScholarCross RefCross Ref
  30. V. Raman et al. DB2 with BLU Acceleration: So much more than just a column store. PVLDB, 6(11):1080--1091, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. J. Rao et al. Automating Physical Database Design in a Parallel Database. In SIGMOD, pp. 558--569, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. O. Steinau et al. Method for calculating distributed joins in main memory with minimal communicaton overhead. US Patent App. 11/018,697.Google ScholarGoogle Scholar
  33. F. Transier et al. Aggregation in parallel computation environments with shared memory, 2012. US Patent App. 12/978,194.Google ScholarGoogle Scholar
  34. V. Viswanathan et al. Intel Memory Latency Checker v3.0, Mar. 2016. https://software.intel.com/articles/intelr-memory-latency-checker.Google ScholarGoogle Scholar
  35. M. Wagle et al. NUMA-Aware Memory Management with In-Memory Databases. In TPCTC, pp. 45--60, 2015.Google ScholarGoogle Scholar
  36. T. Willhalm et al. Vectorizing database column scans with complex predicates. In ADMS, pp. 1--12, 2013.Google ScholarGoogle Scholar
  37. Y. Ye et al. Scalable aggregation on multicore processors. DaMoN, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. E. Zamanian et al. Locality-aware Partitioning in Parallel Database Systems. In SIGMOD, pp. 17--30, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. M. Zukowski et al. Vectorwise: Beyond Column Stores. IEEE Data Eng. Bull., 35(1):21--27, 2012.Google ScholarGoogle Scholar

Index Terms

  1. Adaptive NUMA-aware data placement and task scheduling for analytical workloads in main-memory column-stores
    Index terms have been assigned to the content through auto-classification.

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image Proceedings of the VLDB Endowment
      Proceedings of the VLDB Endowment  Volume 10, Issue 2
      October 2016
      36 pages
      ISSN:2150-8097
      Issue’s Table of Contents

      Publisher

      VLDB Endowment

      Publication History

      • Published: 1 October 2016
      Published in pvldb Volume 10, Issue 2

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader