Uploaded image for project: 'MariaDB ColumnStore'
  1. MariaDB ColumnStore
  2. MCOL-4809

Vectorize column scanning/filtering

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 6.1.1
    • Fix Version/s: 6.3.1
    • Component/s: PrimProc
    • Labels:
      None

      Description

      As of now there is no way to vectorize the loops of the scanning/filtering code that resides in primitives/linux-port/column.*

      The basic logic is that for the column the mentioned code traverses the block of values:

      • skiping empty values
      • filtering the values using related filters from SQL statement
      • saving the values that satisfies into the output buffer
        The code optionally traverses the column block and touch only those values with specific RIDs sent from upper layers.

      The data processing is scalar here with lots of conditions that slows down execution.
      The suggested way is to refactor the code to leverage data prefetch and batch processing using SIMD instructions. The available CPU command set should be detected in runtime on PP startup or at least once per column block.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              alexey.antipovsky Alexey Antipovsky
              Reporter:
              drrtuy Roman
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.