Andrew Wong has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/14745 )

Change subject: [util] Import Impala's block based BloomFilter
......................................................................

[util] Import Impala's block based BloomFilter

This change imports Impala's block based BloomFilter(BF) that uses tiny
BloomFilters that are space, cache and hash efficient.
Plan is to use this BloomFilter for pushing down predicates from Impala.

Added this BloomFilter in kudu-util and renamed to BlockBloomFilter to
avoid name collision with existing BloomFilter in Kudu.

Removed dependencies on auto-generated code like Thrift/Protobuf,
Impala specific utilities like BufferPool, CPUInfo.

Added a simple BlockBloomFilterBufferAllocatorIf interface to allow
integration with Impala that uses its own BufferPool.
Added a DefaultBlockBloomFilterBufferAllocator implementation derived
from earlier version in Impala.

AVX2 operations are used which leads to following scenarios:
1) Compiler lacks AVX2 support.
Code is conditionally compiled using USE_AVX2 macro.
2) Compiler supports AVX2 but CPU at runtime does not.
Function pointers used to dispatch to generic implementation.
3) Compiler supports AVX2 and CPU at runtime does too.
Function pointers used to dispatch to AVX2 specific implementation.

Made bunch of cosmetic changes to adhere to coding style.

Change-Id: I89c54a051c5093cf5fb81481a47a0a6677d7d906
Reviewed-on: http://gerrit.cloudera.org:8080/14745
Tested-by: Kudu Jenkins
Reviewed-by: Alexey Serbin <[email protected]>
Reviewed-by: Andrew Wong <[email protected]>
---
M src/kudu/util/CMakeLists.txt
A src/kudu/util/block_bloom_filter-test.cc
A src/kudu/util/block_bloom_filter.cc
A src/kudu/util/block_bloom_filter.h
A src/kudu/util/block_bloom_filter_avx2.cc
M src/kudu/util/bloom_filter.h
6 files changed, 777 insertions(+), 0 deletions(-)

Approvals:
  Kudu Jenkins: Verified
  Alexey Serbin: Looks good to me, but someone else must approve
  Andrew Wong: Looks good to me, approved

--
To view, visit http://gerrit.cloudera.org:8080/14745
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I89c54a051c5093cf5fb81481a47a0a6677d7d906
Gerrit-Change-Number: 14745
Gerrit-PatchSet: 13
Gerrit-Owner: Bankim Bhavsar <[email protected]>
Gerrit-Reviewer: Adar Dembo <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Andrew Wong <[email protected]>
Gerrit-Reviewer: Bankim Bhavsar <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Thomas Tauber-Marshall <[email protected]>
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Tim Armstrong <[email protected]>
Gerrit-Reviewer: Todd Lipcon <[email protected]>
Gerrit-Reviewer: helifu <[email protected]>

Reply via email to