Abstract
Modern CPUs follow multicore designs with multiple threads
running in parallel. The dataflow of query engine algorithms
needs to be adapted to exploit such designs. We
identify memory accesses and thread synchronization as the
main bottlenecks in a multicore execution environment. We
present a uniform framework to mitigate the impact of these
bottlenecks in multithreaded versions of the most frequently
used query processing algorithms, namely sorting, partitioning,
join evaluation, and aggregation. Through an analytical
model, we extract the expected behavior and scalability
of the proposed algorithms. We conduct an extensive experimental
analysis of both the analytical model and the
algorithms. Our results show that: (a) the analytical model
adequately captures the performance of the algorithms, and
(b) the algorithms themselves achieve considerable speedups
compared to their single-threaded counterparts.
| Original language | English |
|---|---|
| Title of host publication | 35th International Conference on Very Large Data Bases VLDB 2009 |
| Number of pages | 12 |
| Publication status | Published - 2009 |