You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@quickstep.apache.org by "Jianqiao Zhu (JIRA)" <ji...@apache.org> on 2017/03/25 04:52:41 UTC

[jira] [Closed] (QUICKSTEP-70) Add CollisionFreeVectorTable to support specialized high-performance aggregation

     [ https://issues.apache.org/jira/browse/QUICKSTEP-70?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jianqiao Zhu closed QUICKSTEP-70.
---------------------------------
    Resolution: Implemented

The feature has been implemented with PR #179.

> Add CollisionFreeVectorTable to support specialized high-performance aggregation
> --------------------------------------------------------------------------------
>
>                 Key: QUICKSTEP-70
>                 URL: https://issues.apache.org/jira/browse/QUICKSTEP-70
>             Project: Apache Quickstep
>          Issue Type: Improvement
>          Components: Query Optimizer, Relational Operators, Storage
>            Reporter: Jianqiao Zhu
>            Assignee: Jianqiao Zhu
>
> This PR implements CollisionFreeVectorTable to support specialized high-performance aggregation.
> That is, when the group-by attribute is a range-bounded single attribute of int or long type. We can use a vector of type std::vector<std::atomic<StateT>> to store the aggregation states, where StateT is the aggregation state type (currently restricted to long and double). Then during aggregation, for each tuple, we locate the aggregation state with the group-by key's value as index to the state vector, and concurrently update the state with C++'s atomic primitives.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)