[MCOL-4876] Separate values and RID vectors sent b/w filtering and PrimitiveProcessor runtimes Created: 2021-09-24  Updated: 2021-10-06  Resolved: 2021-10-05

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

Type: Task Priority: Major
Reporter: Roman Assignee: Roman
Resolution: Fixed Votes: 0
Labels: performance

Issue Links:
Relates
relates to MCOL-4809 Vectorize column scanning/filtering Closed
Sprint: 2021-11, 2021-12

 Description   

There are three modes of projection in the filtering code: OT_BOTH, OT_RID, OT_DATAVALUE. Filtering code sends back values in form of

  • OT_RID Array uint16_t rids
  • OT_DATAVALUE Array T values
  • OT_BOTH Array { uint16_t rid, T value }

    This form makes vectorized filtering processing slower so the suggestion is to separate two vectors to make writes in filterting code faster.
    The buffer for NewColResultHeader must be aligned by the sizeof(biggest integral data type available). It is 16 bytes now.
    This issue also addresses the fact that some buffers either aren't aligned at all(e.g. BPP::blockData) or aligned but are used by structures that effectively breaks the alignment(e.g. BPP::outputMsg).



 Comments   
Comment by Roman [ 2021-10-03 ]

Plz review.

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