Internal Jenkins has submitted this change and it was merged. 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 Reviewed-on: http://gerrit.cloudera.org:8080/3338 Reviewed-by: Jim Apple <[email protected]> Tested-by: Internal Jenkins --- 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(-) Approvals: Jim Apple: Looks good to me, approved Internal Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/3338 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I6fef4f6652876f8fd7e3f0e41431702380418c98 Gerrit-PatchSet: 11 Gerrit-Project: Impala Gerrit-Branch: cdh5-trunk Gerrit-Owner: Jim Apple <[email protected]> Gerrit-Reviewer: Dan Hecht <[email protected]> Gerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Jim Apple <[email protected]> Gerrit-Reviewer: Michael Brown <[email protected]> Gerrit-Reviewer: Mostafa Mokhtar <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]>
