Locality-Adaptive Parallel Hash Joins Using Hardware Transactional Memory
File(s)shanbhag_adms16.pdf (721.75 KB)
Accepted version
Author(s)
Shanbhag, Anil
Pirk, Holger
Madden, Sam
Type
Conference Paper
Abstract
Previous work [1] has claimed that the best performing implementation of in-memory hash joins is based on (radix-)partitioning of the build-side input. Indeed, despite the overhead of partitioning, the benefits from increased cache-locality and synchronization free parallelism in the build-phase outweigh the costs when the input data is randomly ordered. However, many datasets already exhibit significant spatial locality (i.e., non-randomness) due to the way data items enter the database: through periodic ETL or trickle loaded in the form of transactions. In such cases, the first benefit of partitioning — increased locality — is largely irrelevant. In this paper, we demonstrate how hardware transactional memory (HTM) can render the other benefit, freedom from synchronization, irrelevant as well.
Specifically, using careful analysis and engineering, we develop an adaptive hash join implementation that outperforms parallel radix-partitioned hash joins as well as sort-merge joins on data with high spatial locality. In addition, we show how, through lightweight (less than 1% overhead) runtime monitoring of the transaction abort rate, our implementation can detect inputs with low spatial locality and dynamically fall back to radix-partitioning of the build-side input. The result is a hash join implementation that is more than 3 times faster than the state-of-the-art on high-locality data and never more than 1% slower.
Specifically, using careful analysis and engineering, we develop an adaptive hash join implementation that outperforms parallel radix-partitioned hash joins as well as sort-merge joins on data with high spatial locality. In addition, we show how, through lightweight (less than 1% overhead) runtime monitoring of the transaction abort rate, our implementation can detect inputs with low spatial locality and dynamically fall back to radix-partitioning of the build-side input. The result is a hash join implementation that is more than 3 times faster than the state-of-the-art on high-locality data and never more than 1% slower.
Editor(s)
Blanas, S
Bordawekar, R
Lahiri, T
Levandoski, J
Pavlo, A
Date Issued
2017-03-23
Date Acceptance
2016-04-07
Citation
DATA MANAGEMENT ON NEW HARDWARE, 2017, 10195, pp.118-133
ISBN
978-3-319-56110-3
ISSN
0302-9743
Publisher
SPRINGER INTERNATIONAL PUBLISHING AG
Start Page
118
End Page
133
Journal / Book Title
DATA MANAGEMENT ON NEW HARDWARE
Volume
10195
Copyright Statement
© 2017 Springer International Publishing AG. The final publication is available at https://dx.doi.org/10.1007/978-3-319-56111-0_7
Identifier
http://gateway.webofknowledge.com/gateway/Gateway.cgi?GWVersion=2&SrcApp=PARTNER_APP&SrcAuth=LinksAMR&KeyUT=WOS:000425841900007&DestLinkType=FullRecord&DestApp=ALL_WOS&UsrCustomerID=1ba7043ffcc86c417c072aa74d649202
Source
7th International Workshop on Accelerating Analytics and Data Management Systems Using Modern Processor and Storage Architectures (ADMS) / International Workshop on In-Memory Data Management (IMDM)
Subjects
Science & Technology
Technology
Computer Science, Hardware & Architecture
Computer Science, Information Systems
Computer Science, Theory & Methods
Computer Science
Publication Status
Published
Start Date
2016-09-01
Coverage Spatial
New Delhi, INDIA
Date Publish Online
2017-03-23