Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-2846

Special case predicate evaluation for SIMD support

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.10.0
    • Component/s: perf, tserver
    • Labels:
      None

      Description

      In the common case of predicate evaluation on primitive types, we can likely improve performance as follows:

      • doing the comparisons while ignoring nullability and selectedness (any null or unselected cells may have junk data, which causes a junk comparison result)
      • take the resulting bitmask of comparison results and use bitwise ops to account for null/unselected cells to ensure that those result in a 'false' comparison

      For some types of comparisons this can result in SIMD operations. For others, at least, this will remove most branches from the path. This should speed up queries like TPCH Q6 which spends 25% of its time in predicate evaluation.

        Attachments

          Activity

            People

            • Assignee:
              tlipcon Todd Lipcon
              Reporter:
              tlipcon Todd Lipcon
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: