[MCOL-2222] Use JIT for aggregation functions Created: 2019-03-08  Updated: 2021-07-03  Resolved: 2021-07-03

Status: Closed
Project: MariaDB ColumnStore
Component/s: PrimProc
Affects Version/s: None
Fix Version/s: 6.1.1

Type: Bug Priority: Minor
Reporter: Roman Assignee: Roman
Resolution: Won't Do Votes: 0
Labels: gsoc19, gsoc20


 Description   

CS uses Volcano processing approach working on one value at a time. This is very inefficient way for analytics workload that usually uses lots of aggregation functions in projections, filtering or sorting.
We are interested in using JIT for basic aggregation functions: sum, avg, count, min, max. The patch must compile and run a program that processes and returns the aggregation function result. We were written this description having LLVM in mind as it is widespread and has a lots of examples in the wild.
I suggest to start looking at RowAggregation::addRowGroup() from ./utils/rowgroup/rowaggregation.cpp to get what it takmakees to get avg() function result.
Here is the link on how to build fast a CS developer environment.



 Comments   
Comment by Arhant Jain [ 2020-03-26 ]

Hi Roman,

Where I can look this rowaggregation.cpp file ?

Generated at Thu Feb 08 02:34:39 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.