{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,8,3]],"date-time":"2024-08-03T05:55:39Z","timestamp":1722664539507},"reference-count":39,"publisher":"Association for Computing Machinery (ACM)","issue":"2","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2016,10]]},"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.<\/jats:p>\n 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.<\/jats:p>","DOI":"10.14778\/3015274.3015275","type":"journal-article","created":{"date-parts":[[2017,1,24]],"date-time":"2017-01-24T15:29:41Z","timestamp":1485271781000},"page":"37-48","source":"Crossref","is-referenced-by-count":31,"title":["Adaptive NUMA-aware data placement and task scheduling for analytical workloads in main-memory column-stores"],"prefix":"10.14778","volume":"10","author":[{"given":"Iraklis","family":"Psaroudakis","sequence":"first","affiliation":[{"name":"SAP SE, Walldorf, Germany and EPFL, Lausanne, Switzerland"}]},{"given":"Tobias","family":"Scheuer","sequence":"additional","affiliation":[{"name":"SAP SE, Walldorf, Germany"}]},{"given":"Norman","family":"May","sequence":"additional","affiliation":[{"name":"SAP SE, Walldorf, Germany"}]},{"given":"Abdelkader","family":"Sellami","sequence":"additional","affiliation":[{"name":"SAP SE, Walldorf, Germany"}]},{"given":"Anastasia","family":"Ailamaki","sequence":"additional","affiliation":[{"name":"EPFL, Lausanne, Switzerland"}]}],"member":"320","published-online":{"date-parts":[[2016,10]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"SAP HANA Platform SPS 11 Administration Guide Dec. 2015. http:\/\/help.sap.com\/hana_platform. SAP HANA Platform SPS 11 Administration Guide Dec. 2015. http:\/\/help.sap.com\/hana_platform."},{"key":"e_1_2_1_2_1","unstructured":"SAP HANA Data Distribution Optimizer Administration Guide Mar. 2016. http:\/\/help.sap.com\/hana_options_dwf. SAP HANA Data Distribution Optimizer Administration Guide Mar. 2016. http:\/\/help.sap.com\/hana_options_dwf."},{"key":"e_1_2_1_3_1","unstructured":"TPC Benchmark H Rev. 2.17.1 2016. http:\/\/www.tpc.org\/. TPC Benchmark H Rev. 2.17.1 2016. http:\/\/www.tpc.org\/."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1016\/B978-012088469-8.50097-8"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.14778\/2336664.2336678"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.14778\/2732219.2732227"},{"key":"e_1_2_1_7_1","volume-title":"USENIX","author":"Blagodurov S.","year":"2011","unstructured":"S. Blagodurov A Case for NUMA-aware Contention Management on Multicore Systems . In USENIX , 2011 . S. Blagodurov et al. A Case for NUMA-aware Contention Management on Multicore Systems. In USENIX, 2011."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2499368.2451157"},{"key":"e_1_2_1_9_1","volume-title":"Mar.","author":"Dementiev R.","year":"2016","unstructured":"R. Dementiev Intel Performance Counter Monitor , Mar. 2016 . https:\/\/software.intel.com\/articles\/intel-performance-counter-monitor. R. Dementiev et al. Intel Performance Counter Monitor, Mar. 2016. https:\/\/software.intel.com\/articles\/intel-performance-counter-monitor."},{"key":"e_1_2_1_10_1","first-page":"304","volume-title":"Information Processing","author":"Eswaran K. P.","year":"1974","unstructured":"K. P. Eswaran . Placement of records in a file and file allocation in a computer network . In Information Processing , pp. 304 -- 307 , 1974 . K. P. Eswaran. Placement of records in a file and file allocation in a computer network. In Information Processing, pp. 304--307, 1974."},{"issue":"1","key":"e_1_2_1_11_1","first-page":"28","article-title":"The SAP HANA Database --- An Architecture Overview","volume":"35","author":"F\u00e4rber F.","year":"2012","unstructured":"F. F\u00e4rber The SAP HANA Database --- An Architecture Overview . IEEE Data Eng. Bull. , 35 ( 1 ): 28 -- 33 , 2012 . F. F\u00e4rber et al. The SAP HANA Database --- An Architecture Overview. IEEE Data Eng. Bull., 35(1):28--33, 2012.","journal-title":"IEEE Data Eng. Bull."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.14778\/2735508.2735513"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2618243.2618258"},{"key":"e_1_2_1_14_1","volume-title":"Achieving many-core scalability in Vectorwise","author":"Gubner T.","year":"2014","unstructured":"T. Gubner . Achieving many-core scalability in Vectorwise . 2014 . Master's thesis. TU Ilmenau . T. Gubner. Achieving many-core scalability in Vectorwise. 2014. Master's thesis. TU Ilmenau."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00778-008-0110-5"},{"key":"e_1_2_1_16_1","first-page":"74","volume-title":"ADMS","author":"Kissinger T.","year":"2014","unstructured":"T. Kissinger : A NUMA-Aware In-Memory Storage Engine for Analytical Workloads . ADMS , pp. 74 -- 85 , 2014 . T. Kissinger et al. ERIS: A NUMA-Aware In-Memory Storage Engine for Analytical Workloads. ADMS, pp. 74--85, 2014."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2508834.2513149"},{"key":"e_1_2_1_18_1","first-page":"1","volume-title":"IMDM","author":"Lang H.","year":"2013","unstructured":"H. Lang Massively Parallel NUMA-aware Hash Joins . In IMDM , pp. 1 -- 12 , 2013 . H. Lang et al. Massively Parallel NUMA-aware Hash Joins. In IMDM, pp. 1--12, 2013."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2463676.2463708"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2588555.2610507"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.5555\/1881923.1881936"},{"key":"e_1_2_1_22_1","volume-title":"CIDR","author":"Li Y.","year":"2013","unstructured":"Y. Li NUMA-aware algorithms: the case of data shuffling . In CIDR , 2013 . Y. Li et al. NUMA-aware algorithms: the case of data shuffling. In CIDR, 2013."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.14778\/2824032.2824061"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2723372.2747644"},{"key":"e_1_2_1_25_1","volume-title":"\u00d6zsu et al. Principles of Distributed Database Systems","author":"M.","year":"2011","unstructured":"M. T. \u00d6zsu et al. Principles of Distributed Database Systems , Third Edition. Springer , 2011 . M. T. \u00d6zsu et al. Principles of Distributed Database Systems, Third Edition. Springer, 2011."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2014.6816692"},{"key":"e_1_2_1_27_1","first-page":"36","volume-title":"ADMS","author":"Psaroudakis I.","year":"2013","unstructured":"I. Psaroudakis Task Scheduling for Highly Concurrent Analytical and Transactional Main-Memory Workloads . In ADMS , pp. 36 -- 45 , 2013 . I. Psaroudakis et al. Task Scheduling for Highly Concurrent Analytical and Transactional Main-Memory Workloads. In ADMS, pp. 36--45, 2013."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.14778\/2824032.2824043"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-15350-6_7"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.14778\/2536222.2536233"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/564691.564757"},{"key":"e_1_2_1_32_1","unstructured":"O. Steinau etal Method for calculating distributed joins in main memory with minimal communicaton overhead. US Patent App. 11\/018 697. O. Steinau et al. Method for calculating distributed joins in main memory with minimal communicaton overhead. US Patent App. 11\/018 697."},{"key":"e_1_2_1_33_1","volume-title":"Aggregation in parallel computation environments with shared memory","author":"Transier F.","year":"2012","unstructured":"F. Transier Aggregation in parallel computation environments with shared memory , 2012 . US Patent App . 12\/978,194. F. Transier et al. Aggregation in parallel computation environments with shared memory, 2012. US Patent App. 12\/978,194."},{"key":"e_1_2_1_34_1","volume-title":"Mar.","author":"Viswanathan V.","year":"2016","unstructured":"V. Viswanathan Intel Memory Latency Checker v3.0 , Mar. 2016 . https:\/\/software.intel.com\/articles\/intelr-memory-latency-checker. V. Viswanathan et al. Intel Memory Latency Checker v3.0, Mar. 2016. https:\/\/software.intel.com\/articles\/intelr-memory-latency-checker."},{"key":"e_1_2_1_35_1","first-page":"45","volume-title":"TPCTC","author":"Wagle M.","year":"2015","unstructured":"M. Wagle NUMA-Aware Memory Management with In-Memory Databases . In TPCTC , pp. 45 -- 60 , 2015 . M. Wagle et al. NUMA-Aware Memory Management with In-Memory Databases. In TPCTC, pp. 45--60, 2015."},{"key":"e_1_2_1_36_1","first-page":"1","volume-title":"ADMS","author":"Willhalm T.","year":"2013","unstructured":"T. Willhalm Vectorizing database column scans with complex predicates . In ADMS , pp. 1 -- 12 , 2013 . T. Willhalm et al. Vectorizing database column scans with complex predicates. In ADMS, pp. 1--12, 2013."},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1995441.1995442"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2723372.2723718"},{"issue":"1","key":"e_1_2_1_39_1","first-page":"21","article-title":"Vectorwise","volume":"35","author":"Zukowski M.","year":"2012","unstructured":"M. Zukowski Vectorwise : Beyond Column Stores. IEEE Data Eng. Bull. , 35 ( 1 ): 21 -- 27 , 2012 . M. Zukowski et al. Vectorwise: Beyond Column Stores. IEEE Data Eng. Bull., 35(1):21--27, 2012.","journal-title":"Beyond Column Stores. IEEE Data Eng. Bull."}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3015274.3015275","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T10:26:11Z","timestamp":1672223171000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3015274.3015275"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,10]]},"references-count":39,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2016,10]]}},"alternative-id":["10.14778\/3015274.3015275"],"URL":"https:\/\/doi.org\/10.14778\/3015274.3015275","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2016,10]]}}}