To share or not to share vector registers?

Research output: Contribution to journalResearch articleContributedpeer-review

Contributors

Abstract

Query execution techniques in database systems constantly adapt to novel hardware features to achieve high query performance, in particular for analytical queries. In recent years, vectorization based on the Single Instruction Multiple Data parallel paradigm has been established as a state-of-the-art approach to increase single-query performance. However, since concurrent analytical queries running in parallel often access the same columns and perform a same set of vectorized operations, data accesses and computations among different queries may be executed redundantly. Various techniques have already been proposed to avoid such redundancy, ranging from concurrent scans via the construction of materialized views to applying multiple query optimization techniques. Continuing this line of research, we investigate the opportunity of sharing vector registers for concurrently running queries in analytical scenarios in this paper. In particular, our novel sharing approach relies on processing data elements of different queries together within a single vector register. As we are going to show, sharing vector registers to optimize the execution of concurrent analytical queries can be very beneficial in single-threaded as well as multi-thread environments. Therefore, we demonstrate the feasibility and applicability of such a novel work sharing strategy and thus open up a wide spectrum of future research opportunities.

Details

Original languageEnglish
Article number6
Pages (from-to)1215-1236
Number of pages22
JournalThe VLDB journal
Volume31
Issue number6
Publication statusPublished - 28 Apr 2022
Peer-reviewedYes

External IDs

Scopus 85128926947
dblp journals/vldb/PietrzykKHL22
Mendeley c208f2b2-22bd-3a9b-b5b4-03cd2292a6c2

Keywords

Keywords

  • Database systems, Query execution, SIMD, Vectorization, Work sharing

Library keywords