impala-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jim Apple (Code Review)" <ger...@cloudera.org>
Subject [Impala-CR](cdh5-trunk) Use AVX2 operations to speedup Bloom filters by 10-100%.
Date Tue, 21 Jun 2016 19:52:01 GMT
Hello Tim Armstrong,

I'd like you to reexamine a change.  Please visit

    http://gerrit.cloudera.org:8080/3338

to look at the new patch set (#10).

Change subject: Use AVX2 operations to speedup Bloom filters by 10-100%.
......................................................................

Use AVX2 operations to speedup Bloom filters by 10-100%.

As a reminder, our Bloom filters use so-called "block" Bloom filters,
in which each Bloom filter is actually a set of tiny Bloom fitlers,
each the size of a cache line.

The big idea is to make the tiny Bloom filters that make up a large
Bloom filter the size of AVX2 registers (256 bits) rather than cache
lines (512 bits). This enables a number of SIMD optimizations, and the
resulting AVX2 code does not need loops or conditionals.

Impala supports machines that do not have AVX2 instructions, so the
fast path is only conditionally enabled. Checking whether AVX2
instructions are available does not seem to hurt operation speed,
perhaps because the branch becomes very easy to predict.

Change-Id: I6fef4f6652876f8fd7e3f0e41431702380418c98
---
M be/src/benchmarks/bloom-filter-benchmark.cc
M be/src/util/bloom-filter-test.cc
M be/src/util/bloom-filter.cc
M be/src/util/bloom-filter.h
M be/src/util/cpu-info.cc
M be/src/util/cpu-info.h
6 files changed, 342 insertions(+), 126 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala refs/changes/38/3338/10
-- 
To view, visit http://gerrit.cloudera.org:8080/3338
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I6fef4f6652876f8fd7e3f0e41431702380418c98
Gerrit-PatchSet: 10
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Jim Apple <jbapple@cloudera.com>
Gerrit-Reviewer: Dan Hecht <dhecht@cloudera.com>
Gerrit-Reviewer: Jim Apple <jbapple@cloudera.com>
Gerrit-Reviewer: Mostafa Mokhtar <mmokhtar@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <tarmstrong@cloudera.com>

Mime
View raw message