You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@quickstep.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/08/10 22:05:20 UTC
[jira] [Commented] (QUICKSTEP-28) Make multiple aggregations work
on a common hash table
[ https://issues.apache.org/jira/browse/QUICKSTEP-28?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15416105#comment-15416105 ]
ASF GitHub Bot commented on QUICKSTEP-28:
-----------------------------------------
GitHub user rathijit opened a pull request:
https://github.com/apache/incubator-quickstep/pull/90
Quickstep 28 29
More efficient handling of aggregations by having a combined payload in the hash table. This also removes ValueT parametrization for the hash table data structure. Please refer to JIRA tickets QUICKSTEP-28 and QUICKSTEP-29 for more details.
TPC-H query 01 sees significant performance improvements with these changes.
Currently, only SeparateChaining hash table type is supported.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/apache/incubator-quickstep quickstep-28-29
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-quickstep/pull/90.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #90
----
commit 39485d620402273890e92072e05f856fd9da7f9d
Author: rathijit <ra...@node-2.hashtable.quickstep-pg0.wisc.cloudlab.us>
Date: 2016-07-04T07:44:48Z
Initial commit for QUICKSTEP-28 and QUICKSTEP-29. Code refactoring and cleanup, some more optimizations are pending.
commit d9c9e6867d3cbd6ed6209e944a2b7d91748e40d3
Author: rathijit <ra...@node-2.aggregation.quickstep-pg0.wisc.cloudlab.us>
Date: 2016-08-05T11:00:12Z
Fixed 4 failures on unit tests
----
> Make multiple aggregations work on a common hash table
> ------------------------------------------------------
>
> Key: QUICKSTEP-28
> URL: https://issues.apache.org/jira/browse/QUICKSTEP-28
> Project: Apache Quickstep
> Issue Type: Improvement
> Components: Expressions, Storage
> Reporter: Rathijit Sen
> Labels: performance
>
> Currently each aggregation operation uses a separate hash table. This has the following disadvantages:
> * Multiple probes happen for the same key, once per hash table.
> * Space for keys is duplicated across hash tables.
> * Mutexes are acquired once per aggregation operation for each value.
> A more efficient design is to have a common hash table where the hash table payload for each key is partitioned among multiple aggregation handles.
> Changes are needed both to the aggregate and merge operations.
> Preliminary experiments suggest up to 3x speedup for TPC-H Q1 that has 8 aggregation operations.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)