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/02/05 04:10:41 UTC

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

Jianqiao Zhu created QUICKSTEP-70:
-------------------------------------

             Summary: 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)