Search
Search Results
-
HYBRID EXECUTION OF QUERIES TO ANALYTICAL DATABASES
P. A. Kurapov2021-07-18Abstract ▼Analytical database engines should benefit from evolving heterogeneous distributed architectures
and utilize their resources efficiently: various accelerators, complex memory hierarchy,
and distributed nature of systems bring performance improvement opportunities. The article reviews
existing approaches for in-memory DBMS query executor implementation using hardware
accelerators, especially GPUs. Massive parallelism and high on-device memory bandwidth make
graphics processors a promising alternative as a core query evaluation device. Existing methods
do not utilize all modern hardware capabilities and usually are bound, performance-wise, by relatively
slow PCIe data transfer in a GPU-as-a-co-processor model for each kernel representing a
single relational algebra operator. Another existing approaches’ issue is explicit code base separation
for relational algebra operators code generation (for CPU and GPU) that significantly
limits possibilities of joint device usage for performance increase and make it less feasible. The
article presents an efficient query execution method using an example of two device classes (CPU
and GPU) by compiling queries into a single, device agnostic, intermediate representation (SPIRV)
and an approach for corresponding hybrid physical query plan optimization based on extended
classical “Exchange” operator with explicit control over heterogeneous resources and parallelism
level available. A cost model composition process using basic compute DBMS patterns benchmarking
and buses bandwidth data for both relational and auxiliary operators is proposed. Potential
processing speedup from holistic query optimization is estimated empirically with a commercial
open source DBMS OmniSci DB. Preliminary results show significant (3-8x, depending on
device choice) possible speedup even with just using the right device for the job.








