You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Xikui Wang (Code Review)" <do...@asterixdb.incubator.apache.org> on 2017/09/26 02:46:30 UTC

Change in asterixdb[master]: [ASTERIXDB-2086][RT] Use LinearProbeHashTable for InMemoryHa...

Hello Anon. E. Moose #1000171, Jenkins,

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

    https://asterix-gerrit.ics.uci.edu/1993

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

Change subject: [ASTERIXDB-2086][RT] Use LinearProbeHashTable for InMemoryHashJoin
......................................................................

[ASTERIXDB-2086][RT] Use LinearProbeHashTable for InMemoryHashJoin

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
The current SerializableHashTable used in InMemoryHashJoin is too
complicated and inefficient for in memory join. As the tuple number in
in memory join is fixed, we don't need to consider spill or overflow
issues. Also, SerializableHashTable will cause extra memory lookup (2
per each entry) and have larger probability to have cache misses.
LinearHashTable only needs 1 loopup per each entry and have better
chance to cache the hashtable.

Change-Id: I61e11d8223902cc34e81738660c1b3ed0ab86318
---
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoin.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoin.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/OptimizedHybridHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/IntSerDeBuffer.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/LinearProbeHashTable.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/structures/SimpleSerializableHashTable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/structures/LinearProbeHashTableTest.java
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/integration/TPCHCustomerOrderHashJoinTest.java
10 files changed, 404 insertions(+), 143 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/93/1993/3
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1993
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I61e11d8223902cc34e81738660c1b3ed0ab86318
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Xikui Wang <xk...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>