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)